Skip to content

Commit 00da072

Browse files
committed
Support nimble append
1 parent 4173962 commit 00da072

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
netRc <- paste0(Sys.getenv('USER_HOME'), '/.netrc')
2+
if (!file.exists(netRc)) {
3+
print(list.files(Sys.getenv('USER_HOME')))
4+
stop(paste0('Unable to find file: ', netRc))
5+
}
6+
7+
invisible(Rlabkey::labkey.setCurlOptions(NETRC_FILE = netRc))
8+
Rdiscvr::SetLabKeyDefaults(baseUrl = serverBaseUrl, defaultFolder = defaultLabKeyFolder)
9+
10+
# NOTE: this file is created by DownloadAndAppendNimble if there was an error. It might exist if a job failed and then was restarted
11+
if (file.exists('debug.nimble.txt.gz')) {
12+
unlink('debug.nimble.txt.gz')
13+
}
14+
15+
for (datasetId in names(seuratObjects)) {
16+
printName(datasetId)
17+
seuratObj <- readSeuratRDS(seuratObjects[[datasetId]])
18+
19+
Rdiscvr::PerformDefaultNimbleAppend(seuratObj)
20+
21+
saveData(seuratObj, datasetId)
22+
23+
# Cleanup
24+
rm(seuratObj)
25+
gc()
26+
}

singlecell/src/org/labkey/singlecell/SingleCellModule.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
import org.labkey.singlecell.pipeline.singlecell.IntegrateData;
7272
import org.labkey.singlecell.pipeline.singlecell.MergeSeurat;
7373
import org.labkey.singlecell.pipeline.singlecell.NormalizeAndScale;
74+
import org.labkey.singlecell.pipeline.singlecell.PerformDefaultNimbleAppend;
7475
import org.labkey.singlecell.pipeline.singlecell.PhenotypePlots;
7576
import org.labkey.singlecell.pipeline.singlecell.PlotAssayFeatures;
7677
import org.labkey.singlecell.pipeline.singlecell.PlotAverageCiteSeqCounts;
@@ -293,6 +294,7 @@ public static void registerPipelineSteps()
293294
SequencePipelineService.get().registerPipelineStep(new StudyMetadata.Provider());
294295
SequencePipelineService.get().registerPipelineStep(new UpdateSeuratPrototype.Provider());
295296
SequencePipelineService.get().registerPipelineStep(new RunDecoupler.Provider());
297+
SequencePipelineService.get().registerPipelineStep(new PerformDefaultNimbleAppend.Provider());
296298

297299
SequenceAnalysisService.get().registerReadsetListener(new SingleCellReadsetListener());
298300
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.labkey.singlecell.pipeline.singlecell;
2+
3+
import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider;
4+
import org.labkey.api.sequenceanalysis.pipeline.PipelineContext;
5+
import org.labkey.api.singlecell.pipeline.SingleCellStep;
6+
7+
public class PerformDefaultNimbleAppend extends AbstractRDiscvrStep
8+
{
9+
public PerformDefaultNimbleAppend(PipelineContext ctx, PerformDefaultNimbleAppend.Provider provider)
10+
{
11+
super(provider, ctx);
12+
}
13+
14+
public static class Provider extends AbstractPipelineStepProvider<SingleCellStep>
15+
{
16+
public Provider()
17+
{
18+
super("PerformDefaultNimbleAppend", "Default Nimble Append", "RDiscvr", "This uses Rdiscvr to run the default nimble append, adding MHC, KIR, NKG, Viral and Ig data", null, null, null);
19+
}
20+
21+
@Override
22+
public PerformDefaultNimbleAppend create(PipelineContext ctx)
23+
{
24+
return new PerformDefaultNimbleAppend(ctx, this);
25+
}
26+
}
27+
28+
@Override
29+
public String getFileSuffix()
30+
{
31+
return "nbl";
32+
}
33+
}
34+

0 commit comments

Comments
 (0)