From 86a16ba60f367b6ad9fef1bc5e0b3389693fcabe Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Fri, 1 Jun 2018 14:39:08 +0200 Subject: [PATCH] UrQt: add tests, nf and config --- src/nf_modules/UrQt/tests/tests.sh | 9 +++ src/nf_modules/UrQt/tests/trimming_paired.nf | 25 +++++++ src/nf_modules/UrQt/tests/trimming_single.nf | 28 ++++++++ src/nf_modules/UrQt/urqt.config | 16 +++++ src/nf_modules/UrQt/urqt.nf | 71 ++++++++++++++++++++ src/nf_modules/cutadapt/tests/tests.sh | 8 +-- 6 files changed, 153 insertions(+), 4 deletions(-) create mode 100644 src/nf_modules/UrQt/tests/tests.sh create mode 100644 src/nf_modules/UrQt/tests/trimming_paired.nf create mode 100644 src/nf_modules/UrQt/tests/trimming_single.nf create mode 100644 src/nf_modules/UrQt/urqt.config create mode 100644 src/nf_modules/UrQt/urqt.nf diff --git a/src/nf_modules/UrQt/tests/tests.sh b/src/nf_modules/UrQt/tests/tests.sh new file mode 100644 index 0000000..49099e2 --- /dev/null +++ b/src/nf_modules/UrQt/tests/tests.sh @@ -0,0 +1,9 @@ +nextflow src/nf_modules/UrQt/tests/trimming_paired.nf \ + -c src/nf_modules/UrQt/UrQt.config \ + -profile docker \ + --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" + +nextflow src/nf_modules/UrQt/tests/trimming_single.nf \ + -c src/nf_modules/UrQt/UrQt.config \ + -profile docker \ + --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" diff --git a/src/nf_modules/UrQt/tests/trimming_paired.nf b/src/nf_modules/UrQt/tests/trimming_paired.nf new file mode 100644 index 0000000..4c289c0 --- /dev/null +++ b/src/nf_modules/UrQt/tests/trimming_paired.nf @@ -0,0 +1,25 @@ +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" + cpus 4 + + input: + set pair_id, file(reads) from fastq_files + + output: + file "*_trim_R{1,2}.fastq.gz" into fastq_files_cut + + script: +""" +UrQt --t 20 --m ${task.cpus} --gz \ +--in ${reads[0]} --inpair ${reads[1]} \ +--out ${pair_id}_trim_R1.fastq.gz --outpair ${pair_id}_trim_R2.fastq.gz \ +> ${pair_id}_trimming_report.txt +""" +} diff --git a/src/nf_modules/UrQt/tests/trimming_single.nf b/src/nf_modules/UrQt/tests/trimming_single.nf new file mode 100644 index 0000000..3160f3b --- /dev/null +++ b/src/nf_modules/UrQt/tests/trimming_single.nf @@ -0,0 +1,28 @@ +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" + cpus 4 + + input: + file reads from fastq_files + + output: + file "*_trim.fastq.gz" into fastq_files_trim + + script: + """ + UrQt --t 20 --m ${task.cpus} --gz \ + --in ${reads} \ + --out ${reads.baseName}_trim.fastq.gz \ + > ${reads.baseName}_trimming_report.txt + """ +} + diff --git a/src/nf_modules/UrQt/urqt.config b/src/nf_modules/UrQt/urqt.config new file mode 100644 index 0000000..0309d09 --- /dev/null +++ b/src/nf_modules/UrQt/urqt.config @@ -0,0 +1,16 @@ +profiles { + docker { + process { + $trimming { + container = "urqt:d62c1f8" + } + } + } + sge { + process{ + $trimming { + beforeScript = "module purge; module load UrQt/d62c1f8" + } + } + } +} diff --git a/src/nf_modules/UrQt/urqt.nf b/src/nf_modules/UrQt/urqt.nf new file mode 100644 index 0000000..4c0d07c --- /dev/null +++ b/src/nf_modules/UrQt/urqt.nf @@ -0,0 +1,71 @@ +/* +* urqt : +* Imputs : fastq files +* Output : fastq files +*/ +/* quality trimming */ + +/* +* 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" + cpus 4 + + input: + set pair_id, file(reads) from fastq_files + + output: + file "*_trim_R{1,2}.fastq.gz" into fastq_files_cut + + script: +""" +UrQt --t 20 --m ${task.cpus} --gz \ +--in ${reads[0]} --inpair ${reads[1]} \ +--out ${pair_id}_trim_R1.fastq.gz --outpair ${pair_id}_trim_R2.fastq.gz \ +> ${pair_id}_trimming_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" + cpus 4 + + input: + file reads from fastq_files + + output: + file "*_trim.fastq.gz" into fastq_files_trim + + script: +""" +UrQt --t 20 --m ${task.cpus} --gz \ +--in ${reads} \ +--out ${reads.baseName}_trim.fastq.gz \ +> ${reads.baseName}_trimming_report.txt +""" +} + diff --git a/src/nf_modules/cutadapt/tests/tests.sh b/src/nf_modules/cutadapt/tests/tests.sh index 9651978..a684410 100644 --- a/src/nf_modules/cutadapt/tests/tests.sh +++ b/src/nf_modules/cutadapt/tests/tests.sh @@ -1,19 +1,19 @@ -nextflow src/nf_modules/cutadapt/test/adaptor_removal_paired.nf \ +nextflow src/nf_modules/cutadapt/tests/adaptor_removal_paired.nf \ -c src/nf_modules/cutadapt/cutadapt.config \ -profile docker \ --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" -nextflow src/nf_modules/cutadapt/test/adaptor_removal_single.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" -nextflow src/nf_modules/cutadapt/test/trimming_paired.nf \ +nextflow src/nf_modules/cutadapt/tests/trimming_paired.nf \ -c src/nf_modules/cutadapt/cutadapt.config \ -profile docker \ --fastq "data/tiny_dataset/fastq/tiny_R{1,2}.fastq" -nextflow src/nf_modules/cutadapt/test/trimming_single.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" -- GitLab