From a6ae64aec8c4798c53d979f70513caf09d849f9e Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Thu, 2 Aug 2018 17:46:19 +0200 Subject: [PATCH] cutadapt: nf file add file_id var for single-end like for paired --- src/nf_modules/cutadapt/cutadapt.nf | 29 +++++++++---------- .../cutadapt/tests/adaptor_removal_single.nf | 11 +++---- src/nf_modules/cutadapt/tests/tests.sh | 4 +-- .../cutadapt/tests/trimming_single.nf | 11 +++---- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/src/nf_modules/cutadapt/cutadapt.nf b/src/nf_modules/cutadapt/cutadapt.nf index 204a9e5..c742863 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 dc889a0..26f3cd7 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 a684410..68623db 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 c2dd262..9b3764d 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 """ } -- GitLab