Diff of /conf/modules.config [000000] .. [13a70a]

Switch to side-by-side view

--- a
+++ b/conf/modules.config
@@ -0,0 +1,181 @@
+/*
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Config file for defining DSL2 per module options and publishing paths
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Available keys to override module options:
+        ext.args   = Additional arguments appended to command in module.
+        ext.args2  = Second set of arguments appended to command in module (multi-tool modules).
+        ext.args3  = Third set of arguments appended to command in module (multi-tool modules).
+        ext.prefix = File name prefix for output files.
+----------------------------------------------------------------------------------------
+*/
+
+process {
+
+    // ==============================================================================
+    // config for preprocess_ibis_bedfile_to_stimulus
+    // ==============================================================================
+
+    withName: "CENTER_AROUND_PEAK" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.args   = { "-v N=${params.bed_peak_size}" }
+        ext.prefix = { "${meta.id}.centered" }
+        ext.suffix = { "bed" }
+    }
+
+    withName: "EXTRACT_FOREGROUND" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.args = {[
+            separator: '\t'
+        ]}
+        ext.prefix = { "${meta.id}.foreground" }
+    }
+
+    withName: "EXTRACT_BACKGROUND_ALIENS" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.args = {[
+            separator: '\t'
+        ]}
+        ext.prefix = { "${meta.id}.background_aliens" }
+    }
+
+    withName: "EXTRACT_BACKGROUND_SHADE" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.args = {[
+            meta.shade_args ? "${meta.shade_args}" : '',
+            "| awk '\$3 - \$2 >= ${params.bed_peak_size}'",  // keep only the peaks that have certain size
+        ].join(' ').trim()}
+        ext.prefix = { "${meta.id}.background_shade" }
+    }
+
+    withName: "EXTRACT_BACKGROUND_SHUFFLE" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.prefix = { "${meta.id}.background_shuffle" }
+    }
+
+    withName: "BEDTOOLS_SUBTRACT" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.prefix = { "${meta.id}.background_${meta.background_type}.clean" }
+        ext.args = {"-A"} // remove entire feature if any overlap
+    }
+
+    withName: "BACKGROUND_FOREGROUND_TO_STIMULUS_CSV" {
+        publishDir = [
+            path: {"${params.outdir}/data"},
+            mode: params.publish_dir_mode,
+            pattern: "*.csv",
+            saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+        ]
+        ext.prefix = { "${meta.id}.stimulus" }
+        ext.suffix = { "csv" }
+        ext.args = {[
+            "-v column_name=background_type",
+            "-v column_value=${meta.background_type}"
+        ].join(' ').trim()}
+    }
+
+    // ==============================================================================
+    // main config
+    // ==============================================================================
+
+    withName: "STIMULUS_SPLIT_TRANSFORM" {
+        publishDir = [
+            path: { "${params.outdir}/configs/${meta.id}" },
+            mode: params.publish_dir_mode,
+            saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+        ]
+        tag = { "${meta.id}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "STIMULUS_SPLIT_DATA" {
+        publishDir = [
+            enabled: false
+        ]
+        ext.prefix = { "${meta.id}-split-${meta.split_id}" }
+        tag = { "${meta.id} - split: ${meta.split_id}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "STIMULUS_TRANSFORM_CSV" {
+        publishDir = [
+            path: { "${params.outdir}/transformed_data/${meta.id}" },
+            mode: params.publish_dir_mode,
+            when: params.save_data,
+            saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+        ]
+        ext.prefix = { "${meta.id}-split-${meta.split_id}-trans-${meta.transform_id}" }
+        tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "CHECK_MODEL" {
+        ext.args = { [
+            params.check_model_num_samples ? "-n ${params.check_model_num_samples}" : '',
+            params.debug_mode ? "--debug_mode" : ''
+        ].flatten().unique(false).join(' ').trim()}
+        tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "STIMULUS_TUNE" {
+        ext.args = { [
+            params.debug_mode ? "--debug_mode" : ''
+        ].flatten().unique(false).join(' ').trim()}
+        publishDir = [
+            path: { "${params.outdir}/tune_results/${meta.id}/${meta.split_id}/${meta.transform_id}" },
+            mode: params.publish_dir_mode,
+            saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+        ]
+        ext.prefix = { "${meta.id}-split-${meta.split_id}-trans-${meta.transform_id}-rep-${meta.replicate}" }
+        tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id} - replicate: ${meta.replicate}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "STIMULUS_PREDICT" {
+        ext.prefix = { "${meta.id}-split-${meta.split_id}-transf-${meta.transform_id}-rep-${meta.replicate}" }
+        tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id} - replicate: ${meta.replicate}" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "STIMULUS_COMPARE_TENSORS_COSINE" {
+        ext.args = { "--mode cosine_similarity" }
+        if (params.container_dev) {
+            container = params.container_dev
+        }
+    }
+
+    withName: "CONCAT_COSINE" {
+        ext.prefix = { "summary_cosine" }
+        publishDir = [
+            path: { "${params.outdir}/evaluation_results/" },
+            mode: params.publish_dir_mode,
+            saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+        ]
+    }
+}
+