-
Notifications
You must be signed in to change notification settings - Fork 13
/
nextflow_schema.json
823 lines (823 loc) · 41.2 KB
/
nextflow_schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/JaneliaSciComp/multifish/master/nextflow_schema.json",
"title": "JaneliaSciComp/multifish pipeline parameters",
"description": "Analysis pipeline for EASI-FISH (Expansion-Assisted Iterative Fluorescence In Situ Hybridization)",
"type": "object",
"definitions": {
"data": {
"title": "Data",
"type": "object",
"description": "Describe your input data and where pipeline results should be saved",
"properties": {
"data_manifest": {
"type": "string",
"description": "Name or path to the file manifest for downloading input data. Default: segmentation",
"fa_icon": "far fa-list-alt",
"help_text": "If specified, the data in the manifest is downloaded into `--data_dir` before the pipeline begins. Valid values are any base filename found in the data-sets directory (e.g. \"demo_small\", \"demo_medium\") or any absolute path which points to a manifest file. By default this just downloads the segmentation model."
},
"verify_md5": {
"type": "string",
"description": "Verify MD5 sum for all downloads. Default: true",
"hidden": true,
"fa_icon": "fas fa-lock",
"help_text": "This can be disabled to save time, but it's not recommended."
},
"shared_work_dir": {
"type": "string",
"description": "Shared working directory accessible by all nodes. Typically something like /fsx/username/pipeline",
"help_text": "Setting this parameter will automatically configure `data_dir`, `output_dir`, `segmentation_model_dir`, `spark_work_dir`, and `singularity_cache_dir`. You can override any of them in the hidden settings. When running on a system like AWS Batch, you should set this to an FSx for Lustre filesystem, and the final_output_dir to a Fuse-mounted S3 bucket. This will cause all processing to happen on high-performance disk, and the outputs will only be copied to slower S3 at the very last step. \n",
"fa_icon": "fas fa-folder-open"
},
"data_dir": {
"type": "string",
"fa_icon": "fas fa-folder-open",
"description": "Path to the directory containing the input CZI/MVL acquisition files. If shared_work_dir is defined, this defaults to $shared_work_dir/inputs.",
"hidden": true,
"help_text": "If `shared_work_dir` is defined, this is automatically set to `$shared_work_dir/inputs`."
},
"segmentation_model_dir": {
"type": "string",
"fa_icon": "fas fa-folder-open",
"description": "Path to the directory containing the machine learning model for segmentation.",
"help_text": "If `shared_work_dir` is defined, this is automatically set to `$shared_work_dir/inputs/model/starfinity`. It is assumed that either the model is already there, or it will be downloaded and unzipped according to the `data_manifest`. Otherwise it defaults to ${projectDir}/external-modules/segmentation/model/starfinity, which is normally configured by setup.sh. ",
"hidden": true
},
"output_dir": {
"type": "string",
"description": "Path to the directory containing pipeline outputs. If shared_work_dir is defined, this defaults to $shared_work_dir/outputs.",
"fa_icon": "fas fa-folder-open",
"hidden": true,
"help_text": "If `shared_work_dir` is defined, this is automatically set to `$shared_work_dir/outputs`."
},
"publish_dir": {
"type": "string",
"fa_icon": "fas fa-folder-open",
"description": "Optional publishing directory where results should be copied when the pipeline is successfully completed. Typically a Fusion mount path like /fusion/s3/bucket-name.",
"help_text": "This is useful for getting data off of FSx and onto something externally accessible like S3."
},
"acq_names": {
"type": "string",
"fa_icon": "fas fa-vial",
"description": "Names of acquisition rounds to process. These should match the names of the CZI/MVL files found in the data_dir.",
"help_text": "e.g. LHA3_R3_small,LHA3_R5_small if you have files called LHA3_R3_small.czi and LHA3_R5_small.czi"
},
"ref_acq": {
"type": "string",
"fa_icon": "fas fa-asterisk",
"description": "Name of the acquisition round to use as the fixed reference.",
"help_text": "e.g. LHA3_R3_small"
},
"channels": {
"type": "string",
"fa_icon": "fas fa-layer-group",
"description": "List of channel names to process.",
"help_text": "Channel names are specified in the format \"c[channel_number]\", where the channel_number is 0-indexed."
},
"dapi_channel": {
"type": "string",
"fa_icon": "fas fa-asterisk",
"description": "Name of the DAPI channel.",
"help_text": "The DAPI channel is used as a reference channel for registration, segmentation, and spot extraction."
},
"bleed_channel": {
"type": "string",
"fa_icon": "fas fa-asterisk",
"description": "Channel (other than DAPI) that needs bleedthrough correction."
}
},
"required": [
"shared_work_dir",
"acq_names",
"ref_acq",
"channels",
"dapi_channel"
]
},
"stitching": {
"title": "Stitching",
"type": "object",
"description": "Stitching options",
"properties": {
"stitching_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for stitching results. Default: stitching",
"help_text": "This directory path is relative to `output_dir`",
"hidden": true
},
"spark_work_dir": {
"type": "string",
"fa_icon": "fas fa-folder-open",
"description": "Path to directory containing Spark working files and logs during stitching. Default: $shared_work_dir/spark or $workDir/spark",
"help_text": "The Spark configuration is written here by the pipeline before launching the Spark cluster. The Spark workers write their logs back here, and it is also used to communicate the master IP address to all workers. Therefore, this must be a shared directory accessible to both the head node and all worker nodes. On AWS, Fuse-mounted S3 will not work here due to write buffering. It's best to use FSx, but EBS will also work, as long as its mounted on all the EC2 nodes. ",
"hidden": true
},
"spark_local_dir": {
"type": "string",
"fa_icon": "far fa-folder-open",
"description": "Path to directory that Spark will uses for local temporary files. Default: /tmp",
"help_text": "This path does not need to be shared among workers, and does not need to be accessible to the head node. Usually, /tmp will do.",
"hidden": true
},
"stitching_czi_pattern": {
"type": "string",
"description": "A suffix pattern that is applied to acq_names when creating CZI names e.g. \"_V%02d\"",
"fa_icon": "far fa-copy"
},
"stitching_ref": {
"type": "string",
"fa_icon": "fas fa-asterisk",
"description": "Index of the channel used for stitching, e.g. 'c1' or '1'. You can also specify 'all' to use all of the channels. Default: the dapi_channel",
"help_text": "If this is not defined it defaults to `dapi_channel`"
},
"resolution": {
"type": "string",
"fa_icon": "fas fa-file-image",
"pattern": "^[\\.\\d]+,[\\.\\d]+,[\\.\\d]+$",
"description": "Voxel resolution in all 3 dimensions. Default: 0.23,0.23,0.42",
"help_text": "This is a comma-delimited tuple as x,y,z."
},
"axis": {
"type": "string",
"fa_icon": "fas fa-chart-line",
"description": "Axis mapping for the objective->pixel coordinates conversion. Default: -x,y,z",
"help_text": "Comma-separated axis specification with optional flips."
},
"stitching_block_size": {
"type": "string",
"fa_icon": "fas fa-cube",
"pattern": "^\\d+,\\d+,\\d+$",
"description": "Block size to use when converting CZI to n5 before stitching. Default: 128,128,64"
},
"flatfield_correction": {
"type": "boolean",
"default": true,
"fa_icon": "fas fa-cube",
"description": "Apply flatfield correction before stitching? Default: true"
},
"retile_z_size": {
"type": "integer",
"fa_icon": "far fa-square",
"description": "Block size (in Z dimension) when retiling after stitching. Default: 64",
"help_text": "This must be smaller than the number of Z slices in the data."
},
"with_fillBackground": {
"type": "boolean",
"fa_icon": "far fa-square",
"description": "Use fillBackground option when running fuse step. Default: true",
"help_text": "Turning this off may help process certain types of data that error otherwise.",
"hidden": true
},
"stitching_mode": {
"type": "string",
"fa_icon": "fas fa-braille",
"description": "Rematching mode ('full' or 'incremental'). Default: incremental",
"hidden": true
},
"stitching_padding": {
"type": "string",
"fa_icon": "fas fa-expand",
"description": "Padding for the overlap regions. Default: 0,0,0"
},
"stitching_blur_sigma": {
"type": "integer",
"fa_icon": "fas fa-border-style",
"description": "Sigma value of the gaussian blur preapplied to the images before stitching. Default: 2"
},
"workers": {
"type": "integer",
"fa_icon": "fas fa-cogs",
"description": "Number of Spark workers to use for stitching one acquisition. Default: 4"
},
"worker_cores": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of cores allocated to each Spark worker. Default: 4"
},
"gb_per_core": {
"type": "integer",
"fa_icon": "fas fa-cog",
"description": "Size of memory (in GB) that is allocated for each core of a Spark worker. Default: 4",
"help_text": "The total memory usage for stitching one acquisition will be workers * worker_cores * gb_per_core. "
},
"driver_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory to allocate for the Spark driver. Default: 15g"
},
"wait_for_spark_timeout_seconds": {
"type": "integer",
"fa_icon": "fas fa-clock",
"description": "Number of seconds to wait for Spark cluster to start. Default: 3600",
"hidden": true
},
"sleep_between_timeout_checks_seconds": {
"type": "integer",
"fa_icon": "fas fa-clock",
"description": "Number of seconds to sleep between timeout checks. Default: 2",
"hidden": true
},
"stitching_app": {
"type": "string",
"fa_icon": "fas fa-file-medical-alt",
"description": "Path to the JAR file containing the stitching application. Default: /app/app.jar",
"hidden": true
}
},
"fa_icon": "far fa-map"
},
"registration": {
"title": "Registration",
"type": "object",
"description": "Options for the registration algorithm (Bigstream)",
"properties": {
"registration_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for registration results. Default: registration",
"help_text": "This path is relative to `output_dir`.",
"hidden": true
},
"aff_scale": {
"type": "string",
"description": "The scale level for affine alignments. Default: s3",
"fa_icon": "fas fa-file-image"
},
"def_scale": {
"type": "string",
"description": "The scale level for deformable alignments. Default: s2",
"fa_icon": "fas fa-file-image"
},
"spots_cc_radius": {
"type": "integer",
"fa_icon": "far fa-circle",
"description": "Default: 8"
},
"spots_spot_number": {
"type": "integer",
"fa_icon": "fas fa-hashtag",
"description": "Default: 2000"
},
"ransac_cc_cutoff": {
"type": "number",
"fa_icon": "fas fa-level-down-alt",
"description": "Default: 0.9"
},
"ransac_dist_threshold": {
"type": "number",
"fa_icon": "fas fa-level-down-alt",
"description": "Default: 2.5"
},
"deform_iterations": {
"type": "string",
"fa_icon": "fas fa-retweet",
"description": "Default: 500x200x25x1"
},
"deform_auto_mask": {
"type": "string",
"fa_icon": "fas fa-mask",
"description": "Default: 0"
},
"registration_xy_stride": {
"type": "integer",
"description": "The number of voxels along x/y for registration tiling. Default: 256",
"fa_icon": "fas fa-walking",
"help_text": "Must be power of 2."
},
"registration_xy_overlap": {
"type": "integer",
"description": "Tile overlap on x/y axes",
"help_text": "Defaults to registration_xy_stride/8 when not specified.",
"fa_icon": "fas fa-align-center"
},
"registration_z_stride": {
"type": "integer",
"description": "The number of voxels along z for registration tiling. Default: 256",
"fa_icon": "fas fa-walking",
"help_text": "Must be power of 2."
},
"registration_z_overlap": {
"type": "integer",
"description": "Tile overlap on Z axes",
"help_text": "Defaults to registration_z_stride/8 when not specified.",
"fa_icon": "fas fa-align-center"
},
"ransac_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for RANSAC. Default: 1"
},
"ransac_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for RANSAC. Default: 1 G"
},
"spots_cpus": {
"type": "string",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for Spots step of registration. Default: 1"
},
"spots_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Spots step of registration. Default: 2 G"
},
"interpolate_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for Interpolate step of registration. Default: 1"
},
"interpolate_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Interpolate step of registration. Default: 1 G"
},
"coarse_spots_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for Coarse Spots step of registration. Default: 1"
},
"coarse_spots_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Coarse Spots step of registration. Default: 2 G"
},
"aff_scale_transform_cpus": {
"type": "integer",
"description": "Number of CPU cores for Affine Scale Transform step of registration. Default: 1",
"fa_icon": "fas fa-microchip"
},
"aff_scale_transform_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Affine Scale Transform step of registration. Default: 15 G"
},
"def_scale_transform_cpus": {
"type": "integer",
"description": "Number of CPU cores for deformable scale registration. Default: 8",
"fa_icon": "fas fa-microchip"
},
"def_scale_transform_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Deformable Scale Transform step of registration. Default: 80 G"
},
"deform_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for Deform step of registration. Default: 1"
},
"deform_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Deform step of registration. Default: 10 G"
},
"registration_stitch_cpus": {
"type": "integer",
"description": "Number of CPU cores for Stitch step of registration. Default: 2",
"fa_icon": "fas fa-microchip"
},
"registration_stitch_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for Stitch step of registration. Default: 20 G"
},
"registration_transform_cpus": {
"type": "integer",
"description": "Number of CPU cores for final Transform step of registration. Default: 12",
"fa_icon": "fas fa-microchip"
},
"registration_transform_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for final Transform step of registration. Default: 80 G"
}
},
"fa_icon": "fas fa-layer-group"
},
"segmentation": {
"title": "Cell Segmentation",
"description": "Options for the cell segmentation algorithm (Starfinity)",
"help_text": "",
"type": "object",
"fa_icon": "fab fa-cloudsmith",
"properties": {
"segmentation_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for segmentation results. Default: segmentation",
"help_text": "This path is relative to `output_dir`.",
"hidden": true
},
"segmentation_scale": {
"type": "string",
"fa_icon": "fas fa-cube",
"description": "Imagery scale to use for segmentation. Default: s2"
},
"segmentation_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores for segmentation. Default: 3"
},
"segmentation_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for segmentation. Default: 45 G"
}
}
},
"spot_extraction": {
"title": "Spot Extraction",
"type": "object",
"description": "Options for spot extraction",
"fa_icon": "fas fa-eye-dropper",
"properties": {
"spot_extraction_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for spot extraction results. Default: spots",
"help_text": "This path is relative to `output_dir`.",
"hidden": true
},
"spot_extraction_scale": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Scale of imagery to use for spot extraction. Default: s0"
}
}
},
"airlocalize": {
"title": "Spot Extraction: Airlocalize",
"type": "object",
"description": "Options for the AirLocalize spot extraction algorithm",
"fa_icon": "fas fa-eye-dropper",
"properties": {
"airlocalize_xy_stride": {
"type": "integer",
"fa_icon": "fas fa-cube",
"description": "The number of voxels along x/y for registration tiling. Default: 1024",
"help_text": "Must be power of 2. Increasing this requires increasing `airlocalize_memory`."
},
"airlocalize_xy_overlap": {
"type": "integer",
"fa_icon": "fas fa-cube",
"description": "Tile overlap on x/y axes",
"help_text": "Defaults to 5% of airlocalize_xy_stride"
},
"airlocalize_z_stride": {
"type": "integer",
"fa_icon": "fas fa-cube",
"description": "The number of voxels along Z for registration tiling. Default: 512",
"help_text": "Must be a power of 2. Increasing this requires increasing `airlocalize_memory`."
},
"airlocalize_z_overlap": {
"type": "integer",
"fa_icon": "fas fa-cube",
"description": "Tile overlap on z axes",
"help_text": "Defaults to 5% of airlocalize_z_stride"
},
"default_airlocalize_params": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Path to the default AirLocalize parameter file. Default: /app/airlocalize/params/air_localize_default_params.txt",
"help_text": "By default, this points to default parameters inside the container",
"hidden": true
},
"per_channel_air_localize_params": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Comma-delimited paths to alternative AirLocalize parameter files, one per channel.",
"help_text": "If you have 4 channels, and you are extracting spots from c0, c1, and c3, this parameter should look like this: `/path/to/params_c0.txt,/path/to/params_c1.txt,,/path/to/params_c3.txt`. Note the double comma to denote the empty file for c2, which should not be processed."
},
"airlocalize_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores to allocate for each AirLocalize job. Default: 1"
},
"airlocalize_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of RAM to allocate to each AirLocalize job. Needs to be increased when increasing strides. Default: 2 G"
}
}
},
"rs_fish": {
"title": "Spot Extraction: RS-FISH",
"type": "object",
"description": "Options for the RS-FISH spot extraction algorithm",
"fa_icon": "fas fa-eye-dropper",
"properties": {
"use_rsfish": {
"type": "boolean",
"description": "Use RS-FISH instead of AirLocalize for Spot Extraction. Default: false",
"fa_icon": "fas fa-fish"
},
"rsfish_min": {
"type": "integer",
"description": "Minimal intensity of the image. Default: 0",
"fa_icon": "fas fa-angle-double-down"
},
"rsfish_max": {
"type": "integer",
"description": "Maximal intensity of the image. Default: 4096",
"fa_icon": "fas fa-angle-double-up"
},
"rsfish_anisotropy": {
"type": "number",
"description": "The anisotropy factor. Default: 0.7",
"help_text": "Scaling of z relative to xy. Can be determined using the RS-FISH anisotropy plugin in Fiji.",
"fa_icon": "fas fa-arrows-alt"
},
"rsfish_sigma": {
"type": "number",
"description": "Sigma value for Difference-of-Gaussian (DoG) calculation. Default 1.5",
"fa_icon": "fab fa-etsy"
},
"rsfish_threshold": {
"type": "number",
"description": "Threshold value for Difference-of-Gaussian (DoG) calculation. Default: 0.007",
"fa_icon": "fas fa-level-down-alt"
},
"rsfish_background": {
"type": "integer",
"description": "Background subtraction method, 0 == None, 1 == Mean, 2==Median, 3==RANSAC on Mean, 4==RANSAC on Median. Default: 0 (None)",
"fa_icon": "fas fa-level-down-alt"
},
"rsfish_intensity": {
"type": "integer",
"description": "Intensity calculation method, 0 == Linear Interpolation, 1 == Gaussian fit (on inlier pixels), 2 == Integrate spot intensities (on candidate pixels). Default: 0 (Linear Interpolation)",
"fa_icon": "fas fa-level-down-alt"
},
"per_channel.rsfish_min": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_min",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_max": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_max",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_anisotropy": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_anisotropy",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_sigma": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_sigma",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_threshold": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_threshold",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_background": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_background",
"fa_icon": "fas fa-terminal"
},
"per_channel.rsfish_intensity": {
"type": "string",
"description": "Comma delimited per channel values for rsfish_intensity",
"fa_icon": "fas fa-terminal"
},
"rsfish_params": {
"type": "string",
"description": "Any other parameters to pass to the RS-FISH algorithm.",
"help_text": "Complete parameter documentation for RS-FISH is [available here](https://github.com/PreibischLab/RS-FISH-Spark/blob/main/src/main/java/net/preibisch/rsfish/spark/SparkRSFISH.java).",
"fa_icon": "fas fa-terminal"
},
"rsfish_workers": {
"type": "integer",
"fa_icon": "fas fa-cogs",
"description": "Number of Spark workers to use for RS-FISH spot detection. Default: 4"
},
"rsfish_worker_cores": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of cores allocated to each RS-FISH Spark worker. Default: 4"
},
"rsfish_gb_per_core": {
"type": "integer",
"fa_icon": "fas fa-cog",
"description": "Size of memory (in GB) that is allocated for each core of a RS-FISH Spark worker. Default: 4",
"help_text": "The total memory usage for one acquisition will be workers * worker_cores * gb_per_core."
},
"rsfish_driver_cores": {
"type": "string",
"fa_icon": "fas fa-microchip",
"description": "Number of cores allocated for the RS-FISH Spark driver. Default: 1"
},
"rsfish_driver_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory to allocate for the RS-FISH Spark driver. Default: 15g"
}
}
},
"spot_warping": {
"title": "Spot Warping",
"type": "object",
"description": "Options for warping detected spots to registration",
"properties": {
"warp_spots_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores to use for warp spots. Default: 2"
},
"warp_spots_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for warp spots. Default: 30 G"
}
},
"fa_icon": "fas fa-chess-board"
},
"intensities": {
"title": "Intensity Measurement",
"type": "object",
"description": "Options for extracting quantified measurements of spot intensities",
"properties": {
"measure_intensities_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for intensities. Default: intensities",
"help_text": "This path is relative to `output_dir`.",
"hidden": true
},
"measure_intensities_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores to use for intensity measurement. Default: 1"
},
"measure_intensities_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for intensity measurement. Default: 8 G"
}
},
"fa_icon": "fas fa-ruler-horizontal"
},
"spot_assignment": {
"title": "Spot Assignment",
"type": "object",
"description": "Options for mapping spot counts to segmented cells",
"properties": {
"assign_spots_output": {
"type": "string",
"fa_icon": "far fa-folder",
"description": "Output directory for spot assignments. Default: assignments",
"help_text": "This path is relative to `output_dir`.",
"hidden": true
},
"assign_spots_cpus": {
"type": "integer",
"fa_icon": "fas fa-microchip",
"description": "Number of CPU cores to use for spot assignment. Default: 1"
},
"assign_spots_memory": {
"type": "string",
"fa_icon": "fas fa-memory",
"description": "Amount of memory for spot assignment. Default: 5 G"
}
},
"fa_icon": "fas fa-random"
},
"containers": {
"title": "Container Options",
"type": "object",
"fa_icon": "fab fa-docker",
"properties": {
"mfrepo": {
"type": "string",
"description": "Docker registry/repository to use for containers. Default: public.ecr.aws/janeliascicomp/multifish",
"fa_icon": "fas fa-database",
"help_text": "By default, the pipeline uses containers built as part of this project and deployed to DockerHub. You can rebuild the containers and deploy them to your own Registry and specify it here.",
"hidden": true
},
"spark_container_repo": {
"type": "string",
"description": "Docker container repo for stitching. Default: `<mfrepo>`",
"fa_icon": "fas fa-database",
"hidden": true
},
"spark_container_name": {
"type": "string",
"description": "Docker container name for stitching. Default: stitching",
"fa_icon": "fas fa-box-open",
"hidden": true
},
"spark_container_version": {
"type": "string",
"description": "Docker container version for stitching. Default: 1.0.0",
"fa_icon": "fas fa-code-branch",
"hidden": true
},
"registration_container": {
"type": "string",
"description": "Docker container for running registration and warp_spots. Default: `<mfrepo>`/registration:1.2.0",
"fa_icon": "fas fa-box-open",
"hidden": true
},
"segmentation_container": {
"type": "string",
"description": "Docker container for running segmentation. Default: `<mfrepo>`/segmentation:1.0.0",
"fa_icon": "fas fa-box-open",
"hidden": true
},
"airlocalize_container": {
"type": "string",
"description": "Docker container for running spot extraction. Default: `<mfrepo>`/airlocalize:1.0.2",
"fa_icon": "fas fa-box-open",
"hidden": true
},
"spots_assignment_container": {
"type": "string",
"description": "Docker container for running intensity measurement and spot assignment. Default: `<mfrepo>`/spot_assignment:1.2.0",
"fa_icon": "fas fa-box-open",
"hidden": true
}
},
"description": "Customize the Docker containers used for each pipeline step"
},
"other": {
"title": "Other Options",
"type": "object",
"fa_icon": "fas fa-list-ul",
"properties": {
"skip": {
"type": "string",
"description": "Comma-delimited list of steps to skip, e.g. stitching,registration.",
"fa_icon": "fas fa-fast-forward",
"help_text": "Valid values: stitching,spot_extraction,segmentation,registration,warp_spots,measure_intensities,assign_spots"
},
"singularity_cache_dir": {
"type": "string",
"description": "Shared directory where Singularity containers are cached. Default: $shared_work_dir/singularity_cache or $HOME/.singularity_cache",
"fa_icon": "fas fa-folder-open",
"hidden": true
},
"singularity_user": {
"type": "string",
"fa_icon": "fas fa-user",
"description": "User to use for running Singularity containers. Default: $USER",
"hidden": true,
"help_text": "This is automatically set to `ec2-user` when using the 'tower' profile"
},
"runtime_opts": {
"type": "string",
"fa_icon": "fas fa-terminal",
"help_text": "Runtime options for Singularity must include mounts for any directory paths you are using. You can also pass the --nv flag here to make use of NVIDIA GPU resources. For example, `--nv -B /your/data/dir -B /your/output/dir`\n",
"description": "Runtime options for the container engine being used (e.g. Singularity or Docker)."
},
"lsf_opts": {
"type": "string",
"description": "Options for LSF cluster at Janelia, when using the lsf profile.",
"fa_icon": "fas fa-terminal"
}
},
"description": "Other global options affecting all pipelines stages"
}
},
"allOf": [
{
"$ref": "#/definitions/data"
},
{
"$ref": "#/definitions/stitching"
},
{
"$ref": "#/definitions/registration"
},
{
"$ref": "#/definitions/segmentation"
},
{
"$ref": "#/definitions/spot_extraction"
},
{
"$ref": "#/definitions/airlocalize"
},
{
"$ref": "#/definitions/rs_fish"
},
{
"$ref": "#/definitions/spot_warping"
},
{
"$ref": "#/definitions/intensities"
},
{
"$ref": "#/definitions/spot_assignment"
},
{
"$ref": "#/definitions/containers"
},
{
"$ref": "#/definitions/other"
}
]
}