From 863e95be861be1bd65c1812fec6e5972e209da73 Mon Sep 17 00:00:00 2001
From: nservant <nicolas.servant@curie.fr>
Date: Fri, 6 May 2022 17:36:31 +0200
Subject: [PATCH] [MODIF] deal with technical replicates

---
 workflows/hic.nf | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/workflows/hic.nf b/workflows/hic.nf
index 4592e83..f66e16d 100644
--- a/workflows/hic.nf
+++ b/workflows/hic.nf
@@ -143,6 +143,16 @@ Channel.fromPath( params.fasta )
 // Info required for completion email and summary
 def multiqc_report = []
 
+def setMetaChunk(row){
+  def map = []
+  row[1].eachWithIndex() { file,i ->
+    meta = row[0].clone()
+    meta.chunks = i
+    map += [meta, file]
+  }
+  return map
+}
+
 workflow HIC {
 
   ch_versions = Channel.empty()
@@ -153,8 +163,19 @@ workflow HIC {
   INPUT_CHECK (
     ch_input
   )
+  .reads
+  .map {
+      meta, fastq ->
+          meta.id = meta.id.split('_')[0..-2].join('_')
+          [ meta, fastq ] }
+  .groupTuple(by: [0])
+  .flatMap { it -> setMetaChunk(it) }
+  .collate(2)
+  .set { ch_fastq }
+
+  ch_fastq.view()
 
-  INPUT_CHECK.out.reads.view()
+  //INPUT_CHECK.out.reads.view()
 
   //
   // SUBWORKFLOW: Prepare genome annotation
@@ -169,7 +190,7 @@ workflow HIC {
   // MODULE: Run FastQC
   //
   FASTQC (
-    INPUT_CHECK.out.reads
+    ch_fastq
   )
   ch_versions = ch_versions.mix(FASTQC.out.versions)
 
@@ -177,7 +198,7 @@ workflow HIC {
   // SUB-WORFLOW: HiC-Pro
   //
   HICPRO (
-    INPUT_CHECK.out.reads,
+    ch_fastq,
     PREPARE_GENOME.out.index,
     PREPARE_GENOME.out.res_frag,
     PREPARE_GENOME.out.chromosome_size,
-- 
GitLab