Skip to content

Commit 7300d1e

Browse files
committed
Add ability to force cellranger VDJ version 7
1 parent cfef61e commit 7300d1e

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

singlecell/src/org/labkey/singlecell/run/CellRangerVDJWrapper.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ public VDJProvider()
8484
put("height", 100);
8585
put("width", 400);
8686
put("allowBlank", false);
87-
}}, null)
87+
}}, null),
88+
ToolParameterDescriptor.create("useCellRanger7", "Use cellranger 7", "If checked, this will use cellranger 7, rather than the current version", "checkbox", null, false)
8889
), null, "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger", true, false, false, ALIGNMENT_MODE.MERGE_THEN_ALIGN);
8990
}
9091

@@ -274,7 +275,7 @@ public AlignmentStep.IndexOutput createIndex(ReferenceGenome referenceGenome, Fi
274275
output.addInput(getGenomeFasta(), "Input FASTA");
275276

276277
List<String> args = new ArrayList<>();
277-
args.add(getWrapper().getExe().getPath());
278+
args.add(getWrapper().getExe(false).getPath());
278279
args.add("mkvdjref");
279280
args.add("--seqs=" + getGenomeFasta().getPath());
280281
args.add("--genome=" + indexDir.getName());
@@ -301,8 +302,10 @@ public AlignmentStep.AlignmentOutput performAlignment(Readset rs, List<File> inp
301302
{
302303
AlignmentOutputImpl output = new AlignmentOutputImpl();
303304

305+
boolean useCellRanger7 = getProvider().getParameterByName("useCellRanger7").extractValue(getPipelineCtx().getJob(), getProvider(), getStepIdx(), Boolean.class, false);
306+
304307
List<String> args = new ArrayList<>();
305-
args.add(getWrapper().getExe().getPath());
308+
args.add(getWrapper().getExe(useCellRanger7).getPath());
306309
args.add("multi");
307310
args.add("--disable-ui");
308311

@@ -830,9 +833,9 @@ private String getSampleName(String fn)
830833
}
831834
}
832835

833-
protected File getExe()
836+
protected File getExe(boolean useCellRanger7)
834837
{
835-
return SequencePipelineService.get().getExeForPackage("CELLRANGERPATH", "cellranger");
838+
return SequencePipelineService.get().getExeForPackage("CELLRANGERPATH", useCellRanger7 ? "cellranger7": "cellranger");
836839
}
837840

838841
private static void processAndMergeCSVs(File abCSV, File gdCSV, Logger log) throws PipelineJobException
@@ -977,7 +980,7 @@ else if (uniqueChains.size() == 2)
977980
{
978981
try
979982
{
980-
String ret = executeWithOutput(Arrays.asList(getExe().getPath(), "--version"));
983+
String ret = executeWithOutput(Arrays.asList(getExe(false).getPath(), "--version"));
981984

982985
return ret.replaceAll("^cellranger ", "");
983986
}

0 commit comments

Comments
 (0)