code: def _cutadapt_trim_cmd(fastq_files, quality_format, adapters, out_files, data):
      
      if all([utils.file_exists(x) for x in out_files]):
          return out_files
      if quality_format == "illumina":
          quality_base = "64"
      else:
          quality_base = "33"
  
      # --times=2 tries twice remove adapters which will allow things like:
      # realsequenceAAAAAAadapter to remove both the poly-A and the adapter
      # this behavior might not be what we want; we could also do two or
      # more passes of cutadapt
      cutadapt = os.path.join(os.path.dirname(sys.executable), "cutadapt")
      adapter_cmd = " ".join(map(lambda x: "-a " + x, adapters))
      ropts = " ".join(str(x) for x in
                       config_utils.get_resources("cutadapt", data["config"]).get("options", []))
      base_cmd = ("{cutadapt} {ropts} --times=2 --quality-base={quality_base} "
                  "--quality-cutoff=5 --format=fastq "
                  "{adapter_cmd} ").format(**locals())
      if len(fastq_files) == 2:
          # support for the single-command paired trimming introduced in
          # cutadapt 1.8
          adapter_cmd = adapter_cmd.replace("-a ", "-A ")
          base_cmd += "{adapter_cmd} ".format(adapter_cmd=adapter_cmd)
          return _cutadapt_pe_cmd(fastq_files, out_files, quality_format, base_cmd, data)
      else:
          return _cutadapt_se_cmd(fastq_files, out_files, base_cmd, data)
docs: Trimming with cutadapt, using version installed with bcbio-nextgen.