future——加速你的單細(xì)胞分析

由于單細(xì)胞數(shù)據(jù)本身就具有數(shù)據(jù)量大的特點(diǎn),所以在進(jìn)行單細(xì)胞數(shù)據(jù)分析時(shí)往往會(huì)出現(xiàn)運(yùn)行時(shí)間太長(zhǎng)的問題。

不過好在 Seurat 為我們提供了部分函數(shù)與 future 并行計(jì)算的鏈接。

安裝future

future已經(jīng)托管到CRAN上了,所以我們可以直接通過CRAN對(duì)其進(jìn)行安裝:

install.packages("future")

支持future并行計(jì)算的函數(shù)

  • NormalizeData()
  • ScaleData()
  • JackStraw()
  • FindMarkers()
  • FindIntegrationAnchors()
  • FindClusters()

如何使用future

為了方便我們的使用,Seurat沒有特殊的其它操作來實(shí)現(xiàn)并行計(jì)算,也就是說函數(shù)的調(diào)用方式是沒有改變的。

  • 查看可用核數(shù)
library(future)
availableCores()
  • 調(diào)用多核
#使用plan來查看當(dāng)前plan的情況
plan()
#此處我們想調(diào)用4個(gè)核來并行完成我們的marker基因鑒定
plan("multiprocess", workers = 4)

通過上面的操作我們就成功地向系統(tǒng)“借”了四個(gè)核。

實(shí)戰(zhàn)

在這里我們想尋找pbmc數(shù)據(jù)集中 Naive CD4 T 細(xì)胞的基因marker。
首先不使用多核:

start <- Sys.time()
FindMarkers(object = pbmc3k.final, ident.1 = 'Naive CD4 T')
end <- Sys.time()
print(end - start)

最終耗時(shí):6.63347s。
然后我們調(diào)用四個(gè)核來 并行 做同樣的事情,注意到Seurat函數(shù)的調(diào)用形式不會(huì)改變:

plan("multiprocess", workers = 4)

start <- Sys.time()
FindMarkers(object = pbmc3k.final, ident.1 = 'Naive CD4 T')
end <- Sys.time()
print(end - start)

最終耗時(shí):2.361096s。

這將有效提升我們的單細(xì)胞數(shù)據(jù)分析效率!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容