diff --git a/src/nf_modules/UrQt/tests/tests.sh b/src/nf_modules/UrQt/tests/tests.sh new file mode 100644 index 0000000000000000000000000000000000000000..49099e2189dee512fecf84da9cc858c62ff97591 --- /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 0000000000000000000000000000000000000000..4c289c0e94c70fe9c621a716358b7526b0ce1a14 --- /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 0000000000000000000000000000000000000000..3160f3b6c4cf075a78ec6e7155f2c18559660ad3 --- /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 0000000000000000000000000000000000000000..0309d0994b377a243fd90825803ab563d3ab9e98 --- /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 0000000000000000000000000000000000000000..4c0d07c988143e59eb1090675bce333e99a829a3 --- /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 9651978b62121b80ece061e22efec69f6b8b2faa..a684410cf8234c3b5172679ea9de8198decf02e8 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"