-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_all_manuscript_workflows.py
More file actions
92 lines (69 loc) · 3.4 KB
/
run_all_manuscript_workflows.py
File metadata and controls
92 lines (69 loc) · 3.4 KB
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
import argparse
from nuc_morph_analysis.utilities.workflow_runner import get_jobs, execute
from nuc_morph_analysis.analyses.colony_area import colony_area_workflow
from nuc_morph_analysis.analyses.segmentation_model_validation import seg_model_validation_figure_workflow
class Workflows:
def figure_1_dataset():
import nuc_morph_analysis.analyses.dataset_images_for_figures.figure_1_workflow
# panel E items are generated in segmentation_model_validation
colony_area_workflow.baseline_colony_starting_area()
def figure_s1_cell_health():
import nuc_morph_analysis.analyses.cell_health.figure_s1_workflow
def figure_s2_s3_s18_segmentation_model_validation():
seg_model_validation_figure_workflow.save_out_specified_image_pairs_with_overlays()
import nuc_morph_analysis.analyses.segmentation_model_validation.quantitative_validation_workflow
# figure 2 images generated using timelapse feature exploroer
def figure_3_s4_height_density():
# figure 3 images generated using timelapse feauture explorer
import nuc_morph_analysis.analyses.height.figure_3_s4_workflow
# figure s5 image data can be found on quilt
def figure_s6_s16_inhibitors():
import nuc_morph_analysis.analyses.inhibitors.figure_s6_s16_workflow
colony_area_workflow.aphidicolin_control_starting_area()
colony_area_workflow.importazole_control_starting_area()
def figure_s7_growth_outliers():
import nuc_morph_analysis.analyses.evaluate_filters_and_outliers.figure_s7_workflow
def figure_4_s8_volume_trajectories():
import nuc_morph_analysis.analyses.volume.figure_4_s8_workflow
def figure_5_s9_s10_local_growth():
import nuc_morph_analysis.analyses.volume.figure_5_s9_workflow
import nuc_morph_analysis.analyses.volume.FigS10_workflow
def figure_6_s11_compensation():
import nuc_morph_analysis.analyses.volume_variation.figure_6_s11_workflow
def figure_s12_feeding_control():
import nuc_morph_analysis.analyses.feeding_control.figure_s12_workflow
colony_area_workflow.feeding_control_starting_area()
def figure_7_s13_s14_lineage():
import nuc_morph_analysis.analyses.lineage.figure_7_s13_s14_workflow
def figure_s15_linear_regression_model():
import nuc_morph_analysis.analyses.linear_regression.figure_s15_workflow
# figure s17 image data can be found on quilt
def figure_s19_transition_point():
import nuc_morph_analysis.analyses.volume.figure_s19_workflow
def figure_s20_precision_error():
import nuc_morph_analysis.analyses.error_morflowgenesis.workflows.figure_s20_workflow
ALL_WORKFLOWS = get_jobs(Workflows)
parser = argparse.ArgumentParser(description="Run all manuscript workflows")
# Optional command line argument
parser.add_argument(
"--only",
default=[],
nargs="+",
help="Only run the specified workflows. Separate names with spaces.",
)
parser.add_argument(
"--list",
action="store_true",
default=False,
help="List available workflows.",
)
args = parser.parse_args()
only = args.only
workflows = ALL_WORKFLOWS
if args.list:
for wf in workflows:
print(wf.__name__)
else:
if len(only) >= 1:
workflows = [wf for wf in workflows if wf.__name__ in only]
execute(workflows, verbose=True)