@@ -18,138 +18,232 @@ process {
1818 saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
1919 ]
2020
21+ // ---------------------------- multiqc ---------------------------------------------------
22+
2123 withName: MULTIQC {
2224 ext.args = { params.multiqc_title ? "--title \"${params.multiqc_title}\"" : '' }
2325 publishDir = [
24- path: { "${params.outdir}/multiqc" },
26+ path: { "${params.outdir}/${params.mode}/ multiqc" },
2527 mode: params.publish_dir_mode,
2628 saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
2729 ]
2830 }
2931
30- withName: XENIUMRANGER_RESEGMENT {
32+ withName: MULTIQC_PRE_XR_RUN {
33+ ext.args = { params.multiqc_title ? "--title \"${params.multiqc_title}\"" : "MultiQC Pre Xeniumranger import-segmentation Run" }
3134 publishDir = [
32- path: "${params.outdir}/xeniumranger/resegment" ,
35+ path: { "${params.outdir}/${params.mode}/multiqc/raw_bundle" } ,
3336 mode: params.publish_dir_mode,
37+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
3438 ]
3539 }
3640
37- withName: XENIUMRANGER_IMPORT_SEGMENTATION {
41+ withName: MULTIQC_POST_XR_RUN {
42+ ext.args = { params.multiqc_title ? "--title \"${params.multiqc_title}\"" : "MultiQC Post Xeniumranger import-segmentation Run" }
3843 publishDir = [
39- path: "${params.outdir}/xeniumranger/import_segementation" ,
44+ path: { "${params.outdir}/${params.mode}/multiqc/redefined_bundle" } ,
4045 mode: params.publish_dir_mode,
46+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
4147 ]
4248 }
4349
44- withName: PROSEG {
50+
51+ // ---------------------------- xeniumranger ---------------------------------------------------
52+
53+ withName: XENIUMRANGER_RELABEL {
4554 publishDir = [
46- path: "${params.outdir}/proseg/preset ",
55+ path: "${params.outdir}/${params.mode}/xeniumranger/relabel ",
4756 mode: params.publish_dir_mode,
4857 ]
4958 }
5059
51- withName: PROSEG2BAYSOR {
60+ withName: XENIUMRANGER_RESEGMENT {
5261 publishDir = [
53- path: "${params.outdir}/proseg/proseg2baysor ",
62+ path: "${params.outdir}/${params.mode}/xeniumranger/resegment ",
5463 mode: params.publish_dir_mode,
5564 ]
5665 }
5766
58- withName: FICTURE_PREPROCESS {
67+ withName: XENIUMRANGER_IMPORT_SEGMENTATION {
68+ publishDir = [
69+ path: "${params.outdir}/${params.mode}/xeniumranger/import_segementation",
70+ mode: params.publish_dir_mode,
71+ ]
72+ }
73+
74+ // ---------------------------- proseg ---------------------------------------------------
75+
76+ withName: PROSEG {
5977 publishDir = [
60- path: "${params.outdir}/ficture/preprocess ",
78+ path: "${params.outdir}/${params.mode}/proseg/preset ",
6179 mode: params.publish_dir_mode,
6280 ]
6381 }
6482
83+ withName: PROSEG2BAYSOR {
84+ publishDir = [
85+ path: "${params.outdir}/${params.mode}/proseg/proseg2baysor",
86+ mode: params.publish_dir_mode,
87+ ]
88+ }
89+
90+ // ---------------------------- baysor ---------------------------------------------------
91+
6592 withName: BAYSOR_RUN {
6693 publishDir = [
67- path: { "${params.outdir}/baysor/run" },
94+ path: { "${params.outdir}/${params.mode}/ baysor/run" },
6895 mode: params.publish_dir_mode,
6996 ]
7097 }
7198
7299 withName: BAYSOR_SEGFREE {
73100 publishDir = [
74- path: { "${params.outdir}/baysor/segfree" },
101+ path: { "${params.outdir}/${params.mode}/ baysor/segfree" },
75102 mode: params.publish_dir_mode,
76103 ]
77104 }
78105
79106 withName: BAYSOR_CREATE_DATASET {
80107 publishDir = [
81- path: { "${params.outdir}/baysor/create_dataset" },
108+ path: { "${params.outdir}/${params.mode}/ baysor/create_dataset" },
82109 mode: params.publish_dir_mode,
83110 ]
84111 }
85112
86- withName: BAYSOR_PREVIEW {
113+ withName: BAYSOR_PREPROCESS_TRANSCRIPTS {
87114 publishDir = [
88- path: { "${params.outdir}/baysor/preview " },
115+ path: { "${params.outdir}/${params.mode}/ baysor/preprocess " },
89116 mode: params.publish_dir_mode,
90117 ]
91118 }
92119
93- withName: RESOLIFT {
120+ withName: BAYSOR_PREVIEW {
94121 publishDir = [
95- path: { "${params.outdir}/resolift/ " },
122+ path: { "${params.outdir}/${params.mode}/baysor/preview " },
96123 mode: params.publish_dir_mode,
97124 ]
98125 }
99126
127+ // ---------------------------- segger ---------------------------------------------------
128+
100129 withName: SEGGER_CREATE_DATASET {
101130 publishDir = [
102- path: { "${params.outdir}/segger/create_dataset" },
131+ path: { "${params.outdir}/${params.mode}/ segger/create_dataset" },
103132 mode: params.publish_dir_mode,
104133 ]
105134 }
106135
107136 withName: SEGGER_TRAIN {
108137 publishDir = [
109- path: { "${params.outdir}/segger/train" },
138+ path: { "${params.outdir}/${params.mode}/ segger/train" },
110139 mode: params.publish_dir_mode,
111140 ]
112141 ext.args = { "--init_emb 8 --hidden_channels 32 --num_tx_tokens 500 --out_channels 8 --heads 2 --num_mid_layers 2 --strategy auto --precision 16-mixed" }
113142 }
114143
115144 withName: SEGGER_PREDICT {
116145 publishDir = [
117- path: { "${params.outdir}/segger/predict" },
146+ path: { "${params.outdir}/${params.mode}/segger/predict" },
147+ mode: params.publish_dir_mode,
148+ ]
149+ }
150+
151+ // ---------------------------- ficture ------------------------------------------
152+
153+ withName: FICTURE_PREPROCESS {
154+ publishDir = [
155+ path: "${params.outdir}/${params.mode}/ficture/preprocess",
156+ mode: params.publish_dir_mode,
157+ ]
158+ }
159+
160+ // ---------------------------- utility modules -----------------------------------
161+
162+
163+ withName: UNTAR {
164+ publishDir = [
165+ path: { "${params.outdir}/${params.mode}/untar/" },
166+ mode: params.publish_dir_mode,
167+ ]
168+ }
169+
170+ withName: RESOLIFT {
171+ publishDir = [
172+ path: { "${params.outdir}/${params.mode}/resolift/" },
118173 mode: params.publish_dir_mode,
119174 ]
120175 }
121176
122177 withName: PARQUET_TO_CSV {
123178 publishDir = [
124- path: { "${params.outdir}/spatialconverter/parquet_to_csv" },
179+ path: { "${params.outdir}/${params.mode}/utility/spatialconverter/parquet_to_csv" },
180+ mode: params.publish_dir_mode,
181+ ]
182+ }
183+
184+ withName: CLEAN_PREVIEW_HTML {
185+ publishDir = [
186+ path: { "${params.outdir}/${params.mode}/utility/clean_html/" },
125187 mode: params.publish_dir_mode,
126188 ]
127189 }
128190
191+ withName: GET_TRANSCRIPTS_COORDINATES {
192+ publishDir = [
193+ path: { "${params.outdir}/${params.mode}/utility/get_coordinates/" },
194+ mode: params.publish_dir_mode,
195+ ]
196+ }
197+
198+ withName: RESIZE_TIF {
199+ publishDir = [
200+ path: { "${params.outdir}/${params.mode}/utility/resize_tif/" },
201+ mode: params.publish_dir_mode,
202+ ]
203+ }
204+
205+ withName: SEGGER2XR {
206+ publishDir = [
207+ path: { "${params.outdir}/${params.mode}/utility/segger2xr/" },
208+ mode: params.publish_dir_mode,
209+ ]
210+ }
211+
212+ withName: SPLIT_TRANSCRIPTS {
213+ publishDir = [
214+ path: { "${params.outdir}/${params.mode}/utility/split_transcripts/" },
215+ mode: params.publish_dir_mode,
216+ ]
217+ }
218+
219+ // ---------------------------- spatialdata --------------------------------------
220+
129221 withName: SPATIALDATA_WRITE {
130222 publishDir = [
131- path: { "${params.outdir}/spatialdata/write" },
223+ path: { "${params.outdir}/${params.mode}/ spatialdata/write" },
132224 mode: params.publish_dir_mode,
133225 ]
134226 }
135227
136228 withName: SPATIALDATA_MERGE {
137229 publishDir = [
138- path: { "${params.outdir}/spatialdata/merge" },
230+ path: { "${params.outdir}/${params.mode}/ spatialdata/merge" },
139231 mode: params.publish_dir_mode,
140232 ]
141233 }
142234
143235 withName: SPATIALDATA_META {
144236 publishDir = [
145- path: { "${params.outdir}/spatialdata/meta" },
237+ path: { "${params.outdir}/${params.mode}/ spatialdata/meta" },
146238 mode: params.publish_dir_mode,
147239 ]
148240 }
149241
242+ // ---------------------------- cellpose -----------------------------------------
243+
150244 withName: CELLPOSE {
151245 publishDir = [
152- path: { "${params.outdir}/cellpose" },
246+ path: { "${params.outdir}/${params.mode}/ cellpose" },
153247 mode: params.publish_dir_mode,
154248 ]
155249 ext.args = { "--diameter 9 --channel_axis 0 --save_flows" }
@@ -158,7 +252,7 @@ process {
158252 // with new version of cellpose you can do --output_name cell_masks
159253 withName: CELLPOSE_CELLS {
160254 publishDir = [
161- path: { "${params.outdir}/cellpose_cells" },
255+ path: { "${params.outdir}/${params.mode}/ cellpose_cells" },
162256 mode: params.publish_dir_mode,
163257 ]
164258 ext.args = { "--diameter 9 --channel_axis 0 --save_flows" }
@@ -167,29 +261,31 @@ process {
167261 // with new version of cellpose you can do --output_name nucleus_masks
168262 withName: CELLPOSE_NUCLEI {
169263 publishDir = [
170- path: { "${params.outdir}/cellpose_nuclei" },
264+ path: { "${params.outdir}/${params.mode}/ cellpose_nuclei" },
171265 mode: params.publish_dir_mode,
172266 ]
173267 ext.args = { "--diameter 9 --channel_axis 0 --save_flows" }
174268 }
175269
270+ // ---------------------------- opt -----------------------------------------
271+
176272 withName: OPT_FLIP {
177273 publishDir = [
178- path: { "${params.outdir}/opt/flip" },
274+ path: { "${params.outdir}/${params.mode}/ opt/flip" },
179275 mode: params.publish_dir_mode,
180276 ]
181277 }
182278
183279 withName: OPT_TRACK {
184280 publishDir = [
185- path: { "${params.outdir}/opt/track" },
281+ path: { "${params.outdir}/${params.mode}/ opt/track" },
186282 mode: params.publish_dir_mode,
187283 ]
188284 }
189285
190286 withName: OPT_STAT {
191287 publishDir = [
192- path: { "${params.outdir}/opt/stat" },
288+ path: { "${params.outdir}/${params.mode}/ opt/stat" },
193289 mode: params.publish_dir_mode,
194290 ]
195291 }
0 commit comments