future——加速你的单细胞分析
2022-06-10 本文已影响0人
Bio_Infor
由于单细胞数据本身就具有数据量大的特点,所以在进行单细胞数据分析时往往会出现运行时间太长的问题。
不过好在 Seurat 为我们提供了部分函数与 future 并行计算的链接。
安装future
future已经托管到CRAN上了,所以我们可以直接通过CRAN对其进行安装:
install.packages("future")
支持future并行计算的函数
NormalizeData()
ScaleData()
JackStraw()
FindMarkers()
FindIntegrationAnchors()
FindClusters()
如何使用future
为了方便我们的使用,Seurat没有特殊的其它操作来实现并行计算,也就是说函数的调用方式是没有改变的。
-
查看可用核数
library(future)
availableCores()
-
调用多核
#使用plan来查看当前plan的情况
plan()
#此处我们想调用4个核来并行完成我们的marker基因鉴定
plan("multiprocess", workers = 4)
通过上面的操作我们就成功地向系统“借”了四个核。
实战
在这里我们想寻找pbmc数据集中 Naive CD4 T 细胞的基因marker。
首先不使用多核:
start <- Sys.time()
FindMarkers(object = pbmc3k.final, ident.1 = 'Naive CD4 T')
end <- Sys.time()
print(end - start)
最终耗时:6.63347s。
然后我们调用四个核来 并行 做同样的事情,注意到Seurat函数的调用形式不会改变:
plan("multiprocess", workers = 4)
start <- Sys.time()
FindMarkers(object = pbmc3k.final, ident.1 = 'Naive CD4 T')
end <- Sys.time()
print(end - start)
最终耗时:2.361096s。