Skip to content

Commit 77103ef

Browse files
committed
Bugfix parsing on seurat multi-valued params
1 parent 57d5df7 commit 77103ef

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

singlecell/api-src/org/labkey/api/singlecell/pipeline/AbstractSingleCellPipelineStep.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,11 @@ else if ("sequenceanalysis-trimmingtextarea".equals(pd.getFieldXtype()))
324324
String[] vals = val.split(",");
325325
return "c('" + StringUtils.join(vals, "','") + "')";
326326
}
327+
else if (pd.isMultiValue())
328+
{
329+
String[] vals = val.split(pd.getDelimiter());
330+
return "c('" + StringUtils.join(vals, "','") + "')";
331+
}
327332

328333
return "'" + val + "'";
329334
}

singlecell/api-src/org/labkey/api/singlecell/pipeline/SeuratToolParameter.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,31 @@ public class SeuratToolParameter extends ToolParameterDescriptor
1111
{
1212
private String _rName;
1313
private boolean _includeIfEmptyOrNull;
14+
private String _delimiter = ";";
15+
private boolean _isMultiValue;
1416

15-
public SeuratToolParameter(String name, String label, String description, String fieldXtype, @Nullable Object defaultValue, @Nullable JSONObject additionalExtConfig, String rName, boolean includeIfEmptyOrNull)
17+
public SeuratToolParameter(String name, String label, String description, String fieldXtype, @Nullable Object defaultValue, @Nullable JSONObject additionalExtConfig, String rName, boolean includeIfEmptyOrNull, boolean isMultiValue)
1618
{
1719
super(null, name, label, description, fieldXtype, defaultValue, additionalExtConfig);
1820

1921
_rName = rName;
2022
_includeIfEmptyOrNull = includeIfEmptyOrNull;
23+
_isMultiValue = isMultiValue;
2124
}
2225

2326
public static SeuratToolParameter create(String name, String label, String description, String fieldXtype, @Nullable JSONObject additionalExtConfig, @Nullable Object defaultValue)
2427
{
25-
return new SeuratToolParameter(name, label, description, fieldXtype, defaultValue, additionalExtConfig, null, true);
28+
return new SeuratToolParameter(name, label, description, fieldXtype, defaultValue, additionalExtConfig, null, true, false);
2629
}
2730

2831
public static SeuratToolParameter create(String name, String label, String description, String fieldXtype, @Nullable JSONObject additionalExtConfig, @Nullable Object defaultValue, String rName, boolean includeIfEmptyOrNull)
2932
{
30-
return new SeuratToolParameter(name, label, description, fieldXtype, defaultValue, additionalExtConfig, rName, includeIfEmptyOrNull);
33+
return SeuratToolParameter.create(name, label, description, fieldXtype, additionalExtConfig, defaultValue, rName, includeIfEmptyOrNull, false);
34+
}
35+
36+
public static SeuratToolParameter create(String name, String label, String description, String fieldXtype, @Nullable JSONObject additionalExtConfig, @Nullable Object defaultValue, String rName, boolean includeIfEmptyOrNull, boolean isMultiValue)
37+
{
38+
return new SeuratToolParameter(name, label, description, fieldXtype, defaultValue, additionalExtConfig, rName, includeIfEmptyOrNull, isMultiValue);
3139
}
3240

3341
public String getVariableName()
@@ -44,4 +52,14 @@ public boolean shouldIncludeInMarkdown(PipelineJob job, PipelineStepProvider pro
4452

4553
return true;
4654
}
55+
56+
public boolean isMultiValue()
57+
{
58+
return _isMultiValue;
59+
}
60+
61+
public String getDelimiter()
62+
{
63+
return _delimiter;
64+
}
4765
}

singlecell/src/org/labkey/singlecell/pipeline/singlecell/FindMarkers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public Provider()
3737
put("initialValues", "wilcox;MAST;DESeq2");
3838
put("delimiter", ";");
3939
put("joinReturnValue", true);
40-
}}, null),
40+
}}, null, null, false, true),
4141
SeuratToolParameter.create("pValThreshold", "pVal Threshold", "Only genes with adjusted p-values below this will be reported", "ldk-numberfield", new JSONObject(){{
4242
put("minValue", 0);
4343
put("decimalPrecision", 5);

0 commit comments

Comments
 (0)