Skip to content

Commit 058a365

Browse files
air format (GitHub Actions)
1 parent 6011ca6 commit 058a365

1 file changed

Lines changed: 163 additions & 48 deletions

File tree

code/main.R

Lines changed: 163 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -12,58 +12,173 @@ setup_capsule_environment()
1212
# parse CLI arguments
1313
parser <- ArgumentParser()
1414

15-
parser$add_argument("--feature_id_colname", type="character", default=NULL, help="Column name for feature IDs")
16-
parser$add_argument("--significance_column", type="character", default="adjpval", help="Column name for significance")
17-
parser$add_argument("--significance_cutoff", type="double", default=0.05, help="Significance cutoff threshold")
18-
parser$add_argument("--change_column", type="character", default="logFC", help="Column name for change")
19-
parser$add_argument("--change_cutoff", type="double", default=1, help="Change cutoff threshold")
20-
parser$add_argument("--filtering_mode", type="character", default="any", help="Filter mode: any or all")
21-
parser$add_argument("--include_estimates", type="character", default="FC,logFC,tstat,pval,adjpval", help="Comma-separated list of estimates to include")
22-
parser$add_argument("--round_estimates", type="logical", default=TRUE, help="Round estimates")
23-
parser$add_argument("--rounding_decimal_for_percent_cells", type="integer", default=0, help="Decimal places for percent labels")
24-
parser$add_argument("--contrast_filter", type="character", default="none", help="Filter contrasts: keep, remove, or none")
25-
parser$add_argument("--contrasts", type="character", default="", help="Comma-separated list of contrasts")
26-
parser$add_argument("--groups", type="character", default="", help="Comma-separated list of groups")
27-
parser$add_argument("--groups_filter", type="character", default="none", help="Filter groups: keep, remove, or none")
28-
parser$add_argument("--label_font_size", type="double", default=6, help="Font size for labels")
29-
parser$add_argument("--label_distance", type="double", default=1, help="Distance of labels from bars")
30-
parser$add_argument("--y_axis_expansion", type="double", default=0.08, help="Y-axis expansion")
31-
parser$add_argument("--fill_colors", type="character", default="steelblue1,whitesmoke", help="Comma-separated fill colors")
32-
parser$add_argument("--pie_chart_in_3d", type="logical", default=TRUE, help="Draw pie charts in 3D")
33-
parser$add_argument("--bar_width", type="double", default=0.4, help="Bar width")
34-
parser$add_argument("--draw_bar_border", type="logical", default=TRUE, help="Draw bar borders")
35-
parser$add_argument("--plot_type", type="character", default="bar", help="Plot type: bar or pie")
36-
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+
)
37147

38148
args <- parser$parse_args()
39149

40150
# load multiOmicDataSet from data directory
41151
moo <- load_moo_from_data_dir()
42152

43153
# run MOSuite
44-
moo |>
45-
filter_diff(
46-
feature_id_colname = args$feature_id_colname,
47-
significance_column = args$significance_column,
48-
significance_cutoff = args$significance_cutoff,
49-
change_column = args$change_column,
50-
change_cutoff = args$change_cutoff,
51-
filtering_mode = args$filtering_mode,
52-
include_estimates = parse_optional_vector(args$include_estimates),
53-
round_estimates = args$round_estimates,
54-
rounding_decimal_for_percent_cells = args$rounding_decimal_for_percent_cells,
55-
contrast_filter = args$contrast_filter,
56-
contrasts = parse_optional_vector(args$contrasts),
57-
groups = parse_optional_vector(args$groups),
58-
groups_filter = args$groups_filter,
59-
label_font_size = args$label_font_size,
60-
label_distance = args$label_distance,
61-
y_axis_expansion = args$y_axis_expansion,
62-
fill_colors = parse_optional_vector(args$fill_colors),
63-
pie_chart_in_3d = args$pie_chart_in_3d,
64-
bar_width = args$bar_width,
65-
draw_bar_border = args$draw_bar_border,
66-
plot_type = args$plot_type,
67-
plot_titles_fontsize = args$plot_titles_fontsize
68-
) |>
69-
write_rds(file.path(getOption("moo_plots_dir"), "..", "moo", "moo-diff-filt.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

Comments
 (0)