From 81a2d4bb7984248a13736ac9aa74cf452b0d5b95 Mon Sep 17 00:00:00 2001
From: Laurent Modolo <laurent.modolo@ens-lyon.fr>
Date: Thu, 2 Aug 2018 16:51:11 +0200
Subject: [PATCH] Bowtie2: modify single-end to have a file_id variable like
 for paired-end

---
 src/nf_modules/Bowtie2/bowtie2.nf              | 13 +++++++------
 src/nf_modules/Bowtie2/tests/mapping_single.nf | 13 +++++++------
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/nf_modules/Bowtie2/bowtie2.nf b/src/nf_modules/Bowtie2/bowtie2.nf
index d35c344..efee164 100644
--- a/src/nf_modules/Bowtie2/bowtie2.nf
+++ b/src/nf_modules/Bowtie2/bowtie2.nf
@@ -101,6 +101,7 @@ log.info "index files : ${params.index}"
 Channel
   .fromPath( params.fastq )
   .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
+  .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
   .set { fastq_files }
 Channel
   .fromPath( params.index )
@@ -108,16 +109,16 @@ Channel
   .set { index_files }
 
 process mapping_fastq {
-  tag "$reads.baseName"
+  tag "$file_id"
   cpus 4
   publishDir "results/mapping/bams/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set file_id, file(reads) from fastq_files
   file index from index_files.collect()
 
   output:
-  file "*.bam" into bam_files
+  set file_id, "*.bam" into bam_files
   file "*_report.txt" into mapping_report
 
   script:
@@ -130,10 +131,10 @@ process mapping_fastq {
 """
 bowtie2 --very-sensitive -p ${task.cpus} -x ${index_id} \
 -U ${reads} 2> \
-${reads.baseName}_bowtie2_report.txt | \
-samtools view -Sb - > ${reads.baseName}.bam
+${file_id}_bowtie2_report.txt | \
+samtools view -Sb - > ${file_id}.bam
 
-if grep -q "Error" ${reads.baseName}_bowtie2_report.txt; then
+if grep -q "Error" ${file_id}_bowtie2_report.txt; then
   exit 1
 fi
 """
diff --git a/src/nf_modules/Bowtie2/tests/mapping_single.nf b/src/nf_modules/Bowtie2/tests/mapping_single.nf
index 5f6a9de..6667699 100644
--- a/src/nf_modules/Bowtie2/tests/mapping_single.nf
+++ b/src/nf_modules/Bowtie2/tests/mapping_single.nf
@@ -6,6 +6,7 @@ log.info "index files : ${params.index}"
 Channel
   .fromPath( params.fastq )
   .ifEmpty { error "Cannot find any fastq files matching: ${params.fastq}" }
+  .map { it -> [(it.baseName =~ /([^\.]*)/)[0][1], it]}
   .set { fastq_files }
 Channel
   .fromPath( params.index )
@@ -13,16 +14,16 @@ Channel
   .set { index_files }
 
 process mapping_fastq {
-  tag "$reads.baseName"
+  tag "$file_id"
   cpus 4
   publishDir "results/mapping/bams/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set file_id, file(reads) from fastq_files
   file index from index_files.collect()
 
   output:
-  file "*.bam" into bam_files
+  set file_id, "*.bam" into bam_files
   file "*_report.txt" into mapping_report
 
   script:
@@ -35,10 +36,10 @@ process mapping_fastq {
 """
 bowtie2 --very-sensitive -p ${task.cpus} -x ${index_id} \
 -U ${reads} 2> \
-${reads.baseName}_bowtie2_report.txt | \
-samtools view -Sb - > ${reads.baseName}.bam
+${file_id}_bowtie2_report.txt | \
+samtools view -Sb - > ${file_id}.bam
 
-if grep -q "Error" ${reads.baseName}_bowtie2_report.txt; then
+if grep -q "Error" ${file_id}_bowtie2_report.txt; then
   exit 1
 fi
 """
-- 
GitLab