From c85adfeb52d4df98defacc79b75a20f9730041d4 Mon Sep 17 00:00:00 2001
From: Mia Croiset <mia.croiset@ens-lyon.fr>
Date: Thu, 22 Feb 2024 14:33:08 +0100
Subject: [PATCH] connect hicstuff sub to cooler subworkflow

---
 subworkflows/local/hicstuff.nf | 14 +++++++++++---
 workflows/hic.nf               | 32 +++++++++++++++++---------------
 2 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/subworkflows/local/hicstuff.nf b/subworkflows/local/hicstuff.nf
index 018360b..facd680 100644
--- a/subworkflows/local/hicstuff.nf
+++ b/subworkflows/local/hicstuff.nf
@@ -118,6 +118,7 @@ workflow HICSTUFF {
         fasta.collect()
     )
     BAM2PAIRS.out.idx_pairs.set{ ch_idx_pairs }
+    BAM2PAIRS.out.valid_pairs.set{ ch_valid_pairs }
 
     if( params.filter_event ){
         FILTER_EVENT(
@@ -143,6 +144,12 @@ workflow HICSTUFF {
         FILTER_PCR.out.idx_pairs_pcrfree.set{ ch_idx_pairs }
     }
 
+    ch_idx_pairs.combine(ch_valid_pairs)
+    .map {
+        meta1, idx, meta2, pairs ->
+            meta1 == meta2 ? [ meta1, idx, pairs ] : null
+    }.set{ ch_pairs }
+
     BUILD_MATRIX(
         ch_idx_pairs,
         FRAGMENT_ENZYME.out.fragments_list.collect()
@@ -153,12 +160,13 @@ workflow HICSTUFF {
         FRAGMENT_ENZYME.out.fragments_list.collect()
     )
 
-    BUILD_MATRIX_COOL_ALT(
+   /*  BUILD_MATRIX_COOL_ALT(
         chromosome_size.collect(),
         ch_idx_pairs
-    )
+    ) */
 
     emit:
-    cool = BUILD_MATRIX_COOL_ALT.out.matrix
+    //cool = BUILD_MATRIX_COOL_ALT.out.matrix
+    pairs = ch_pairs
     versions = ch_versions
 }
diff --git a/workflows/hic.nf b/workflows/hic.nf
index f1cd351..6c3487e 100644
--- a/workflows/hic.nf
+++ b/workflows/hic.nf
@@ -222,14 +222,30 @@ workflow HIC {
         ch_map_res,
         ch_fasta
     )
+    ch_pairs = HICPRO.out.pairs
     ch_mqc = HICPRO.out.mqc
     ch_versions = ch_versions.mix(HICPRO.out.versions)
+  }
 
+  else {
+    HICSTUFF(
+        ch_reads,
+        PREPARE_GENOME.out.index,
+        ch_ligation_site,
+        params.digestion, //str enzyme
+        ch_fasta,
+        PREPARE_GENOME.out.chromosome_size
+    )
+    //ch_cool = HICSTUFF.out.cool
+    ch_pairs = HICSTUFF.out.pairs
+    ch_mqc = Channel.empty()
+    ch_versions = ch_versions.mix(HICSTUFF.out.versions)
+  }
   //
   // SUB-WORKFLOW: COOLER
   //
   COOLER (
-    HICPRO.out.pairs,
+    ch_pairs,
     PREPARE_GENOME.out.chromosome_size,
     ch_map_res
   )
@@ -251,21 +267,7 @@ workflow HIC {
     ch_versions = ch_versions.mix(HIC_PLOT_DIST_VS_COUNTS.out.versions)
   }
   ch_cool = COOLER.out.cool
-}
 
-  else {
-    HICSTUFF(
-        ch_reads,
-        PREPARE_GENOME.out.index,
-        ch_ligation_site,
-        params.digestion, //str enzyme
-        ch_fasta,
-        PREPARE_GENOME.out.chromosome_size
-    )
-    ch_cool = HICSTUFF.out.cool
-    ch_mqc = Channel.empty()
-    ch_versions = ch_versions.mix(HICSTUFF.out.versions)
-  }
 
   //
   // MODULE: HICEXPLORER/HIC_PLOT_MATRIX
-- 
GitLab