code: def contamination(args):
      
      from jcvi.apps.bowtie import align
  
      p = OptionParser(contamination.__doc__)
      p.add_option("--mapped", default=False, action="store_true",
                   help="Retain contaminated reads instead [default: %default]")
      p.set_cutoff(cutoff=800)
      p.set_mateorientation(mateorientation="+-")
      opts, args = p.parse_args(args)
  
      if len(args) != 2:
          sys.exit(not p.print_help())
  
      folder, ecoli = args
      ecoli = get_abs_path(ecoli)
      tag = "--mapped" if opts.mapped else "--unmapped"
      for p, pf in iter_project(folder):
          align_opts = [ecoli] + p + [tag]
          align_opts += ["--cutoff={0}".format(opts.cutoff), "--null"]
          if opts.mateorientation:
              align_opts += ["--mateorientation={0}".format(opts.mateorientation)]
          samfile, logfile = align(align_opts)
docs: %prog contamination folder Ecoli.fasta
  
      Remove contaminated reads. The FASTQ files in the folder will automatically
      pair and filtered against Ecoli.fasta to remove contaminants using BOWTIE2.