You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: singlecell/src/org/labkey/singlecell/pipeline/singlecell/PrepareRawCounts.java
+14-5Lines changed: 14 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -30,12 +30,21 @@ public static class Provider extends AbstractPipelineStepProvider<SingleCellRawD
30
30
publicProvider()
31
31
{
32
32
super("PrepareRawCounts", LABEL, "CellMembrane/Seurat", "This step reads the raw count matrix/matrices, and runs EmptyDrops to provide an unfiltered count matrix.", Arrays.asList(
33
-
SeuratToolParameter.create("emptyDropsLower", "Lower", "Passed to DropletUtils::emptyDrops lower argument", "ldk-integerfield", null, 200),
34
-
SeuratToolParameter.create("emptyDropsFdrThreshold", "FDR Threshold", "The FDR limit used to filter the results of DropletUtils::emptyDrops", "ldk-numberfield", null, 0.001),
35
-
SeuratToolParameter.create("maxAllowableCells", "Max Cells Allowed", "If more than this many cells are predicted by EmptyDrops, the job will fail", "ldk-integerfield", null, 20000),
33
+
SeuratToolParameter.create("emptyDropsLower", "Lower", "Passed to DropletUtils::emptyDrops lower argument", "ldk-integerfield", newJSONObject(){{
34
+
put("minValue", 0);
35
+
}}, 200),
36
+
SeuratToolParameter.create("emptyDropsFdrThreshold", "FDR Threshold", "The FDR limit used to filter the results of DropletUtils::emptyDrops", "ldk-numberfield", newJSONObject(){{
37
+
put("minValue", 0);
38
+
put("decimalPrecision", 4);
39
+
}}, 0.001),
40
+
SeuratToolParameter.create("maxAllowableCells", "Max Cells Allowed", "If more than this many cells are predicted by EmptyDrops, the job will fail", "ldk-integerfield", newJSONObject(){{
41
+
put("minValue", 0);
42
+
}}, 20000),
36
43
SeuratToolParameter.create("useEmptyDropsCellRanger", "Use emptyDropsCellRanger", "If checked, this will run emptyDropsCellRanger instead of emptyDrops", "checkbox", null, false),
37
-
SeuratToolParameter.create("nExpectedCells", "# Expected Cells", "Only applied if emptyDropsCellRanger is selected. Passed to n.expected.cells argument", "ldk-integerfield", null, false),
38
-
SeuratToolParameter.create("useCellBender", "Run CellBender", "If checked, cellbender will be run on the raw count matrix (instead of emptyDrops) to remove background/ambient RNA signal", "checkbox", newJSONObject(){{
44
+
SeuratToolParameter.create("nExpectedCells", "# Expected Cells", "Only applied if emptyDropsCellRanger is selected. Passed to n.expected.cells argument", "ldk-integerfield", newJSONObject(){{
45
+
put("minValue", 0);
46
+
}}, false),
47
+
SeuratToolParameter.create("useCellBender", "Run CellBender", "If checked, instead of the loupe counts, the system will attempt to find a previously created cellbender corrected count matrix and use this as input", "checkbox", newJSONObject(){{
39
48
40
49
}}, false),
41
50
SeuratToolParameter.create("useSoupX", "Run SoupX", "If checked, SoupX will be run on the raw count matrix (instead of emptyDrops) to remove background/ambient RNA signal", "checkbox", newJSONObject(){{
Copy file name to clipboardExpand all lines: singlecell/src/org/labkey/singlecell/run/CellBenderCiteSeqHandler.java
+13-4Lines changed: 13 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -27,12 +27,12 @@ public class CellBenderCiteSeqHandler extends AbstractParameterizedOutputHandler
27
27
{
28
28
publicCellBenderCiteSeqHandler()
29
29
{
30
-
super(ModuleLoader.getInstance().getModule(SingleCellModule.class), "Run CellBender (CITE-seq)", "This will run cellbender on the input cellranger folder and create a subset matrix with background/ambient noise removed.", null, getParams(0.05, false));
30
+
super(ModuleLoader.getInstance().getModule(SingleCellModule.class), "Run CellBender (CITE-seq)", "This will run cellbender on the input cellranger folder and create a subset matrix with background/ambient noise removed.", null, getParams(0.05, false, false));
ToolParameterDescriptor.createCommandLineParam(CommandLineParam.createSwitch("--cuda"), "useGpus", "Use GPUs", "If checked, the --cuda argument will be set on cellbender", "checkbox", newJSONObject(){{
43
43
put("checked", useGPU);
44
44
}}, useGPU)
45
-
);
45
+
));
46
+
47
+
if (copyH5)
48
+
{
49
+
ret.add(ToolParameterDescriptor.create("copyH5", "Use Matrix Source Dir", "If checked, the filtered matrix and output will be deposited in the same folder as the input cellranger project. This is required to use the filtered matrix in the seurat pipeline", "checkbox", newJSONObject(){{
Copy file name to clipboardExpand all lines: singlecell/src/org/labkey/singlecell/run/CellBenderLoupeHandler.java
+35-3Lines changed: 35 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
packageorg.labkey.singlecell.run;
2
2
3
+
importorg.apache.commons.io.FileUtils;
3
4
importorg.json.JSONObject;
4
5
importorg.labkey.api.module.ModuleLoader;
5
6
importorg.labkey.api.pipeline.PipelineJob;
@@ -15,6 +16,7 @@
15
16
importorg.labkey.singlecell.SingleCellModule;
16
17
17
18
importjava.io.File;
19
+
importjava.io.IOException;
18
20
importjava.util.ArrayList;
19
21
importjava.util.Arrays;
20
22
importjava.util.List;
@@ -23,7 +25,7 @@ public class CellBenderLoupeHandler extends AbstractParameterizedOutputHandler<S
23
25
{
24
26
publicCellBenderLoupeHandler()
25
27
{
26
-
super(ModuleLoader.getInstance().getModule(SingleCellModule.class), "Run CellBender (RNA-seq)", "This will run cellbender on the input cellranger folder and create a subset matrix with background/ambient noise removed.", null, CellBenderCiteSeqHandler.getParams(0.01, true));
28
+
super(ModuleLoader.getInstance().getModule(SingleCellModule.class), "Run CellBender (RNA-seq)", "This will run cellbender on the input cellranger folder and create a subset matrix with background/ambient noise removed.", null, CellBenderCiteSeqHandler.getParams(0.01, true, true));
27
29
}
28
30
29
31
@Override
@@ -88,18 +90,48 @@ public void processFilesOnWebserver(PipelineJob job, SequenceAnalysisJobSupport
0 commit comments