code: def mask(args):
      
      p = OptionParser(mask.__doc__)
      p.add_option("--db",
                   help="Contaminant db other than Ecoli K12 [default: %default]")
      opts, args = p.parse_args(args)
  
      if len(args) != 1:
          sys.exit(not p.print_help())
  
      fastafile, = args
      assert op.exists(fastafile)
  
      outfastafile = fastafile.rsplit(".", 1)[0] + ".masked.fasta"
      vecbedfile = blast([fastafile])
      ecoliurl = \
      "ftp://ftp.ncbi.nih.gov/genomes/Bacteria/Escherichia_coli_K_12_substr__DH10B_uid58979/NC_010473.fna"
      ecolifile = opts.db or download(ecoliurl, filename="Ecoli.fasta")
      assert op.exists(ecolifile)
      ecolibedfile = blast([fastafile, "--db={0}".format(ecolifile)])
  
      cmd = "cat {0} {1}".format(vecbedfile, ecolibedfile)
      cmd += " | mergeBed -nms -d 100 -i stdin"
      cmd += " | maskFastaFromBed -fi {0} -bed stdin -fo {1}".\
              format(fastafile, outfastafile)
      sh(cmd)
  
      return tidy([outfastafile])
docs: %prog mask fastafile
  
      Mask the contaminants. By default, this will compare against UniVec_Core and
      Ecoli.fasta. Merge the contaminant results, and use `maskFastaFromBed`. Can
      perform FASTA tidy if requested.