future——加速你的单细胞分析

由于单细胞数据本身就具有数据量大的特点,所以在进行单细胞数据分析时往往会出现运行时间太长的问题。

不过好在 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

这将有效提升我们的单细胞数据分析效率!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容