11# !/usr/bin/env Rscript
2- rlang :: global_entrace()
32library(argparse )
43library(glue )
54library(MOSuite )
@@ -13,58 +12,173 @@ setup_capsule_environment()
1312# parse CLI arguments
1413parser <- ArgumentParser()
1514
16- parser $ add_argument(" --feature_id_colname" , type = " character" , default = NULL , help = " Column name for feature IDs" )
17- parser $ add_argument(" --significance_column" , type = " character" , default = " adjpval" , help = " Column name for significance" )
18- parser $ add_argument(" --significance_cutoff" , type = " double" , default = 0.05 , help = " Significance cutoff threshold" )
19- parser $ add_argument(" --change_column" , type = " character" , default = " logFC" , help = " Column name for change" )
20- parser $ add_argument(" --change_cutoff" , type = " double" , default = 1 , help = " Change cutoff threshold" )
21- parser $ add_argument(" --filtering_mode" , type = " character" , default = " any" , help = " Filter mode: any or all" )
22- parser $ add_argument(" --include_estimates" , type = " character" , default = " FC,logFC,tstat,pval,adjpval" , help = " Comma-separated list of estimates to include" )
23- parser $ add_argument(" --round_estimates" , type = " logical" , default = TRUE , help = " Round estimates" )
24- parser $ add_argument(" --rounding_decimal_for_percent_cells" , type = " integer" , default = 0 , help = " Decimal places for percent labels" )
25- parser $ add_argument(" --contrast_filter" , type = " character" , default = " none" , help = " Filter contrasts: keep, remove, or none" )
26- parser $ add_argument(" --contrasts" , type = " character" , default = " " , help = " Comma-separated list of contrasts" )
27- parser $ add_argument(" --groups" , type = " character" , default = " " , help = " Comma-separated list of groups" )
28- parser $ add_argument(" --groups_filter" , type = " character" , default = " none" , help = " Filter groups: keep, remove, or none" )
29- parser $ add_argument(" --label_font_size" , type = " double" , default = 6 , help = " Font size for labels" )
30- parser $ add_argument(" --label_distance" , type = " double" , default = 1 , help = " Distance of labels from bars" )
31- parser $ add_argument(" --y_axis_expansion" , type = " double" , default = 0.08 , help = " Y-axis expansion" )
32- parser $ add_argument(" --fill_colors" , type = " character" , default = " steelblue1,whitesmoke" , help = " Comma-separated fill colors" )
33- parser $ add_argument(" --pie_chart_in_3d" , type = " logical" , default = TRUE , help = " Draw pie charts in 3D" )
34- parser $ add_argument(" --bar_width" , type = " double" , default = 0.4 , help = " Bar width" )
35- parser $ add_argument(" --draw_bar_border" , type = " logical" , default = TRUE , help = " Draw bar borders" )
36- parser $ add_argument(" --plot_type" , type = " character" , default = " bar" , help = " Plot type: bar or pie" )
37- parser $ add_argument(" --plot_titles_fontsize" , type = " integer" , default = 12 , help = " Font size for plot titles" )
15+ parser $ add_argument(
16+ " --feature_id_colname" ,
17+ type = " character" ,
18+ default = NULL ,
19+ help = " Column name for feature IDs"
20+ )
21+ parser $ add_argument(
22+ " --significance_column" ,
23+ type = " character" ,
24+ default = " adjpval" ,
25+ help = " Column name for significance"
26+ )
27+ parser $ add_argument(
28+ " --significance_cutoff" ,
29+ type = " double" ,
30+ default = 0.05 ,
31+ help = " Significance cutoff threshold"
32+ )
33+ parser $ add_argument(
34+ " --change_column" ,
35+ type = " character" ,
36+ default = " logFC" ,
37+ help = " Column name for change"
38+ )
39+ parser $ add_argument(
40+ " --change_cutoff" ,
41+ type = " double" ,
42+ default = 1 ,
43+ help = " Change cutoff threshold"
44+ )
45+ parser $ add_argument(
46+ " --filtering_mode" ,
47+ type = " character" ,
48+ default = " any" ,
49+ help = " Filter mode: any or all"
50+ )
51+ parser $ add_argument(
52+ " --include_estimates" ,
53+ type = " character" ,
54+ default = " FC,logFC,tstat,pval,adjpval" ,
55+ help = " Comma-separated list of estimates to include"
56+ )
57+ parser $ add_argument(
58+ " --round_estimates" ,
59+ type = " logical" ,
60+ default = TRUE ,
61+ help = " Round estimates"
62+ )
63+ parser $ add_argument(
64+ " --rounding_decimal_for_percent_cells" ,
65+ type = " integer" ,
66+ default = 0 ,
67+ help = " Decimal places for percent labels"
68+ )
69+ parser $ add_argument(
70+ " --contrast_filter" ,
71+ type = " character" ,
72+ default = " none" ,
73+ help = " Filter contrasts: keep, remove, or none"
74+ )
75+ parser $ add_argument(
76+ " --contrasts" ,
77+ type = " character" ,
78+ default = " " ,
79+ help = " Comma-separated list of contrasts"
80+ )
81+ parser $ add_argument(
82+ " --groups" ,
83+ type = " character" ,
84+ default = " " ,
85+ help = " Comma-separated list of groups"
86+ )
87+ parser $ add_argument(
88+ " --groups_filter" ,
89+ type = " character" ,
90+ default = " none" ,
91+ help = " Filter groups: keep, remove, or none"
92+ )
93+ parser $ add_argument(
94+ " --label_font_size" ,
95+ type = " double" ,
96+ default = 6 ,
97+ help = " Font size for labels"
98+ )
99+ parser $ add_argument(
100+ " --label_distance" ,
101+ type = " double" ,
102+ default = 1 ,
103+ help = " Distance of labels from bars"
104+ )
105+ parser $ add_argument(
106+ " --y_axis_expansion" ,
107+ type = " double" ,
108+ default = 0.08 ,
109+ help = " Y-axis expansion"
110+ )
111+ parser $ add_argument(
112+ " --fill_colors" ,
113+ type = " character" ,
114+ default = " steelblue1,whitesmoke" ,
115+ help = " Comma-separated fill colors"
116+ )
117+ parser $ add_argument(
118+ " --pie_chart_in_3d" ,
119+ type = " logical" ,
120+ default = TRUE ,
121+ help = " Draw pie charts in 3D"
122+ )
123+ parser $ add_argument(
124+ " --bar_width" ,
125+ type = " double" ,
126+ default = 0.4 ,
127+ help = " Bar width"
128+ )
129+ parser $ add_argument(
130+ " --draw_bar_border" ,
131+ type = " logical" ,
132+ default = TRUE ,
133+ help = " Draw bar borders"
134+ )
135+ parser $ add_argument(
136+ " --plot_type" ,
137+ type = " character" ,
138+ default = " bar" ,
139+ help = " Plot type: bar or pie"
140+ )
141+ parser $ add_argument(
142+ " --plot_titles_fontsize" ,
143+ type = " integer" ,
144+ default = 12 ,
145+ help = " Font size for plot titles"
146+ )
38147
39148args <- parser $ parse_args()
40149
41150# load multiOmicDataSet from data directory
42151moo <- load_moo_from_data_dir()
43152
44153# run MOSuite
45- moo | >
46- filter_diff(
47- feature_id_colname = args $ feature_id_colname ,
48- significance_column = args $ significance_column ,
49- significance_cutoff = args $ significance_cutoff ,
50- change_column = args $ change_column ,
51- change_cutoff = args $ change_cutoff ,
52- filtering_mode = args $ filtering_mode ,
53- include_estimates = parse_optional_vector(args $ include_estimates ),
54- round_estimates = args $ round_estimates ,
55- rounding_decimal_for_percent_cells = args $ rounding_decimal_for_percent_cells ,
56- contrast_filter = args $ contrast_filter ,
57- contrasts = parse_optional_vector(args $ contrasts ),
58- groups = parse_optional_vector(args $ groups ),
59- groups_filter = args $ groups_filter ,
60- label_font_size = args $ label_font_size ,
61- label_distance = args $ label_distance ,
62- y_axis_expansion = args $ y_axis_expansion ,
63- fill_colors = parse_optional_vector(args $ fill_colors ),
64- pie_chart_in_3d = args $ pie_chart_in_3d ,
65- bar_width = args $ bar_width ,
66- draw_bar_border = args $ draw_bar_border ,
67- plot_type = args $ plot_type ,
68- plot_titles_fontsize = args $ plot_titles_fontsize
69- ) | >
70- write_rds(file.path(getOption(" moo_plots_dir" ), " .." , " moo" , " moo.rds" ))
154+ moo | >
155+ filter_diff(
156+ feature_id_colname = args $ feature_id_colname ,
157+ significance_column = args $ significance_column ,
158+ significance_cutoff = args $ significance_cutoff ,
159+ change_column = args $ change_column ,
160+ change_cutoff = args $ change_cutoff ,
161+ filtering_mode = args $ filtering_mode ,
162+ include_estimates = parse_optional_vector(args $ include_estimates ),
163+ round_estimates = args $ round_estimates ,
164+ rounding_decimal_for_percent_cells = args $ rounding_decimal_for_percent_cells ,
165+ contrast_filter = args $ contrast_filter ,
166+ contrasts = parse_optional_vector(args $ contrasts ),
167+ groups = parse_optional_vector(args $ groups ),
168+ groups_filter = args $ groups_filter ,
169+ label_font_size = args $ label_font_size ,
170+ label_distance = args $ label_distance ,
171+ y_axis_expansion = args $ y_axis_expansion ,
172+ fill_colors = parse_optional_vector(args $ fill_colors ),
173+ pie_chart_in_3d = args $ pie_chart_in_3d ,
174+ bar_width = args $ bar_width ,
175+ draw_bar_border = args $ draw_bar_border ,
176+ plot_type = args $ plot_type ,
177+ plot_titles_fontsize = args $ plot_titles_fontsize
178+ ) | >
179+ write_rds(file.path(
180+ getOption(" moo_plots_dir" ),
181+ " .." ,
182+ " moo" ,
183+ " moo-diff-filt.rds"
184+ ))
0 commit comments