@@ -5,14 +5,41 @@ if (Sys.getenv('SEURAT_MAX_THREADS') != '') {
55}
66
77for (datasetId in names(seuratObjects )) {
8- printName(datasetId )
9- seuratObj <- readSeuratRDS(seuratObjects [[datasetId ]])
8+ printName(datasetId )
9+ seuratObj <- readSeuratRDS(seuratObjects [[datasetId ]])
1010
11- seuratObj <- CellMembrane :: RunEscape( seuratObj , outputAssayBaseName = outputAssayBaseName , doPlot = TRUE , performDimRedux = performDimRedux , nCores = nCores )
11+ toDelete <- c( )
1212
13- saveData(seuratObj , datasetId )
13+ vals <- eval(formals(CellMembrane :: RunEscape )$ msigdbGeneSets )
14+ for (idx in seq_along(vals )) {
15+ geneSetName <- names(vals )[idx ]
16+ geneSet <- vals [[idx ]]
17+ logger :: log_info(paste0(' Processing: ' , geneSetName , ' / ' , geneSet ))
1418
15- # Cleanup
16- rm(seuratObj )
17- gc()
19+ fn <- paste0(' escape.' , datasetId , ' .' , ifelse(geneSetName == ' ' , yes = geneSet , no = geneSetName ), ' .rds' )
20+ if (file.exists(fn )) {
21+ logger :: log_info(paste0(' resuming: ' , fn ))
22+ seuratObj <- readRDS(fn )
23+ toDelete <- c(toDelete , fn )
24+ } else {
25+ msigdbGeneSets <- geneSet
26+ if (geneSetName != ' ' ) {
27+ names(msigdbGeneSets ) <- geneSetName
28+ }
29+
30+ seuratObj <- CellMembrane :: RunEscape(seuratObj , msigdbGeneSets = msigdbGeneSets , outputAssayBaseName = outputAssayBaseName , doPlot = TRUE , heatmapGroupingVars = heatmapGroupingVars , performDimRedux = performDimRedux , escapeMethod = escapeMethod , nCores = nCores )
31+ saveRDS(seuratObj , file = fn )
32+ toDelete <- c(toDelete , fn )
33+ }
34+ }
35+
36+ for (fn in toDelete ) {
37+ unlink(fn )
38+ }
39+
40+ saveData(seuratObj , datasetId )
41+
42+ # Cleanup
43+ rm(seuratObj )
44+ gc()
1845}
0 commit comments