Skip to content

Commit 45b167b

Browse files
feat(app-panel): improve Code Ocean parameters & categories (#3)
* Update boolean parameters to TRUE/FALSE list options * Move count_type to first position in Basic category * Update norm_type to list with voom option (default: voom) * Update voom_normalization_method to list with none, scale, quantile, cyclicloess (default: quantile) * Update legend_position parameter(s) to list with top, bottom, left, right options * Match PCA point size default to filter capsule * Split visualization parameters by plot type * Move Advanced category to end * Move normalization type before method * docs: update changelog --------- Co-authored-by: Kelly Sovacool, PhD <kelly-sovacool@users.noreply.github.com>
1 parent 9135798 commit 45b167b

3 files changed

Lines changed: 130 additions & 64 deletions

File tree

.codeocean/app-panel.json

Lines changed: 124 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,46 +16,59 @@
1616
"id": "gDLmTU36PrmD13RK",
1717
"name": "Input Data Parameters",
1818
"description": "Options for defining input data",
19-
"icon": "📁"
19+
"icon": "\ud83d\udcc1"
2020
},
2121
{
2222
"id": "gn9FXwemlVazWQIo",
2323
"name": "Basic",
24-
"icon": "📂"
24+
"icon": "\ud83d\udcc2"
25+
},
26+
{
27+
"id": "VisGeneral",
28+
"name": "Visualization: General",
29+
"description": "General visualization and plotting options",
30+
"icon": "\ud83d\udcca"
31+
},
32+
{
33+
"id": "VisPCA",
34+
"name": "Visualization: PCA",
35+
"description": "PCA plot options",
36+
"icon": "\ud83d\udcca"
37+
},
38+
{
39+
"id": "VisHistogram",
40+
"name": "Visualization: Histogram",
41+
"description": "Histogram plot options",
42+
"icon": "\ud83d\udcca"
43+
},
44+
{
45+
"id": "VisHeatmap",
46+
"name": "Visualization: Heatmap",
47+
"description": "Heatmap plot options",
48+
"icon": "\ud83d\udcca"
2549
},
2650
{
2751
"id": "XqgPq28Eo5VCFSZu",
2852
"name": "Advanced",
2953
"description": "Advanced parameters",
30-
"icon": "📂"
31-
},
32-
{
33-
"id": "uQ7pLsNmVtR2cX9b",
34-
"name": "Visualization",
35-
"description": "Visualization and plotting options",
36-
"icon": "📊"
54+
"icon": "\ud83d\udcc2"
3755
}
3856
],
3957
"parameters": [
4058
{
4159
"id": "UA4GuIpVAxdcmHAG",
42-
"category": "XqgPq28Eo5VCFSZu",
60+
"category": "gn9FXwemlVazWQIo",
4361
"name": "Count type",
4462
"param_name": "count_type",
4563
"description": "Type of counts to normalize. Must be a count type in names(moo@counts)",
46-
"type": "text",
47-
"value_type": "string",
48-
"default_value": "filt"
49-
},
50-
{
51-
"id": "vA3pMmQwKs8nZx1c",
52-
"category": "gn9FXwemlVazWQIo",
53-
"name": "Normalization type",
54-
"param_name": "norm_type",
55-
"description": "Normalization type (default: voom)",
56-
"type": "text",
64+
"type": "list",
5765
"value_type": "string",
58-
"default_value": "voom"
66+
"default_value": "filt",
67+
"extra_data": [
68+
"raw",
69+
"clean",
70+
"filt"
71+
]
5972
},
6073
{
6174
"id": "vB4qNnRxLt9oAy2d",
@@ -73,20 +86,42 @@
7386
"name": "Input already log2",
7487
"param_name": "input_in_log_counts",
7588
"description": "Set TRUE if counts are already log2-transformed",
76-
"type": "text",
89+
"type": "list",
7790
"value_type": "string",
7891
"default_value": "FALSE",
79-
"pattern": "TRUE|FALSE|T|F"
92+
"extra_data": [
93+
"TRUE",
94+
"FALSE"
95+
]
96+
},
97+
{
98+
"id": "vA3pMmQwKs8nZx1c",
99+
"category": "gn9FXwemlVazWQIo",
100+
"name": "Normalization type",
101+
"param_name": "norm_type",
102+
"description": "Normalization type (default: voom)",
103+
"type": "list",
104+
"value_type": "string",
105+
"default_value": "voom",
106+
"extra_data": [
107+
"voom"
108+
]
80109
},
81110
{
82111
"id": "vD6sPpTzNv1qCw4f",
83112
"category": "gn9FXwemlVazWQIo",
84113
"name": "Voom normalization method",
85114
"param_name": "voom_normalization_method",
86115
"description": "Normalization method for limma::voom",
87-
"type": "text",
116+
"type": "list",
88117
"value_type": "string",
89-
"default_value": "quantile"
118+
"default_value": "quantile",
119+
"extra_data": [
120+
"none",
121+
"scale",
122+
"quantile",
123+
"cyclicloess"
124+
]
90125
},
91126
{
92127
"id": "vE7tQqUaOw2rDx5g",
@@ -110,7 +145,7 @@
110145
},
111146
{
112147
"id": "vG9vSsWcQy4tFz7i",
113-
"category": "XqgPq28Eo5VCFSZu",
148+
"category": "VisGeneral",
114149
"name": "Label column name",
115150
"param_name": "label_colname",
116151
"description": "Column from sample metadata containing labels for plots",
@@ -130,7 +165,7 @@
130165
},
131166
{
132167
"id": "vI1xUuYeSa6vHb9k",
133-
"category": "XqgPq28Eo5VCFSZu",
168+
"category": "VisPCA",
134169
"name": "Samples to rename",
135170
"param_name": "samples_to_rename",
136171
"description": "Sample renaming pairs: old_name:new_name",
@@ -140,7 +175,7 @@
140175
},
141176
{
142177
"id": "vJ2yVvZfTb7wIc0l",
143-
"category": "XqgPq28Eo5VCFSZu",
178+
"category": "VisGeneral",
144179
"name": "Colors for plots",
145180
"param_name": "colors_for_plots",
146181
"description": "Comma-separated list of colors for PCA and histogram",
@@ -150,18 +185,21 @@
150185
},
151186
{
152187
"id": "vK3zWwAgUc8xJd1m",
153-
"category": "uQ7pLsNmVtR2cX9b",
188+
"category": "VisPCA",
154189
"name": "Add labels to PCA",
155190
"param_name": "add_label_to_pca",
156191
"description": "Label points on the PCA plot",
157-
"type": "text",
192+
"type": "list",
158193
"value_type": "string",
159194
"default_value": "TRUE",
160-
"pattern": "TRUE|FALSE|T|F"
195+
"extra_data": [
196+
"TRUE",
197+
"FALSE"
198+
]
161199
},
162200
{
163201
"id": "vL4aXxBhVd9yKe2n",
164-
"category": "uQ7pLsNmVtR2cX9b",
202+
"category": "VisPCA",
165203
"name": "PCA component on x-axis",
166204
"param_name": "principal_component_on_x_axis",
167205
"description": "Principal component to plot on the x-axis",
@@ -171,7 +209,7 @@
171209
},
172210
{
173211
"id": "vM5bYyCiWe0zLf3o",
174-
"category": "uQ7pLsNmVtR2cX9b",
212+
"category": "VisPCA",
175213
"name": "PCA component on y-axis",
176214
"param_name": "principal_component_on_y_axis",
177215
"description": "Principal component to plot on the y-axis",
@@ -181,17 +219,23 @@
181219
},
182220
{
183221
"id": "vN6cZzDjXf1aMg4p",
184-
"category": "uQ7pLsNmVtR2cX9b",
222+
"category": "VisPCA",
185223
"name": "Legend position for PCA",
186224
"param_name": "legend_position_for_pca",
187225
"description": "Legend position for the PCA plot",
188-
"type": "text",
226+
"type": "list",
189227
"value_type": "string",
190-
"default_value": "top"
228+
"default_value": "top",
229+
"extra_data": [
230+
"top",
231+
"bottom",
232+
"left",
233+
"right"
234+
]
191235
},
192236
{
193237
"id": "vO7dAaEkYg2bNh5q",
194-
"category": "uQ7pLsNmVtR2cX9b",
238+
"category": "VisPCA",
195239
"name": "Label offset x",
196240
"param_name": "label_offset_x_",
197241
"description": "Label offset x for the PCA plot",
@@ -201,7 +245,7 @@
201245
},
202246
{
203247
"id": "vP8eBbFlZh3cOi6r",
204-
"category": "uQ7pLsNmVtR2cX9b",
248+
"category": "VisPCA",
205249
"name": "Label offset y",
206250
"param_name": "label_offset_y_",
207251
"description": "Label offset y for the PCA plot",
@@ -211,7 +255,7 @@
211255
},
212256
{
213257
"id": "vQ9fCcGmAi4dPj7s",
214-
"category": "uQ7pLsNmVtR2cX9b",
258+
"category": "VisPCA",
215259
"name": "Label font size",
216260
"param_name": "label_font_size",
217261
"description": "Label font size for the PCA plot",
@@ -221,39 +265,45 @@
221265
},
222266
{
223267
"id": "vR0gDdHnBj5eQk8t",
224-
"category": "uQ7pLsNmVtR2cX9b",
268+
"category": "VisPCA",
225269
"name": "Point size for PCA",
226270
"param_name": "point_size_for_pca",
227271
"description": "Point size for the PCA plot",
228272
"type": "text",
229273
"value_type": "number",
230-
"default_value": "8"
274+
"default_value": "1"
231275
},
232276
{
233277
"id": "vS1hEeIoCk6fRl9u",
234-
"category": "uQ7pLsNmVtR2cX9b",
278+
"category": "VisHistogram",
235279
"name": "Color histogram by group",
236280
"param_name": "color_histogram_by_group",
237281
"description": "Color histogram by group instead of sample",
238-
"type": "text",
282+
"type": "list",
239283
"value_type": "string",
240284
"default_value": "TRUE",
241-
"pattern": "TRUE|FALSE|T|F"
285+
"extra_data": [
286+
"TRUE",
287+
"FALSE"
288+
]
242289
},
243290
{
244291
"id": "vT2iFfJpDl7gSm0v",
245-
"category": "uQ7pLsNmVtR2cX9b",
292+
"category": "VisHistogram",
246293
"name": "Set histogram x-axis min/max",
247294
"param_name": "set_min_max_for_x_axis_for_histogram",
248295
"description": "Set min/max value for histogram x-axis",
249-
"type": "text",
296+
"type": "list",
250297
"value_type": "string",
251298
"default_value": "FALSE",
252-
"pattern": "TRUE|FALSE|T|F"
299+
"extra_data": [
300+
"TRUE",
301+
"FALSE"
302+
]
253303
},
254304
{
255305
"id": "vU3jGgKqEm8hTn1w",
256-
"category": "uQ7pLsNmVtR2cX9b",
306+
"category": "VisHistogram",
257307
"name": "Histogram x-axis minimum",
258308
"param_name": "minimum_for_x_axis_for_histogram",
259309
"description": "x-axis minimum for histogram plot",
@@ -263,7 +313,7 @@
263313
},
264314
{
265315
"id": "vV4kHhLrFn9iUo2x",
266-
"category": "uQ7pLsNmVtR2cX9b",
316+
"category": "VisHistogram",
267317
"name": "Histogram x-axis maximum",
268318
"param_name": "maximum_for_x_axis_for_histogram",
269319
"description": "x-axis maximum for histogram plot",
@@ -273,7 +323,7 @@
273323
},
274324
{
275325
"id": "vW5lIiMsGo0jVp3y",
276-
"category": "uQ7pLsNmVtR2cX9b",
326+
"category": "VisHistogram",
277327
"name": "Legend font size for histogram",
278328
"param_name": "legend_font_size_for_histogram",
279329
"description": "Legend font size for histogram plot",
@@ -283,17 +333,23 @@
283333
},
284334
{
285335
"id": "vX6mJjNtHp1kWq4z",
286-
"category": "uQ7pLsNmVtR2cX9b",
336+
"category": "VisHistogram",
287337
"name": "Legend position for histogram",
288338
"param_name": "legend_position_for_histogram",
289339
"description": "Legend position for histogram plot",
290-
"type": "text",
340+
"type": "list",
291341
"value_type": "string",
292-
"default_value": "top"
342+
"default_value": "top",
343+
"extra_data": [
344+
"top",
345+
"bottom",
346+
"left",
347+
"right"
348+
]
293349
},
294350
{
295351
"id": "vY7nKkOuIq2lXr5a",
296-
"category": "uQ7pLsNmVtR2cX9b",
352+
"category": "VisHistogram",
297353
"name": "Histogram legend columns",
298354
"param_name": "number_of_histogram_legend_columns",
299355
"description": "Number of columns for the histogram legend",
@@ -303,27 +359,33 @@
303359
},
304360
{
305361
"id": "vZ8oLlPvJr3mYs6b",
306-
"category": "uQ7pLsNmVtR2cX9b",
362+
"category": "VisGeneral",
307363
"name": "Plot correlation heatmap",
308364
"param_name": "plot_corr_matrix_heatmap",
309365
"description": "Create a correlation matrix heatmap for sample similarity",
310366
"help_text": "Set to FALSE for datasets with many samples to avoid long run times",
311-
"type": "text",
367+
"type": "list",
312368
"value_type": "string",
313369
"default_value": "TRUE",
314-
"pattern": "TRUE|FALSE|T|F"
370+
"extra_data": [
371+
"TRUE",
372+
"FALSE"
373+
]
315374
},
316375
{
317376
"id": "wA9pMmQwKs4nZt7c",
318-
"category": "uQ7pLsNmVtR2cX9b",
377+
"category": "VisGeneral",
319378
"name": "Interactive plots",
320379
"param_name": "interactive_plots",
321380
"description": "Create interactive plots with plotly (PCA and histogram)",
322381
"help_text": "Interactive plots allow hovering to view sample information, but correlation heatmap will not display",
323-
"type": "text",
382+
"type": "list",
324383
"value_type": "string",
325384
"default_value": "FALSE",
326-
"pattern": "TRUE|FALSE|T|F"
385+
"extra_data": [
386+
"TRUE",
387+
"FALSE"
388+
]
327389
}
328390
],
329391
"results": [
@@ -337,4 +399,4 @@
337399
"file_name": "figures/norm/voom/pca.png"
338400
}
339401
]
340-
}
402+
}

0 commit comments

Comments
 (0)