Skip to content

Commit 7b0b1f6

Browse files
committed
Support alignment-level output for nimble align
1 parent b147e7f commit 7b0b1f6

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,12 @@ public static class Provider extends AbstractAlignmentStepProvider<AlignmentStep
5858
{
5959
public Provider()
6060
{
61-
super("Nimble", "This will run Nimble to generate a supplemental feature count matrix for the provided libraries", getCellRangerGexParams(Arrays.asList(ToolParameterDescriptor.create(REF_GENOMES, "Reference Genome(s)", null, "singlecell-nimblealignpanel", null, null))), new LinkedHashSet<>(PageFlowUtil.set("sequenceanalysis/field/GenomeFileSelectorField.js", "sequenceanalysis/field/GenomeField.js", "singlecell/panel/NimbleAlignPanel.js")), null, true, false, ALIGNMENT_MODE.MERGE_THEN_ALIGN);
61+
super("Nimble", "This will run Nimble to generate a supplemental feature count matrix for the provided libraries", getCellRangerGexParams(Arrays.asList(
62+
ToolParameterDescriptor.create(REF_GENOMES, "Reference Genome(s)", null, "singlecell-nimblealignpanel", null, null),
63+
ToolParameterDescriptor.create(NimbleAlignmentStep.ALIGN_OUTPUT, "Create Alignment/Debug Output", "If checked, an alignment-level summary TSV will be created", "checkbox", new JSONObject(){{
64+
put("checked", true);
65+
}}, true)
66+
)), new LinkedHashSet<>(PageFlowUtil.set("sequenceanalysis/field/GenomeFileSelectorField.js", "sequenceanalysis/field/GenomeField.js", "singlecell/panel/NimbleAlignPanel.js")), null, true, false, ALIGNMENT_MODE.MERGE_THEN_ALIGN);
6267
}
6368

6469
@Override
@@ -380,6 +385,13 @@ private File doAlignment(NimbleGenome genome, File refJson, File bam, AlignmentO
380385
alignArgs.add("-l");
381386
alignArgs.add("/work/nimbleDebug.txt");
382387

388+
boolean alignOutput = getProvider().getParameterByName(NimbleAlignmentStep.ALIGN_OUTPUT).extractValue(getPipelineCtx().getJob(), getProvider(), getStepIdx(), Boolean.class, false);
389+
if (alignOutput)
390+
{
391+
alignArgs.add("-a");
392+
alignArgs.add("/work/nimbleAlignment.txt.gz");
393+
}
394+
383395
alignArgs.add("/work/" + localRefJson.getName());
384396
alignArgs.add("/work/" + resultsTsv.getName());
385397
alignArgs.add("/work/" + localBam.getName());

0 commit comments

Comments
 (0)