Skip to content

Commit 64184e0

Browse files
feat(app-panel): improve capsule parameter UI (#2)
* Update boolean parameters to TRUE/FALSE list options * Update count_type to list with raw and clean options (default: clean) * Move count_type to first position in Basic category * Split visualization parameters by plot type * Move group-based filtering first * Update changelog for parameter UI changes * docs: Update changelog with contributor mention Added contributor mention in the changelog for clarity. --------- Co-authored-by: Kelly Sovacool, PhD <kelly-sovacool@users.noreply.github.com>
1 parent 7e33500 commit 64184e0

2 files changed

Lines changed: 52 additions & 32 deletions

File tree

.codeocean/app-panel.json

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,41 @@
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"
2525
},
2626
{
2727
"id": "rT9kLmPqRsUvWxYz",
28-
"name": "Visualization",
29-
"description": "Visualization and plotting options",
30-
"icon": "📊"
28+
"name": "Visualization: General",
29+
"description": "General visualization and plotting options",
30+
"icon": "\ud83d\udcca"
3131
},
3232
{
3333
"id": "XqgPq28Eo5VCFSZu",
3434
"name": "Advanced",
3535
"description": "Advanced parameters",
36-
"icon": "📂"
36+
"icon": "\ud83d\udcc2"
3737
}
3838
],
3939
"parameters": [
40+
{
41+
"id": "vJvArGM6rjelGp9u",
42+
"category": "gn9FXwemlVazWQIo",
43+
"name": "Count type",
44+
"param_name": "count_type",
45+
"description": "Type of counts to filter. Must be a count type in names(moo@counts)",
46+
"type": "list",
47+
"value_type": "string",
48+
"default_value": "clean",
49+
"extra_data": [
50+
"raw",
51+
"clean"
52+
]
53+
},
4054
{
4155
"id": "vJvArGM6rjelGp9v",
4256
"category": "gn9FXwemlVazWQIo",
@@ -74,10 +88,13 @@
7488
"param_name": "use_cpm_counts_to_filter",
7589
"description": "Transform raw counts to CPM before filtering",
7690
"help_text": "Set TRUE for raw counts, FALSE if counts are already normalized/transformed",
77-
"type": "text",
91+
"type": "list",
7892
"value_type": "string",
7993
"default_value": "TRUE",
80-
"pattern": "TRUE|FALSE|T|F"
94+
"extra_data": [
95+
"TRUE",
96+
"FALSE"
97+
]
8198
},
8299
{
83100
"id": "vJvArGM6rjelGp9c",
@@ -96,10 +113,13 @@
96113
"param_name": "plot_corr_matrix_heatmap",
97114
"description": "Create a correlation matrix heatmap for sample similarity",
98115
"help_text": "Set to FALSE for datasets with many samples to avoid long run times",
99-
"type": "text",
116+
"type": "list",
100117
"value_type": "string",
101118
"default_value": "TRUE",
102-
"pattern": "TRUE|FALSE|T|F"
119+
"extra_data": [
120+
"TRUE",
121+
"FALSE"
122+
]
103123
},
104124
{
105125
"id": "vJvArGM6rjelGp9g",
@@ -108,41 +128,37 @@
108128
"param_name": "interactive_plots",
109129
"description": "Create interactive plots with plotly (PCA and histogram)",
110130
"help_text": "Interactive plots allow hovering to view sample information, but correlation heatmap will not display",
111-
"type": "text",
131+
"type": "list",
112132
"value_type": "string",
113133
"default_value": "FALSE",
114-
"pattern": "TRUE|FALSE|T|F"
115-
},
116-
{
117-
"id": "vJvArGM6rjelGp9d",
118-
"category": "XqgPq28Eo5VCFSZu",
119-
"name": "Minimum samples per group with nonzero counts",
120-
"param_name": "minimum_number_of_samples_with_nonzero_counts_in_a_group",
121-
"description": "Only keeps genes that have at least this number of samples with nonzero counts in at least one group",
122-
"type": "text",
123-
"value_type": "integer",
124-
"default_value": "3"
134+
"extra_data": [
135+
"TRUE",
136+
"FALSE"
137+
]
125138
},
126139
{
127140
"id": "vJvArGM6rjelGp9e",
128141
"category": "XqgPq28Eo5VCFSZu",
129142
"name": "Use group-based filtering",
130143
"param_name": "use_group_based_filtering",
131144
"description": "If TRUE, only keeps features that have sufficient nonzero counts in at least one group",
132-
"type": "text",
145+
"type": "list",
133146
"value_type": "string",
134147
"default_value": "FALSE",
135-
"pattern": "TRUE|FALSE|T|F"
148+
"extra_data": [
149+
"TRUE",
150+
"FALSE"
151+
]
136152
},
137153
{
138-
"id": "vJvArGM6rjelGp9u",
154+
"id": "vJvArGM6rjelGp9d",
139155
"category": "XqgPq28Eo5VCFSZu",
140-
"name": "Count type",
141-
"param_name": "count_type",
142-
"description": "Type of counts to filter. Must be a count type in names(moo@counts)",
156+
"name": "Minimum samples per group with nonzero counts",
157+
"param_name": "minimum_number_of_samples_with_nonzero_counts_in_a_group",
158+
"description": "Only keeps genes that have at least this number of samples with nonzero counts in at least one group",
143159
"type": "text",
144-
"value_type": "string",
145-
"default_value": "clean"
160+
"value_type": "integer",
161+
"default_value": "3"
146162
},
147163
{
148164
"id": "vJvArGM6rjelGp9w",
@@ -176,4 +192,4 @@
176192
"file_name": "figures/filt/pca.png"
177193
}
178194
]
179-
}
195+
}

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Code Ocean capsule - MOSuite - filter low counts
22

3+
## Development version
4+
5+
- Improved the Code Ocean parameter UI by using list controls for key options and reorganizing related filtering and visualization settings. (#2, @phoman14)
6+
37
## v3.0
48

59
- Use MOSuite v0.3.0.
@@ -15,4 +19,4 @@
1519

1620
Initial release
1721

18-
<https://poc-nci.codeocean.io/capsule/4565215/tree/v1> (`7ee2ff0`)
22+
<https://poc-nci.codeocean.io/capsule/4565215/tree/v1> (`7ee2ff0`)

0 commit comments

Comments
 (0)