SCENIC官网上的标准流程只适用于细胞数较少的情况,试了一下60000多个细胞,在GENIE3那一步卡了好几天,part1还没跑完呢。因此尝试了一下随机取60000多细胞中的5000个来做GENIE3,跑了一天多跑完了,感觉这个速度还可以接受。记录脚本如下:
#基因表达matrix构建(从seurat对象中):
data<-readRDS("../../mouse_all_remove_RBC.rds")
count<-data@assays$RNA@counts
count<-as.matrix(count)
#从数据中随机抽取5000个细胞做Genie3。
#从genesKept步骤算起,到运行完成耗时约28h。
names<-colnames(count)
number<-length(names)
snumber<-sample(number,5000)
exp_sub<-counts[,snumber]
genesKept <- geneFiltering(exp_sub, scenicOptions)
exp_sub_filtered <- exp_sub[genesKept, ]
runCorrelation(exp_sub_filtered, scenicOptions)
exp_sub_log <- log2(exp_sub_filtered+1)
runGenie3(exp_sub_log, scenicOptions)
#后续步骤使用全部表达数据即可。
exprMat_log <- log2(counts+1)
scenicOptions@settings$dbs <- scenicOptions@settings$dbs["10kb"] # Toy run settings
runSCENIC_1_coexNetwork2modules(scenicOptions)
runSCENIC_2_createRegulons(scenicOptions, coexMethod=c("top5perTarget")) # Toy run settings
runSCENIC_3_scoreCells(scenicOptions, exprMat_log)
后续有新进展再补充
网友评论