From 2ce056071b081793783b7c880d012ea35f801b33 Mon Sep 17 00:00:00 2001
From: Laurent Modolo <laurent.modolo@ens-lyon.fr>
Date: Thu, 2 Aug 2018 17:27:31 +0200
Subject: [PATCH] Kallisto: nf add file_id var for single-end like for
 paired-end

---
 src/nf_modules/Kallisto/kallisto.nf             | 16 +++++++++-------
 src/nf_modules/Kallisto/tests/mapping_single.nf | 11 ++++++-----
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/src/nf_modules/Kallisto/kallisto.nf b/src/nf_modules/Kallisto/kallisto.nf
index cd7b1ea..ae6b6b7 100644
--- a/src/nf_modules/Kallisto/kallisto.nf
+++ b/src/nf_modules/Kallisto/kallisto.nf
@@ -91,6 +91,7 @@ log.info "sd read size: ${params.sd}"
 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 )
@@ -98,12 +99,12 @@ Channel
   .set { index_files }
 
 process mapping_fastq {
-  tag "$reads.baseName"
+  tag "$file_id"
   cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set file_id, file(reads) from fastq_files
   file index from index_files.collect()
 
   output:
@@ -111,11 +112,12 @@ process mapping_fastq {
 
   script:
 """
-mkdir ${reads.baseName}
-kallisto quant -i ${index} -t ${task.cpus} --single
---bias --bootstrap-samples 100 -o ${reads.baseName} \
--l ${params.mean} -s ${params.sd} -o ./ \
-${reads} > ${reads.baseName}_kallisto_report.txt
+mkdir ${file_id}
+kallisto quant -i ${index} -t ${task.cpus} --single \
+--bias --bootstrap-samples 100 -o ${file_id} \
+-l ${params.mean} -s ${params.sd} \
+${reads} > ${file_id}_kallisto_report.txt
 """
 }
 
+
diff --git a/src/nf_modules/Kallisto/tests/mapping_single.nf b/src/nf_modules/Kallisto/tests/mapping_single.nf
index 69e3a6f..cba5aff 100644
--- a/src/nf_modules/Kallisto/tests/mapping_single.nf
+++ b/src/nf_modules/Kallisto/tests/mapping_single.nf
@@ -11,6 +11,7 @@ log.info "sd read size: ${params.sd}"
 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 )
@@ -18,12 +19,12 @@ Channel
   .set { index_files }
 
 process mapping_fastq {
-  tag "$reads.baseName"
+  tag "$file_id"
   cpus 4
   publishDir "results/mapping/quantification/", mode: 'copy'
 
   input:
-  file reads from fastq_files
+  set file_id, file(reads) from fastq_files
   file index from index_files.collect()
 
   output:
@@ -31,11 +32,11 @@ process mapping_fastq {
 
   script:
 """
-mkdir ${reads.baseName}
+mkdir ${file_id}
 kallisto quant -i ${index} -t ${task.cpus} --single \
---bias --bootstrap-samples 100 -o ${reads.baseName} \
+--bias --bootstrap-samples 100 -o ${file_id} \
 -l ${params.mean} -s ${params.sd} \
-${reads} > ${reads.baseName}_kallisto_report.txt
+${reads} > ${file_id}_kallisto_report.txt
 """
 }
 
-- 
GitLab