Skip to content

Commit 596b8ea

Browse files
committed
Reduced the number of times we load seurat objects into memory
1 parent ea5e51b commit 596b8ea

29 files changed

+89
-115
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ protected Chunk createParamChunk(List<SeuratObjectWrapper> inputObjects, String
410410

411411
protected String printInputFile(SeuratObjectWrapper so)
412412
{
413-
return "readRDS(file = '" + so.getFile().getName() + "')";
413+
return "'" + so.getFile().getName() + "'";
414414
}
415415

416416
protected Chunk createFinalChunk() throws PipelineJobException

singlecell/resources/chunks/AppendCiteSeq.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!(datasetId %in% names(featureData))) {
65
stop(paste0('No CITE-seq information found for datasetId: ', datasetId))
@@ -27,7 +26,7 @@ for (datasetId in names(seuratObjects)) {
2726
print('matrixDir was NULL, skipping CITE-seq')
2827
}
2928

30-
newSeuratObjects[[datasetId]] <- seuratObj
29+
saveData(seuratObj, datasetId)
3130

3231
# Cleanup
3332
rm(seuratObj)

singlecell/resources/chunks/AppendMetadata.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ invisible(Rlabkey::labkey.setCurlOptions(NETRC_FILE = '/homeDir/.netrc'))
77
Rdiscvr::SetLabKeyDefaults(baseUrl = serverBaseUrl, defaultFolder = defaultLabKeyFolder)
88

99
for (datasetId in names(seuratObjects)) {
10-
seuratObj <- seuratObjects[[datasetId]]
11-
seuratObjects[[datasetId]] <- NULL
10+
seuratObj <- readRDS(seuratObjects[[datasetId]])
1211

1312
seuratObj <- Rdiscvr::QueryAndApplyCdnaMetadata(seuratObj)
1413

15-
newSeuratObjects[[datasetId]] <- seuratObj
14+
saveData(seuratObj, datasetId)
1615

1716
# Cleanup
1817
rm(seuratObj)

singlecell/resources/chunks/AppendSaturation.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!'DatasetId' %in% names(seuratObj@meta.data)) {
65
stop('Seurat object lacks a DatasetId field!')
76
}
87

98
seuratObj <- CellMembrane::AppendPerCellSaturationInBulk(seuratObj, molInfoList = molInfoFiles)
10-
newSeuratObjects[[datasetId]] <- seuratObj
9+
saveData(seuratObj, datasetId)
1110

1211
# Cleanup
1312
rm(seuratObj)

singlecell/resources/chunks/AvgExpression.R

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
df <- CellMembrane::AvgExpression(seuratObj, groupField = groupField)
65
write.table(df, file = paste0(outputPrefix, '.', datasetId, '.avg.', groupField, '.txt'), sep = '\t', row.names = FALSE, quote = FALSE)

singlecell/resources/chunks/CiteSeqDimReduxDist.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!('ADT' %in% names(seuratObj@assays))) {
65
print('ADT assay not present, skipping')
@@ -14,7 +13,7 @@ for (datasetId in names(seuratObjects)) {
1413
})
1514
}
1615

17-
newSeuratObjects[[datasetId]] <- seuratObj
16+
saveData(seuratObj, datasetId)
1817

1918
# Cleanup
2019
rm(seuratObj)

singlecell/resources/chunks/CiteSeqDimReduxPca.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!('ADT' %in% names(seuratObj@assays))) {
65
print('ADT assay not present, skipping')
76
} else {
87
seuratObj <- bindArgs(CellMembrane::CiteSeqDimRedux.PCA, seuratObj)()
98
}
109

11-
newSeuratObjects[[datasetId]] <- seuratObj
10+
saveData(seuratObj, datasetId)
1211

1312
# Cleanup
1413
rm(seuratObj)

singlecell/resources/chunks/CiteSeqPlots.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!('ADT' %in% names(seuratObj@assays))) {
65
print('ADT assay not present, skipping')
@@ -10,7 +9,7 @@ for (datasetId in names(seuratObjects)) {
109
}
1110
}
1211

13-
newSeuratObjects[[datasetId]] <- seuratObj
12+
saveData(seuratObj, datasetId)
1413

1514
# Cleanup
1615
rm(seuratObj)

singlecell/resources/chunks/CiteSeqWnn.R

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
if (!('ADT' %in% names(seuratObj@assays))) {
65
print('ADT assay not present, skipping')
76
} else {
87
seuratObj <- bindArgs(CellMembrane::RunSeuratWnn, seuratObj)()
98
}
109

11-
newSeuratObjects[[datasetId]] <- seuratObj
10+
saveData(seuratObj, datasetId)
1211

1312
# Cleanup
1413
rm(seuratObj)

singlecell/resources/chunks/DimPlots.R

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
for (datasetId in names(seuratObjects)) {
2-
seuratObj <- seuratObjects[[datasetId]]
3-
seuratObjects[[datasetId]] <- NULL
2+
seuratObj <- readRDS(seuratObjects[[datasetId]])
43

54
for (field in fieldNames) {
65
if (!(field %in% names(seuratObj@meta.data))) {

0 commit comments

Comments
 (0)