|
a |
|
b/conf/modules.config |
|
|
1 |
/* |
|
|
2 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
3 |
Config file for defining DSL2 per module options and publishing paths |
|
|
4 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
5 |
Available keys to override module options: |
|
|
6 |
ext.args = Additional arguments appended to command in module. |
|
|
7 |
ext.args2 = Second set of arguments appended to command in module (multi-tool modules). |
|
|
8 |
ext.args3 = Third set of arguments appended to command in module (multi-tool modules). |
|
|
9 |
ext.prefix = File name prefix for output files. |
|
|
10 |
---------------------------------------------------------------------------------------- |
|
|
11 |
*/ |
|
|
12 |
|
|
|
13 |
process { |
|
|
14 |
|
|
|
15 |
// ============================================================================== |
|
|
16 |
// config for preprocess_ibis_bedfile_to_stimulus |
|
|
17 |
// ============================================================================== |
|
|
18 |
|
|
|
19 |
withName: "CENTER_AROUND_PEAK" { |
|
|
20 |
publishDir = [ |
|
|
21 |
enabled: false |
|
|
22 |
] |
|
|
23 |
ext.args = { "-v N=${params.bed_peak_size}" } |
|
|
24 |
ext.prefix = { "${meta.id}.centered" } |
|
|
25 |
ext.suffix = { "bed" } |
|
|
26 |
} |
|
|
27 |
|
|
|
28 |
withName: "EXTRACT_FOREGROUND" { |
|
|
29 |
publishDir = [ |
|
|
30 |
enabled: false |
|
|
31 |
] |
|
|
32 |
ext.args = {[ |
|
|
33 |
separator: '\t' |
|
|
34 |
]} |
|
|
35 |
ext.prefix = { "${meta.id}.foreground" } |
|
|
36 |
} |
|
|
37 |
|
|
|
38 |
withName: "EXTRACT_BACKGROUND_ALIENS" { |
|
|
39 |
publishDir = [ |
|
|
40 |
enabled: false |
|
|
41 |
] |
|
|
42 |
ext.args = {[ |
|
|
43 |
separator: '\t' |
|
|
44 |
]} |
|
|
45 |
ext.prefix = { "${meta.id}.background_aliens" } |
|
|
46 |
} |
|
|
47 |
|
|
|
48 |
withName: "EXTRACT_BACKGROUND_SHADE" { |
|
|
49 |
publishDir = [ |
|
|
50 |
enabled: false |
|
|
51 |
] |
|
|
52 |
ext.args = {[ |
|
|
53 |
meta.shade_args ? "${meta.shade_args}" : '', |
|
|
54 |
"| awk '\$3 - \$2 >= ${params.bed_peak_size}'", // keep only the peaks that have certain size |
|
|
55 |
].join(' ').trim()} |
|
|
56 |
ext.prefix = { "${meta.id}.background_shade" } |
|
|
57 |
} |
|
|
58 |
|
|
|
59 |
withName: "EXTRACT_BACKGROUND_SHUFFLE" { |
|
|
60 |
publishDir = [ |
|
|
61 |
enabled: false |
|
|
62 |
] |
|
|
63 |
ext.prefix = { "${meta.id}.background_shuffle" } |
|
|
64 |
} |
|
|
65 |
|
|
|
66 |
withName: "BEDTOOLS_SUBTRACT" { |
|
|
67 |
publishDir = [ |
|
|
68 |
enabled: false |
|
|
69 |
] |
|
|
70 |
ext.prefix = { "${meta.id}.background_${meta.background_type}.clean" } |
|
|
71 |
ext.args = {"-A"} // remove entire feature if any overlap |
|
|
72 |
} |
|
|
73 |
|
|
|
74 |
withName: "BACKGROUND_FOREGROUND_TO_STIMULUS_CSV" { |
|
|
75 |
publishDir = [ |
|
|
76 |
path: {"${params.outdir}/data"}, |
|
|
77 |
mode: params.publish_dir_mode, |
|
|
78 |
pattern: "*.csv", |
|
|
79 |
saveAs: { filename -> filename.equals('versions.yml') ? null : filename } |
|
|
80 |
] |
|
|
81 |
ext.prefix = { "${meta.id}.stimulus" } |
|
|
82 |
ext.suffix = { "csv" } |
|
|
83 |
ext.args = {[ |
|
|
84 |
"-v column_name=background_type", |
|
|
85 |
"-v column_value=${meta.background_type}" |
|
|
86 |
].join(' ').trim()} |
|
|
87 |
} |
|
|
88 |
|
|
|
89 |
// ============================================================================== |
|
|
90 |
// main config |
|
|
91 |
// ============================================================================== |
|
|
92 |
|
|
|
93 |
withName: "STIMULUS_SPLIT_TRANSFORM" { |
|
|
94 |
publishDir = [ |
|
|
95 |
path: { "${params.outdir}/configs/${meta.id}" }, |
|
|
96 |
mode: params.publish_dir_mode, |
|
|
97 |
saveAs: { filename -> filename.equals('versions.yml') ? null : filename } |
|
|
98 |
] |
|
|
99 |
tag = { "${meta.id}" } |
|
|
100 |
if (params.container_dev) { |
|
|
101 |
container = params.container_dev |
|
|
102 |
} |
|
|
103 |
} |
|
|
104 |
|
|
|
105 |
withName: "STIMULUS_SPLIT_DATA" { |
|
|
106 |
publishDir = [ |
|
|
107 |
enabled: false |
|
|
108 |
] |
|
|
109 |
ext.prefix = { "${meta.id}-split-${meta.split_id}" } |
|
|
110 |
tag = { "${meta.id} - split: ${meta.split_id}" } |
|
|
111 |
if (params.container_dev) { |
|
|
112 |
container = params.container_dev |
|
|
113 |
} |
|
|
114 |
} |
|
|
115 |
|
|
|
116 |
withName: "STIMULUS_TRANSFORM_CSV" { |
|
|
117 |
publishDir = [ |
|
|
118 |
path: { "${params.outdir}/transformed_data/${meta.id}" }, |
|
|
119 |
mode: params.publish_dir_mode, |
|
|
120 |
when: params.save_data, |
|
|
121 |
saveAs: { filename -> filename.equals('versions.yml') ? null : filename } |
|
|
122 |
] |
|
|
123 |
ext.prefix = { "${meta.id}-split-${meta.split_id}-trans-${meta.transform_id}" } |
|
|
124 |
tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id}" } |
|
|
125 |
if (params.container_dev) { |
|
|
126 |
container = params.container_dev |
|
|
127 |
} |
|
|
128 |
} |
|
|
129 |
|
|
|
130 |
withName: "CHECK_MODEL" { |
|
|
131 |
ext.args = { [ |
|
|
132 |
params.check_model_num_samples ? "-n ${params.check_model_num_samples}" : '', |
|
|
133 |
params.debug_mode ? "--debug_mode" : '' |
|
|
134 |
].flatten().unique(false).join(' ').trim()} |
|
|
135 |
tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id}" } |
|
|
136 |
if (params.container_dev) { |
|
|
137 |
container = params.container_dev |
|
|
138 |
} |
|
|
139 |
} |
|
|
140 |
|
|
|
141 |
withName: "STIMULUS_TUNE" { |
|
|
142 |
ext.args = { [ |
|
|
143 |
params.debug_mode ? "--debug_mode" : '' |
|
|
144 |
].flatten().unique(false).join(' ').trim()} |
|
|
145 |
publishDir = [ |
|
|
146 |
path: { "${params.outdir}/tune_results/${meta.id}/${meta.split_id}/${meta.transform_id}" }, |
|
|
147 |
mode: params.publish_dir_mode, |
|
|
148 |
saveAs: { filename -> filename.equals('versions.yml') ? null : filename } |
|
|
149 |
] |
|
|
150 |
ext.prefix = { "${meta.id}-split-${meta.split_id}-trans-${meta.transform_id}-rep-${meta.replicate}" } |
|
|
151 |
tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id} - replicate: ${meta.replicate}" } |
|
|
152 |
if (params.container_dev) { |
|
|
153 |
container = params.container_dev |
|
|
154 |
} |
|
|
155 |
} |
|
|
156 |
|
|
|
157 |
withName: "STIMULUS_PREDICT" { |
|
|
158 |
ext.prefix = { "${meta.id}-split-${meta.split_id}-transf-${meta.transform_id}-rep-${meta.replicate}" } |
|
|
159 |
tag = { "${meta.id} - split: ${meta.split_id} - transform: ${meta.transform_id} - replicate: ${meta.replicate}" } |
|
|
160 |
if (params.container_dev) { |
|
|
161 |
container = params.container_dev |
|
|
162 |
} |
|
|
163 |
} |
|
|
164 |
|
|
|
165 |
withName: "STIMULUS_COMPARE_TENSORS_COSINE" { |
|
|
166 |
ext.args = { "--mode cosine_similarity" } |
|
|
167 |
if (params.container_dev) { |
|
|
168 |
container = params.container_dev |
|
|
169 |
} |
|
|
170 |
} |
|
|
171 |
|
|
|
172 |
withName: "CONCAT_COSINE" { |
|
|
173 |
ext.prefix = { "summary_cosine" } |
|
|
174 |
publishDir = [ |
|
|
175 |
path: { "${params.outdir}/evaluation_results/" }, |
|
|
176 |
mode: params.publish_dir_mode, |
|
|
177 |
saveAs: { filename -> filename.equals('versions.yml') ? null : filename } |
|
|
178 |
] |
|
|
179 |
} |
|
|
180 |
} |
|
|
181 |
|