文獻分享丨想做好蛋白質特性預測?這些建議請收下!
?各位研究er復工快樂!
靈元素(https://www.0elem.com/)準時給大家?guī)砜蒲形墨I分享啦
本期文獻來自PLoS Computational Biology
數學與計算生物學1區(qū)
希望能為大家的研究之路帶來些許幫助~
?
一、摘要
基因組測序數據的積累推動了以機器學習為基礎的蛋白質特性預測方法(僅從氨基酸序列出發(fā))的普及。
在回顧相關工作、待審閱的手稿和已發(fā)表的論文的過程中,我們注意到一些反復出現的問題,這些問題使得一些研究的結論難以重現(這可能是生物學家不熟悉機器學習方法或機器學習專家缺乏生物學知識導致的)。
?
在此,我們希望能夠為從事相關研究的學者提供一些參考,以解決上述問題。(在此類研究中)最關鍵的問題是清晰度(clarity)的缺乏,例如,如何獲得感興趣的注釋、使用哪些基準和指標、如何定義陽性和陰性等。
?
另一類問題和嚴謹性(rigor)有關,例如,如果模型中加入了蛋白結構信息,那方法就不能稱為基于序列的方法;如果聲明模型超越SOTA,那就必須與最先進的模型進行對比;如果想要給出一種方法比另一種更好的結論,就必須進行合理的重要性評估。在本文中,以上問題將被詳細討論;我們希望本文提供的技巧能夠為生物學中其他基于機器學習的應用提供幫助。
?
二、介紹
?
機器學習(含深度學習)已成為生物信息學分析和預測方法的主流。對在生物學領域開發(fā)機器學習應用的新手,我們推薦先閱讀Greener及其同事的文章(https://doi.org/10.1038/s41580-021-00407-0)A guide to machine learning for biologists),他們對一般概念、不同類型的機器學習問題、各種常用的方法和架構進行了很好地綜述。
?
預測蛋白質功能是生物信息學的重要任務之一。在此,我們收集了10個有用的建議,這些建議專門針對使用蛋白質序列數據作為輸入生成蛋白質功能特性的預測方法; 圖1是幾個相關的例子。圖2,是各項建議的流程圖,從生物學問題開始,歷經數據獲取、訓練和測試,以及關鍵的比較和解釋等步驟。我們根據自己在基于序列預測蛋白質-蛋白質相互作用(PPI)[參考文獻15-19] ,構象表位區(qū)域[參考文獻20]和疏水性斑塊[參考文獻21]方面的經驗撰寫了本文。本文的許多技巧同樣適用相關的任務,例如預測翻譯后修飾或突變后某些特性的變化,以及基于結構的蛋白質特性預測。


基于結構的蛋白質功能特性預測方法通常優(yōu)于基于序列的方法。近年來,隨著通過實驗確定的蛋白質結構數量的增加,結構預測領域取得了巨大的突破;特別是AlphaFold2在結構預測方面取得了一個巨大的飛躍。然而,許多重要類型的蛋白質,仍然沒有可靠的結構信息。此外,預測結構作為預測功能性質的輸入的有效性尚未得到驗證,使用結構的功能屬性預測不一定比基于序列的方法更準確。
?
該領域(序列預測蛋白功能)的許多模型開發(fā)者僅有計算機科學或生物學背景之一,可能因其專精領域的差異而采取不適用“其他領域”的不合理假設。建議2和5-10,可能也適用于一般機器學習方法;建議1、3、4、9是特定于蛋白質相關任務的。此外,這些技巧也適用于基于結構的蛋白質特性預測。
?
?
Tip 1:回答一個具體的生物學問題
找到一個生物數據集訓練分類器不是一件困難的事,但研究的關鍵是利用機器學習方法來解答生物學問題。生物學問題決定了后續(xù)的所有過程,包括但不限于數據集的收集、適配的機器學習方法、合理的驗證指標和需要比較的舊方法。希望各位記住,在整個工作過程中時時刻刻提醒自己所要解決的生物學問題是什么。
蛋白質序列不是圖像,也不是語言中的句子,我們對句法、語法結構在相關模型中是如何作用的只有很微弱的認識。蛋白質的功能、結構、進化背景中,有一些反映在其特定的氨基酸序列中;這與自然語言中的句子有很大的不同,如果只是簡單的類比、建模,會丟失很多信息。
?
?
Tip 2:描述并提供研究數據集——包括訓練集和測試集
?
科學成果的可重復性至關重要。一個好的數據集描述應該詳細說明 —— 研究使用了哪些源數據庫(例如 PDB) ,哪些選擇標準(例如最小分辨率,特定的實驗技術) ,以及你應用了哪些進一步的過濾步驟(例如序列標識,參見下一個技巧);應當提供數據庫的版本和數據下載日期來提高研究的重復性。
?
研究者應該清楚數據集中有多少蛋白質、哪些類蛋白質,使用了哪些序列,以及它們的實驗屬性。在機器學習研究中,報告序列數據集的一般統(tǒng)計信息是一個很好的做法,其中當然應該包括類不平衡和氨基酸頻率等。
?
數據集的一個組成部分是特性。這可能包括直接從序列中提取的值,例如氨基酸類型,進化信息(例如來自 PSI-BLAST 的 PSSM 形式的表達譜表示) ,或由其他工具預測的特征(例如二級結構和溶劑可及性)。研究者也可以使用表示模型來特性;這些表示模型通常針對大量未標記數據進行訓練,旨在表示數據的固有結構。有幾種預先訓練的表示模型可用于蛋白質。在每種情況下,研究者都應該清楚自己從哪個工具或源中獲取了哪些特性值,是否應用了縮放等處理,以及它們在數據集中的注釋方式。
?
越來越多的期刊已經強制要求分享可查找,可訪問,可解釋,可重用的數據 。為蛋白質特征創(chuàng)建注釋數據集是一項困難的任務,這樣的數據集對許多人來說都是有價值的。
?
?
Tip3:刪除冗余序列
?
訓練集和測試集間如果存在同源,則方法的性能會被高估;Greener及其同事稱這樣的情況為“數據泄漏”。
想要消除序列冗余可以通過對序列同一性(圖3)進行過濾,確保不出現任何一對序列共享超過25%的匹配氨基酸。為避免特征生成方法的數據泄漏,這些方法的訓練數據和模型的訓練數據之間的序列冗余也應被刪除。

不允許訓練集和測試集的蛋白來自 CATH 或 SCOP 中相同的(超)家族是序列同一性過濾的一種替代方法。序列同一性過濾最佳策略是結合以上兩種方法一起實施(序列同一性和超家族)。此外,應當檢查訓練集是否可能由一個(或幾個)大的蛋白質家族主導;在這種情況下,該模型可能不能很好地推廣到其他家族。
?
在數據量和(訓練測試集)序列差異層面存在一種權衡,以保證良好的性能評估和足夠的數據量,這一點應該在文章中被充分討論。
?
?
Tip 4:明確模型的輸入輸出
?
可以根據具體的輸入、輸出分類基于序列的方法,如圖4。

雖然輸入總是蛋白質序列,但傳遞給預測模型的可能是一個殘基,一個序列窗口,或者整個蛋白質序列。在所有情況下,模型的實際輸入都是相關的特性……輸出可以是基于殘基的也可以是全局蛋白特性。
因此,您應該在手稿中盡可能清楚地指定您模型期望的輸入類型和它預測的輸出類型,并且最好在代碼本身和隨附的README文件中聲明。
?
?
Tip 5:選擇正確的評估指標
?
對您提出的預測方法,必須進行嚴格的評估,這就需要選擇合適的評估指標,因為不同的指標會突出顯示方法的不同性能屬性。在這里,我們簡要總結最常用的方法,它們的定義請參考參考文獻[20]。
?
許多蛋白質特異性分類任務具有很高的類不平衡性,例如,一般只有約10%至15%的蛋白質殘基具有相互作用。在處理高度不平衡的數據時,精度可能產生誤導;機器學習模型可能只是直接預測輸入為多數類(非交互) ,而沒有從數據中學習實際的生物學信息。Balanced accuracy沒有這個問題,是相關問題的首選指標。Matthews相關系數(MCC)和精確召回(P/R)曲線也更加關注少數類,能夠提供更加現實的評估。P/R 曲線可以用曲線下面積(AUC-P/R)或 P/R 曲線的平均精度(AP)來概括。此外,ROC 曲線經常被使用, ROC 曲線下面積(ROC-AUC)用于概括模型性能【注意,ROC-AUC不適合類不平衡數據集】?!瓕貧w任務,最常用的指標是皮爾遜相關,(根)均方差(RMSD) ,或均方差或絕對誤差(MSE或MAE)。
?
?
Tip 6:確定陰性集和陽性集及其意義
?
對分類問題,陽性集和陰性集的確定至關重要,應當仔細思考陽性集和陰性集的劃分是否合理。

一個很簡單的說明是,實驗沒有測功能的,未必就是陰性的。
?
?
Tip 7:用對應的模型以及數據集來描述結果
?
通常,在一篇論文中會介紹幾個模型、其差異及相應的數據集。
在說明結論時,要清晰的指出哪個模型是在哪組數據上訓練、測試的;哪個結論源自哪個模型。研究者應該使用清晰的標簽描述文章中所用的數據集和方法(已發(fā)表數據集和方法通常已被命名)。
我們在圖6中給出了一個簡單的例子來說明如何做到這一點。

Tip 8:對模型進行解釋(至少解釋特征重要性)
一些例子如圖7所示。在實際的建模之前,可能需要檢查標簽之間的特征值的差異,如圖7A 所示。對隨機森林模型,“ GINI impurity”通常用于根據決策樹模型中特征的重要性對其進行排序,如圖7B 所示;還可以查看“特性交互”,這將幫助您找到在決策規(guī)則中經常一起使用的特性。對神經網絡模型,SHAP 提供了特征重要性的累加分數,如圖7C 所示。清楚描述和標注你的特征是至關重要的,因為理解你的解釋數字(不可避免地使用縮寫)對于讀者來說很困難,從圖7B 和7C 可以很容易地理解這一點。

驗證特性影響的一個好方法是從輸入中刪除它,然后重新訓練,再次測試。當然也可以反過來,只訓練一些最重要的特性,看其與使用全部特征相比,性能降低了多少。
?
由于再訓練的計算成本可能相當高,而且您可能希望評估多個特性,甚至多個特性的組合,因此一種更廉價的方法是將模型輸入中的特性歸零。(這在機器學習中也被稱為“消融”,但請注意,還有其他類型的消融,特別是從神經網絡模型中去除組件)
?
?
Tip 9:與其他方法進行公平比較
?
如果聲明比較的是“SOTA”模型,應當確定2或3個公認最優(yōu)的方法。比較過程要基于公平的原則:
1)確保陰性、陽性集的定義是相同(或高度相似)的;
2)應當在相同的測試集上進行模型比較,如果您在建模時使用了自己構建的測試集,則應當使用被對比方法所用的測試集再與該方法進行一次比較(換言之,您的SOTA不應是特定于自己的數據集的);
3)注意“數據泄漏”等問題對比較公平性的影響。
?
我們多次遇到的一個問題是,研究者聲稱方法是基于序列的,但實際上并非如此,他們通過使用來自 DSSP 數據庫的結構派生的二級結構注釋作為輸入特征,這事實上是輸入了結構數據。這樣的方法與基于純序列的方法比較是不公平的。
?
通常情況下,1%或更小的提升是沒有意義的。
?
?
Tip 10:使方法可以被應用
?
許多期刊要求方法(代碼或WEB服務)與論文一起發(fā)表。按照論文的理論實現相關方法耗時巨大;甚至只是運行其他研究者的代碼有時也是困難的;此外,部分潛在用戶困難并不具有相關的計算機技術。
一些可行的方案:容器(Docker 或 Singular)、工作流(CWL或 Galaxy)、預訓練模型(OpenML和ONXX)。當然,最受歡迎的還是WEB服務。此外,報告預測方法的運行時間(以CPU或GPU時列出)、說明生成輸入特性和預測的計算成本也很重要。
?
三、討論
?
這些建議雖然有的看起來很簡單,但從我們的經驗來看,這些內容確實經常被忽視。由于篇幅限制有很多問題我們在本文中沒有討論,未來的機器學習模型可能會越來越復雜,這意味著我們需要更強的可解釋方法和更嚴格的測試。雖然目前還有一些缺陷,我們相信,機器學習方法在蛋白質特性預測領域的優(yōu)勢是顯著的。
?
以上就是本期文獻分享的全部內容啦
歡迎大家留言討論~
?
?
文獻作者簡介——
侯慶振,山東大學國家健康醫(yī)療大數據研究院生物信息大數據中心主任,山東大學碩士生導師,山東產業(yè)技術研究院博士生導師,山東大學公共衛(wèi)生學院生物統(tǒng)計學系副研究員,山東大學青年學者未來計劃,中國生物工程學會計算生物學與生物信息學專委會委員,Frontiers in Molecular Biosciences專刊主編,Bioinformatics, PeerJ, Computational Biology and Chemistry等多個雜志審稿人。
?
研究方向和領域:
生物信息學;蛋白質功能與結構預測;機器學習/深度學習方法分析解決生物學醫(yī)學問題;單細胞轉錄組分析.主要致力于挖掘生物醫(yī)學大數據的生物學意義,分析生物大分子結構和功能的關聯。研究方向包括利用機器學習以及深度學習的方法,發(fā)展預測蛋白質結構與功能的算法及工具;整合表觀基因組學,轉錄組學和蛋白組學進行多組學分析,探索疾病的分子機制;聚焦單細胞轉錄組測序數據分析,尋找細胞間異質性和差異表達基因等。