From d0d8b68b3f139cf439b2249359c1f3857df929c5 Mon Sep 17 00:00:00 2001 From: Laurent Modolo <laurent.modolo@ens-lyon.fr> Date: Thu, 26 Jul 2018 11:16:44 +0200 Subject: [PATCH] bowtie2.nf: improve root finding of index file name as asked by @elabaron --- src/nf_modules/Bowtie2/bowtie2.nf | 22 ++++++++++++------- .../Bowtie2/tests/mapping_paired.nf | 14 ++++++++---- .../Bowtie2/tests/mapping_single.nf | 8 ++++++- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/nf_modules/Bowtie2/bowtie2.nf b/src/nf_modules/Bowtie2/bowtie2.nf index 30b7531..e5cd169 100644 --- a/src/nf_modules/Bowtie2/bowtie2.nf +++ b/src/nf_modules/Bowtie2/bowtie2.nf @@ -57,25 +57,31 @@ Channel .set { index_files } process mapping_fastq { - tag "$pair_id" + tag "$reads.baseName" cpus 4 publishDir "results/mapping/bams/", mode: 'copy' input: - set pair_id, file(reads) from fastq_files + file reads from fastq_files file index from index_files.toList() output: - set pair_id, "*.bam" into bam_files + file "*.bam" into bam_files script: + index_id = index[0] + for (index_file in index) { + if (index_file =~ /.*\.1\.bt2/) { + index_id = ( index_file =~ /(.*)\.1\.bt2/)[0][1] + } + } """ - bowtie2 --very-sensitive -p ${task.cpus} -x ${index[0].baseName} \ - -1 ${reads[0]} -2 ${reads[1]} 2> \ - ${pair_id}_bowtie2_report.txt | \ - samtools view -Sb - > ${pair_id}.bam +bowtie2 --very_sensitive -p ${task.cpus} -x ${index_id} \ +-U ${reads} 2> \ +${reads.baseName}_bowtie2_report.txt | \ +samtools view -Sb - > ${reads.baseName}.bam -if grep -q "Error" ${pair_id}_bowtie2_report.txt; then +if grep -q "Error" ${reads.baseName}_bowtie2_report.txt; then exit 1 fi """ diff --git a/src/nf_modules/Bowtie2/tests/mapping_paired.nf b/src/nf_modules/Bowtie2/tests/mapping_paired.nf index 835d0ca..0a16565 100644 --- a/src/nf_modules/Bowtie2/tests/mapping_paired.nf +++ b/src/nf_modules/Bowtie2/tests/mapping_paired.nf @@ -26,11 +26,17 @@ process mapping_fastq { set pair_id, "*.bam" into bam_files script: + index_id = index[0] + for (index_file in index) { + if (index_file =~ /.*\.1\.bt2/) { + index_id = ( index_file =~ /(.*)\.1\.bt2/)[0][1] + } + } """ - bowtie2 --very-sensitive -p ${task.cpus} -x ${index[0].baseName} \ - -1 ${reads[0]} -2 ${reads[1]} 2> \ - ${pair_id}_bowtie2_report.txt | \ - samtools view -Sb - > ${pair_id}.bam +bowtie2 --very-sensitive -p ${task.cpus} -x ${index_id} \ +-1 ${reads[0]} -2 ${reads[1]} 2> \ +${pair_id}_bowtie2_report.txt | \ +samtools view -Sb - > ${pair_id}.bam if grep -q "Error" ${pair_id}_bowtie2_report.txt; then exit 1 diff --git a/src/nf_modules/Bowtie2/tests/mapping_single.nf b/src/nf_modules/Bowtie2/tests/mapping_single.nf index c5c7f58..201c32c 100644 --- a/src/nf_modules/Bowtie2/tests/mapping_single.nf +++ b/src/nf_modules/Bowtie2/tests/mapping_single.nf @@ -25,8 +25,14 @@ process mapping_fastq { file "*.bam" into bam_files script: + index_id = index[0] + for (index_file in index) { + if (index_file =~ /.*\.1\.bt2/) { + index_id = ( index_file =~ /(.*)\.1\.bt2/)[0][1] + } + } """ -bowtie2 --very_sensitive -p ${task.cpus} -x ${index[0].baseName} \ +bowtie2 --very_sensitive -p ${task.cpus} -x ${index_id} \ -U ${reads} 2> \ ${reads.baseName}_bowtie2_report.txt | \ samtools view -Sb - > ${reads.baseName}.bam -- GitLab