From 0e5aaa24b6946203dcdf786667924bf37e8b92d3 Mon Sep 17 00:00:00 2001
From: Mia Croiset <mia.croiset@ens-lyon.fr>
Date: Mon, 4 Dec 2023 11:41:59 +0100
Subject: [PATCH] add enabled option to avoid keeping heavy files

---
 conf/modules.config  | 27 ++++++++++++++++++---------
 nextflow.config      |  8 ++++++++
 nextflow_schema.json | 16 ++++++++++++++++
 3 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/conf/modules.config b/conf/modules.config
index 0b13690..b6bdcf1 100644
--- a/conf/modules.config
+++ b/conf/modules.config
@@ -86,7 +86,8 @@ process {
         publishDir = [
             path: { "${params.outdir}/hicpro/mapping" },
             mode: 'copy',
-            pattern: '*.bam'
+            pattern: '*.bam',
+            enabled: params.save_bam
         ]
         ext.args = [
             "-t",
@@ -153,7 +154,8 @@ process {
         publishDir = [
             path: { "${params.outdir}/hicpro/valid_pairs/pairix/" },
             saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_pairs
         ]
     }
 
@@ -181,7 +183,8 @@ process {
         ext.args = params.hicstuff_bwt2_align_opts
         publishDir = [
             path: { "${params.outdir}/hicstuff/reads"},
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_bam
         ]
     }
 
@@ -196,7 +199,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/hicstuff/fragment_enzyme" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_fragments
         ]
     }
 
@@ -209,7 +213,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/hicstuff/pairs" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_pairs
         ]
     }
 
@@ -222,7 +227,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/hicstuff/pairs" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_pairs_intermediates
         ]
     }
 
@@ -238,7 +244,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/hicstuff/pairs" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_pairs_intermediates
         ]
     }
 
@@ -248,7 +255,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/hicstuff/pairs" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_pairs_intermediates
         ]
     }
 
@@ -408,7 +416,8 @@ process {
         ].join('').trim() }
         publishDir = [
             path: { "${params.outdir}/picard/bam" },
-            mode: 'copy'
+            mode: 'copy',
+            enabled: params.save_bam_intermediates
         ]
     }
 
diff --git a/nextflow.config b/nextflow.config
index 31269f1..4c5f633 100644
--- a/nextflow.config
+++ b/nextflow.config
@@ -29,6 +29,7 @@ params {
     fastq_chunks_size = 20000000
     save_interaction_bam = false
     save_aligned_intermediates = false
+    save_bam = false
     bwt2_opts_end2end = '--very-sensitive -L 30 --score-min L,-0.6,-0.2 --end-to-end --reorder'
     bwt2_opts_trimmed = '--very-sensitive -L 20 --score-min L,-0.6,-0.2 --end-to-end --reorder'
     keep_dups = false
@@ -36,6 +37,9 @@ params {
     filter_pcr_picard = false
     min_mapq = 10
 
+    //Save bam filtered by Picard
+    save_bam_intermediates = false
+
     // Digestion Hi-C
     digestion = null
     ligation_site = null
@@ -64,6 +68,7 @@ params {
     min_insert_size = 0
     max_insert_size = 0
     save_pairs_intermediates = false
+    save_pairs = false
 
     // Dnase Hi-C
     dnase = false
@@ -162,6 +167,9 @@ params {
     distance_law = false
     filter_pcr = false
 
+    //Hicstuff save intermediates files
+    save_fragments = false
+
 }
 
 // Load base.config by default for all pipelines
diff --git a/nextflow_schema.json b/nextflow_schema.json
index 753bab6..f088507 100644
--- a/nextflow_schema.json
+++ b/nextflow_schema.json
@@ -179,6 +179,10 @@
                 "save_aligned_intermediates": {
                     "type": "boolean",
                     "description": "Save all BAM files during two-steps mapping"
+                },
+                "save_bam": {
+                    "type": "boolean",
+                    "description": "Save final BAM files after mapping"
                 }
             }
         },
@@ -224,6 +228,14 @@
                 "save_pairs_intermediates": {
                     "type": "boolean",
                     "description": "Save all types of non valid read pairs in distinct output files"
+                },
+                "save_bam_intermediates": {
+                    "type": "boolean",
+                    "description": "Save  BAM files PICARD pcr duplicates filtering"
+                },
+                "save_pairs": {
+                    "type": "boolean",
+                    "description": "Save pairs files"
                 }
             }
         },
@@ -698,6 +710,10 @@
                     "description": "Name of pair file after PCR filtering",
                     "default": "valid_idx_pcrfree.pairs",
                     "fa_icon": "fas fa_cogs"
+                },
+                "save_fragments": {
+                    "type": "boolean",
+                    "description": "Save fragments files"
                 }
             }
         }
-- 
GitLab