code: def dust2bed(args):
      
      from jcvi.formats.base import read_block
  
      p = OptionParser(dust2bed.__doc__)
      opts, args = p.parse_args(args)
  
      if len(args) != 1:
          sys.exit(not p.print_help())
  
      fastafile, = args
      interval = fastafile + ".iv"
      if need_update(fastafile, interval):
          cmd = "dustmasker -in {0}".format(fastafile)
          sh(cmd, outfile=interval)
  
      fp = open(interval)
      bedfile = fastafile.rsplit(".", 1)[0] + ".dust.bed"
      fw = must_open(bedfile, "w")
      nlines = 0
      nbases = 0
      for header, block in read_block(fp, ">"):
          header = header.strip(">")
          for b in block:
              start, end = b.split(" - ")
              start, end = int(start), int(end)
              print("\t".join(str(x) for x in (header, start, end)), file=fw)
              nlines += 1
              nbases += end - start
      logging.debug("A total of {0} DUST intervals ({1} bp) exported to `{2}`".\
                      format(nlines, nbases, bedfile))
docs: %prog dust2bed fastafile
  
      Use dustmasker to find low-complexity regions (LCRs) in the genome.