diff --git a/src/nf_modules/cutadapt/cutadapt.nf b/src/nf_modules/cutadapt/cutadapt.nf index 204a9e5a5e34ecef5b47e1892bc0ac9e0f6a1760..c7428637e75eb7bef584d6d42aba48e3006fe0fa 100644 --- a/src/nf_modules/cutadapt/cutadapt.nf +++ b/src/nf_modules/cutadapt/cutadapt.nf @@ -41,33 +41,32 @@ process adaptor_removal { * 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}" } + .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]} .set { fastq_files } process adaptor_removal { - tag "$reads.baseName" - publishDir "results/fastq/adaptor_removal/", mode: 'copy' + tag "$file_id" input: - file reads from fastq_files + set file_id, file(reads) from fastq_files output: - file "*_cut.fastq.gz" into fastq_files_cut + set file_id, "*_cut.fastq.gz" into fastq_files_cut script: """ cutadapt -a AGATCGGAAGAG -g CTCTTCCGATCT\ - -o ${reads.baseName}_cut.fastq.gz \ - ${reads} > ${reads.baseName}_report.txt + -o ${file_id}_cut.fastq.gz \ + ${reads} > ${file_id}_report.txt """ } + /* quality trimming */ /* @@ -105,30 +104,28 @@ process trimming { * 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}" } + .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]} .set { fastq_files } process trimming { - tag "$reads.baseName" - publishDir "results/fastq/trimming/", mode: 'copy' + tag "$file_id" input: - file reads from fastq_files + set file_id, file(reads) from fastq_files output: - file "*_trim.fastq.gz" into fastq_files_trim + set file_id, "*_trim.fastq.gz" into fastq_files_cut script: """ cutadapt -q 20,20 \ - -o ${reads.baseName}_trim.fastq.gz \ - ${reads} > ${reads.baseName}_report.txt + -o ${file_id}_trim.fastq.gz \ + ${reads} > ${file_id}_report.txt """ } diff --git a/src/nf_modules/cutadapt/tests/adaptor_removal_single.nf b/src/nf_modules/cutadapt/tests/adaptor_removal_single.nf index dc889a0e26d12e90f4913ee2043f60e6f930df4d..26f3cd7602bf242f718a027bad253ba2fe1e8d8c 100644 --- a/src/nf_modules/cutadapt/tests/adaptor_removal_single.nf +++ b/src/nf_modules/cutadapt/tests/adaptor_removal_single.nf @@ -3,22 +3,23 @@ log.info "fastq files : ${params.fastq}" Channel .fromPath( params.fastq ) .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" } + .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]} .set { fastq_files } process adaptor_removal { - tag "$reads.baseName" + tag "$file_id" input: - file reads from fastq_files + set file_id, file(reads) from fastq_files output: - file "*_cut.fastq.gz" into fastq_files_cut + set file_id, "*_cut.fastq.gz" into fastq_files_cut script: """ cutadapt -a AGATCGGAAGAG -g CTCTTCCGATCT\ - -o ${reads.baseName}_cut.fastq.gz \ - ${reads} > ${reads.baseName}_report.txt + -o ${file_id}_cut.fastq.gz \ + ${reads} > ${file_id}_report.txt """ } diff --git a/src/nf_modules/cutadapt/tests/tests.sh b/src/nf_modules/cutadapt/tests/tests.sh index a684410cf8234c3b5172679ea9de8198decf02e8..68623dbb2b54a87cc80bacefa28a25a7676acdae 100755 --- a/src/nf_modules/cutadapt/tests/tests.sh +++ b/src/nf_modules/cutadapt/tests/tests.sh @@ -6,7 +6,7 @@ nextflow src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf \ nextflow src/nf_modules/cutadapt/tests/adaptor_removal_single.nf \ -c src/nf_modules/cutadapt/cutadapt.config \ -profile docker \ - --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" + --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" nextflow src/nf_modules/cutadapt/tests/trimming_paired.nf \ -c src/nf_modules/cutadapt/cutadapt.config \ @@ -16,4 +16,4 @@ nextflow src/nf_modules/cutadapt/tests/trimming_paired.nf \ nextflow src/nf_modules/cutadapt/tests/trimming_single.nf \ -c src/nf_modules/cutadapt/cutadapt.config \ -profile docker \ - --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" + --fastq "data/tiny_dataset/fastq/tiny*_S.fastq" diff --git a/src/nf_modules/cutadapt/tests/trimming_single.nf b/src/nf_modules/cutadapt/tests/trimming_single.nf index c2dd2627da7d3b989b556c479ca86a43897e4898..9b3764dbed4dd51bfb361b56b4f5fc737b18c270 100644 --- a/src/nf_modules/cutadapt/tests/trimming_single.nf +++ b/src/nf_modules/cutadapt/tests/trimming_single.nf @@ -3,22 +3,23 @@ log.info "fastq files : ${params.fastq}" Channel .fromPath( params.fastq ) .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" } + .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]} .set { fastq_files } process trimming { - tag "$reads.baseName" + tag "$file_id" input: - file reads from fastq_files + set file_id, file(reads) from fastq_files output: - file "*_trim.fastq.gz" into fastq_files_cut + set file_id, "*_trim.fastq.gz" into fastq_files_cut script: """ cutadapt -q 20,20 \ - -o ${reads.baseName}_trim.fastq.gz \ - ${reads} > ${reads.baseName}_report.txt + -o ${file_id}_trim.fastq.gz \ + ${reads} > ${file_id}_report.txt """ }