Skip to content
Snippets Groups Projects
Select Git revision
  • c99e5a39eef82b84b31c1b71f36a06b760b36749
  • master default protected
  • dev
  • v2.0.0
  • v0.4.0
  • v0.3.0
  • v0.2.9
  • v0.2.8
  • v0.2.7
  • v0.2.6
  • v0.1.0
  • v0.2.5
  • v0.2.4
  • v0.2.3
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.2
18 results

README.md

Blame
  • cutadapt.nf 2.81 KiB
    /*
    * cutadapt :
    * Imputs : fastq files
    */
    
    /*                      Illumina adaptor removal                             */
    
    /*
    * for paired-end data
    */
    
    params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
    
    log.info "fastq files : ${params.fastq}"
    
    Channel
      .fromFilePairs( params.fastq )
      .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
      .set { fastq_files }
    
    process adaptor_removal {
      tag "$pair_id"
    
      input:
      set pair_id, file(reads) from fastq_files
    
      output:
      file "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
    
      script:
      """
      cutadapt -a AGATCGGAAGAG -g CTCTTCCGATCT -A AGATCGGAAGAG -G CTCTTCCGATCT \
      -o ${pair_id}_cut_R1.fastq.gz -p ${pair_id}_cut_R2.fastq.gz \
      ${reads[0]} ${reads[1]} > ${pair_id}_report.txt
      """
    }
    
    /*
    * for single-end data
    */
    
    params.fastq = "$baseDir/data/fastq/*.fastq"
    
    log.info "fastq files : ${params.fastq}"
    
    Channel
      .fromPath( params.fastq )
      .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
      .set { fastq_files }
    
    process adaptor_removal {
      tag "$reads.baseName"
    
      input:
      file reads from fastq_files
    
      output:
      file "*_cut.fastq.gz" into fastq_files_cut
    
      script:
      """
      cutadapt -a AGATCGGAAGAG -g CTCTTCCGATCT\
      -o ${reads.baseName}_cut.fastq.gz \
      ${reads} > ${reads.baseName}_report.txt
      """
    }
    
    /*                      quality trimming                                     */
    
    ${this.params.cutadapt} -q ${this.params.quality_threshold},${this.params.quality_threshold} -o ${tagname}_trim_R1.fastq.gz -p ${tagname}_trim_R2.fastq.gz ${file[0]} ${file[1]} > ${tagname}_cutadapt_report.txt"
    
    ${this.params.cutadapt} -q ${this.params.quality_threshold},${this.params.quality_threshold} -o ${tagname}_trim.fastq.gz ${file} > ${tagname}_cutadapt_report.txt
    
    /*
    * for paired-end data
    */
    
    params.fastq = "$baseDir/data/fastq/*_{1,2}.fastq"
    
    log.info "fastq files : ${params.fastq}"
    
    Channel
      .fromFilePairs( params.fastq )
      .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
      .set { fastq_files }
    
    process trimming {
      tag "$pair_id"
    
      input:
      set pair_id, file(reads) from fastq_files
    
      output:
      file "*_trim_R{1,2}.fastq.gz" into fastq_files_cut
    
      script:
      """
      cutadapt -q 20,20 \
      -o ${pair_id}_trim_R1.fastq.gz -p ${pair_id}_trim_R2.fastq.gz \
      ${reads[0]} ${reads[1]} > ${pair_id}_report.txt
      """
    }
    
    /*
    * for single-end data
    */
    
    params.fastq = "$baseDir/data/fastq/*.fastq"
    
    log.info "fastq files : ${params.fastq}"
    
    Channel
      .fromPath( params.fastq )
      .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
      .set { fastq_files }
    
    process trimming {
      tag "$reads.baseName"
    
      input:
      file reads from fastq_files
    
      output:
      file "*_trim.fastq.gz" into fastq_files_cut
    
      script:
      """
      cutadapt -q 20,20 \
      -o ${reads.baseName}_trim.fastq.gz \
      ${reads} > ${reads.baseName}_report.txt
      """
    }