diff --git a/src/nf_modules/cutadapt/cutadapt.nf b/src/nf_modules/cutadapt/cutadapt.nf
index 7273441c34f925679120b908dfd7a73eec4b3ba6..b5f69fb152c4134bed8ed04a6d135e81da8d1668 100644
--- a/src/nf_modules/cutadapt/cutadapt.nf
+++ b/src/nf_modules/cutadapt/cutadapt.nf
@@ -3,7 +3,7 @@
 * Imputs : fastq files
 */
 
-/*                      Illumina adaptor removal
+/*                      Illumina adaptor removal                             */
 
 /*
 * for paired-end data
@@ -25,7 +25,7 @@ process adaptor_removal {
   set pair_id, file(reads) from fastq_files
 
   output:
-  set "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
+  file "*_cut_R{1,2}.fastq.gz" into fastq_files_cut
 
   script:
   """
@@ -65,3 +65,69 @@ process adaptor_removal {
   """
 }
 
+/*                      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
+  """
+}
+