搜索關(guān)注【生物城堡】
超乎想象的干貨分享
生物信息學(xué)面臨的挑戰(zhàn)
生物學(xué)對大型測序數(shù)據(jù)集的頻繁使用思瘟,正在改變我們所需的工具和技能荸百,它也在改變科學(xué)發(fā)現(xiàn)的可重復(fù)性和穩(wěn)健性。當(dāng)我們利用新的工具和技能來分析基因組學(xué)數(shù)據(jù)時滨攻,有必要確保我們的方法可重復(fù)和穩(wěn)健够话,就像實驗方法一樣。然而光绕,龐大的數(shù)據(jù)和復(fù)雜的分析流程女嘲,使得在基因組學(xué)中實現(xiàn)這一目標(biāo)變得尤其困難。
可重復(fù)的必要條件是我們共享數(shù)據(jù)和方法∑娉現(xiàn)在的論文有很長的補(bǔ)充方法澡为,代碼和數(shù)據(jù)。共享數(shù)據(jù)非常重要景埃,因為測序項目包括Tb級的附加數(shù)據(jù)媒至。分析中使用的參考基因組及其注釋不斷更新,期刊網(wǎng)站上的補(bǔ)充材料谷徙、方法和數(shù)據(jù)的鏈接失效拒啰,當(dāng)開發(fā)人員離開而不更新代碼時,軟件變得無法使用完慧,這些都會使結(jié)果更加難以重復(fù)谋旦。
生物信息學(xué)分析的復(fù)雜性會導(dǎo)致研究出錯和混淆。即使是相當(dāng)常規(guī)的基因組學(xué)項目也會用到幾十個不同的程序屈尼,復(fù)雜的輸入?yún)?shù)組合册着,以及許多樣本和注釋數(shù)據(jù)集;此外脾歧,工作可能分布在服務(wù)器和工作站之間甲捏。
所有這些數(shù)據(jù)處理都需要一步一步的分析,進(jìn)而得出結(jié)果鞭执,我們得出了我們的生物學(xué)結(jié)論司顿。結(jié)果是芒粹,研究所得出的結(jié)論處于一個搖搖欲墜的腳手架上。更糟糕的是大溜,生物信息學(xué)分析通常只運行一次化漆,來產(chǎn)出用于發(fā)表的結(jié)果,然后就再也不運行钦奋。這些分析可能依賴于軟件特定的版本座云,在不同的系統(tǒng)上難以重現(xiàn)結(jié)果。
在之后的文章中锨苏,我將分享一些具體的實踐方法來提高項目的可重復(fù)性疙教,一定要關(guān)注我的公眾號【生物城堡】呀!
可重復(fù)性研究
重復(fù)科學(xué)發(fā)現(xiàn)是確認(rèn)其準(zhǔn)確性的唯一方法伞租。
卡爾·波普爾(Karl Popper)有一句名言:“不可重復(fù)的單一事件對科學(xué)沒有意義”。
卡爾·波普爾(Karl Popper)
然而限佩,大多數(shù)測序?qū)嶒灦继嘿F葵诈,無法進(jìn)行重復(fù),所以我們只能寄希望于后續(xù)的分析可以重復(fù)祟同。生物信息學(xué)項目往往非常復(fù)雜作喘,所以作為優(yōu)秀的科學(xué)家,我們的工作必然要顧及研究的可重復(fù)性晕城。
那么什么是可重復(fù)的生物信息學(xué)項目呢泞坦?
至少,它共享了項目的代碼和數(shù)據(jù)砖顷。大多數(shù)期刊都要求共享項目的數(shù)據(jù)贰锁,而NCBI的SRA等資源就是為此存在。如果代碼是研究結(jié)果的重要部分滤蝠,編輯和審稿人通常會建議共享項目的代碼豌熄。然而,我們可以并且應(yīng)該做更多的事情來確保項目的可重復(fù)性物咳。
關(guān)于可重復(fù)性的一個案例锣险。
杜克大學(xué)的Anil Potti博士和其他研究人員創(chuàng)造了一種方法,該方法使用micro array的表達(dá)數(shù)據(jù)來檢測和預(yù)測對不同化療藥物的反應(yīng)览闰。這些方法是個性化精準(zhǔn)醫(yī)學(xué)的萌芽芯肤,用于臨床試驗中確定患者的化療治療情況。然而压鉴,有兩位生物統(tǒng)計學(xué)家崖咨,在試圖重復(fù)這項研究時,在分析中發(fā)現(xiàn)了嚴(yán)重的錯誤(Baggerly和Coombes晴弃,2009)掩幢。包括:
1逊拍、一個“差一”錯誤,基因表達(dá)值的整個列表相對于其正確的標(biāo)識符下挫一行 2际邻、所使用的array上沒有兩個具有生物學(xué)意義的離群點基因 3芯丧、處理與運行array的日期混淆 4、樣本組名稱混淆
Baggerly和Coombes的工作給我們的教訓(xùn)是“常見的錯誤是簡單的世曾,簡單的錯誤是常見的”缨恒,糟糕的文檔可能導(dǎo)致錯誤并無法重復(fù)。方法轮听、數(shù)據(jù)版本和代碼的文檔不僅有助于重復(fù)結(jié)果骗露,而且很可能防止這些嚴(yán)重錯誤的發(fā)生。
穩(wěn)健生物信息學(xué)研究的“黃金法則”
在濕實驗室生物學(xué)中血巍,當(dāng)實驗出錯時萧锉,它非常明顯,但在生信中并不總是這樣述寡。錯誤可以是無聲的柿隙;也就是說,代碼和程序可能會產(chǎn)生輸出(而不是因錯誤而停止)鲫凶,但這種輸出是不正確的禀崖。當(dāng)學(xué)習(xí)生物信息學(xué)時,這是一個非常重要的概念螟炫。
此外波附,代碼只運行一次是很常見的,因為研究人員得到他們想要的輸出并繼續(xù)下一步昼钻。
大多數(shù)生物信息學(xué)分析產(chǎn)生的中間輸出太大掸屡,維度太高,無法檢查或可視化换吧。大多數(shù)分析還涉及多個步驟折晦,即使能夠檢查整個中間數(shù)據(jù)集是否存在問題,但對于每個步驟而言沾瓦,很難做到這一點(因此满着,我們通常采取檢查數(shù)據(jù)樣本或查看數(shù)據(jù)匯總統(tǒng)計數(shù)據(jù)的方法)。
在濕實驗中贯莺,很容易對實驗結(jié)果有一個預(yù)期风喇。例如,我認(rèn)為A基因在某組織中表達(dá)量應(yīng)該顯著低于內(nèi)參缕探。有了先前預(yù)期魂莫,出現(xiàn)異常結(jié)果代表實驗過程或分析方法出了問題,而不會立即斷定A基因表現(xiàn)出了新的表達(dá)模式爹耗。相反耙考,大多數(shù)基因組學(xué)結(jié)果的高維度難以形成強(qiáng)烈的預(yù)期谜喊。通過RNA-seq對成千上萬個基因的表達(dá)形成預(yù)期是不可能的。然而倦始,沒有事先的預(yù)期斗遏,我們就很難區(qū)分結(jié)果的好壞。
生物信息學(xué)家還必須警惕鞋邑,生物信息學(xué)程序诵次,甚至是經(jīng)過社區(qū)審查的大型工具,可能在特定的生物體上并不適用枚碗。生物體都是奇妙的逾一,它們的基因組也是。許多生物信息學(xué)工具都是在少數(shù)二倍體模式生物(如人類)上測試的肮雨。
確保一切正常工作的簡單方法是采取謹(jǐn)慎的態(tài)度遵堵,并檢查計算步驟之間的一切輸出。此外怨规,你應(yīng)該以一種懷疑的態(tài)度對待生物數(shù)據(jù)(無論是自己測的還是來自數(shù)據(jù)庫的)鄙早,認(rèn)為它可能是有問題的。所謂“垃圾輸入椅亚,垃圾輸出”--輸入的數(shù)據(jù)將直接決定分析的結(jié)果質(zhì)量。這就是進(jìn)行穩(wěn)健生物信息學(xué)研究的“黃金法則”:
Never ever trust your tools (or data)
永遠(yuǎn)不要完全相信你的工具(或數(shù)據(jù))
并不是說生物信息學(xué)是不可信的舱污,相反呀舔,這是為了訓(xùn)練你謹(jǐn)慎的態(tài)度。簡單地檢查輸入數(shù)據(jù)和中間結(jié)果扩灯,運行快速健全的檢查媚赖,維護(hù)適當(dāng)?shù)目刂坪蜏y試程序是一個很好的開始。這也避免了遇到bug珠插,修復(fù)bug意味著要重新做大量的工作惧磺。
進(jìn)行穩(wěn)健和可重復(fù)的實踐會讓你的生活更愉悅
在科研圈工作讓我們以艱難的方式學(xué)到了生活的真相:任何可能出錯的事情都會出錯。我?guī)缀蹩梢员WC以下事情會發(fā)生:
1捻撑、幾乎可以肯定磨隘,一套流程必然會運行多次,可能會使用新的或更改的數(shù)據(jù)顾患。經(jīng)常發(fā)生這種情況是因為你會發(fā)現(xiàn)一個bug番捂,或者你會想要在步驟的上游嘗試一些新的東西。后續(xù)的分析都依賴于這些早期結(jié)果江解,就需要重新運行之前的所有步驟设预。 2、未來的某一天犁河,肯定需要重新訪問項目的一部分鳖枕,你可能已經(jīng)完全看不懂它是做什么的了魄梯。你唯一的辦法就是記錄清楚每一步。如果不寫下關(guān)鍵信息(例如宾符,從哪下載數(shù)據(jù)酿秸,何時下載,以及運行了哪些步驟)吸奴,肯定會忘記它們允扇,必然會帶來更大的麻煩,浪費時間不說则奥,還會降低生活質(zhì)量考润。記錄計算過程相當(dāng)于保存一個詳細(xì)的實驗筆記本--這是科學(xué)中絕對重要的一部分。
幸運的是读处,采用使項目可重復(fù)的方案有助于解決這些問題糊治。從這個意義上說,生物信息學(xué)(以及一般的科學(xué)計算)中的良好實踐既使生活變得更容易罚舱,也順帶產(chǎn)生了可重復(fù)的項目井辜。
例如,如果我們使用腳本自動執(zhí)行任務(wù)管闷,并跟蹤所有輸入數(shù)據(jù)和軟件版本粥脚,那重復(fù)此腳本中的所有步驟要容易得多,因為編寫良好的腳本自然會記錄工作流包个。這種方法還可以節(jié)省時間:如果接到新的或更新的數(shù)據(jù)刷允,所要做的就是用新的輸入文件重新運行腳本。這在實踐中并不難做到碧囊;編寫腳本并不困難树灶,計算機(jī)擅長做腳本中的重復(fù)性任務(wù)。
在之后的文章中糯而,我將分享一些構(gòu)建可重復(fù)執(zhí)行腳本的方案天通,一定要關(guān)注我的公眾號【生物城堡】呀!
·end·
超乎想象的干貨分享