做生物信息渣磷,你需要多少內(nèi)存?
原創(chuàng) 基因?qū)W苑
做生物信息逐样,需要多少內(nèi)存,經(jīng)常有人問我分析的內(nèi)存消耗情況打肝,比如拼接基因組需要多少內(nèi)存脂新,轉(zhuǎn)錄組需要多少內(nèi)存,宏基因組需要多少內(nèi)存粗梭,納米孔拼接需要多少內(nèi)存争便,今天我們就來討論一下,與內(nèi)存有關(guān)的二三事楼吃。
內(nèi)存是數(shù)據(jù)分析的瓶頸
內(nèi)存是CPU和硬盤之間數(shù)據(jù)交流的媒介始花,計(jì)算機(jī)需要將存儲(chǔ)在硬盤上的數(shù)據(jù)讀取到內(nèi)存中妄讯,CPU才能用來計(jì)算,而CPU不能直接讀取硬盤上的數(shù)據(jù)酷宵,必須通過內(nèi)存這個(gè)緩沖區(qū)亥贸。如果說CPU是計(jì)算機(jī)的 大腦,硬盤是計(jì)算機(jī)的五臟六腑浇垦,那么內(nèi)存則是計(jì)算機(jī)的脖子炕置,也恰恰是數(shù)據(jù)分析中的“瓶頸”。
計(jì)算機(jī)的工作原理是從硬盤讀取數(shù)據(jù)男韧,存入內(nèi)存朴摊,CPU從內(nèi)存中讀取數(shù)據(jù)進(jìn)行處理,處理完成之后在寫入磁盤此虑。如果你理解了這個(gè)原理甚纲,那么就知道了內(nèi)存的重要性。CPU處理速度是很快的朦前,但是磁盤的讀寫速度比較慢介杆,就需要內(nèi)存這個(gè)臨時(shí)緩存,內(nèi)存越大韭寸,可以緩存的數(shù)據(jù)越多春哨,CPU就可以更好的發(fā)揮作用。這就是為什么恩伺,內(nèi)存會(huì)影響計(jì)算機(jī)的運(yùn)行速度 赴背。
機(jī)械硬盤,固態(tài)硬盤晶渠,內(nèi)存讀寫速度比拼
那么機(jī)械硬盤凰荚,固態(tài)硬盤,內(nèi)存的讀寫速度都是多少呢乱陡,根據(jù)公開的資料查詢浇揩,得到以下數(shù)據(jù),不過注意憨颠,這里只是一個(gè)平均值胳徽,不同品牌,不同型號(hào)茶品之間會(huì)有較大差別爽彤。
1养盗、5400轉(zhuǎn)的筆記本硬盤:50-90MB每秒。
2适篙、7200轉(zhuǎn)的臺(tái)式機(jī)硬盤:90-190MB每秒往核。
3、固態(tài)硬盤的讀寫速度可以達(dá)到500MB/s嚷节。
4聂儒、雙通道DDR4 2400MHz的讀寫速度理論極限是2400MHz*128bit/8=38400MB/s虎锚。
所以,更換固態(tài)磁盤衩婚,計(jì)算機(jī)運(yùn)行速度會(huì)有巨大提升窜护,目前固態(tài)硬盤還無法替換內(nèi)存的作用,后面加個(gè)降低了非春,希望有一天CPU可以直接讀寫磁盤上的數(shù)據(jù)柱徙。
你需要多少內(nèi)存
因?yàn)橛绊憯?shù)據(jù)分析內(nèi)存大小的因素非常多,比如數(shù)據(jù)量大小奇昙,具體算法护侮,分析內(nèi)容等等,所以储耐,很難計(jì)算出具體需要消耗多少內(nèi)存羊初,你問我拼接基因組需要多少內(nèi)存?細(xì)菌什湘,真菌凳忙,人,動(dòng)植物禽炬?二代測序,三代測序勤家,測序深度腹尖,錯(cuò)誤率分布?使用哪個(gè)軟件伐脖?每個(gè)條件都會(huì)有差別热幔。即使你把所有條件都告訴我,我也沒法立刻建模給你估算出來讼庇。
(曾幾何時(shí)绎巨,內(nèi)存條也是硬通貨,炫富神器)
但是如果你理解了內(nèi)存的工作原理蠕啄,那么就也能大致推算一下场勤。假設(shè)一個(gè)人的全基因組測序數(shù)據(jù),采用二代測序的方法歼跟,人的基因組3G和媳,10倍數(shù)據(jù)就是30G,那么這30G的堿基哈街,在切成更小的kmer留瞳,假設(shè)數(shù)據(jù)增加到了100G,還不算存儲(chǔ)序列的一些其他信息骚秦,序列拼接的時(shí)候必須一次將所有數(shù)據(jù)同時(shí)存入內(nèi)存她倘,這就要消耗100多G的內(nèi)存璧微。實(shí)際過程中可能還需要存儲(chǔ)一些額外信息,內(nèi)存就更大了硬梁。如果內(nèi)存達(dá)不到100G前硫,拼接根本無法完成。
如果是與參考序列比對(duì)靶溜,軟件只需要將參考序列存儲(chǔ)到內(nèi)存中开瞭,然后依次讀取測序數(shù)據(jù),這樣的話就不需要占用太大內(nèi)存罩息。
具體需要多少嗤详,還需要進(jìn)行實(shí)際運(yùn)算瓷炮,top或者h(yuǎn)top命令監(jiān)控資源消耗情況。