用訓練BERT的方法解碼蛋白質,我們能讀懂生物界的語言嗎?

  • 2019 年 12 月 4 日
  • 筆記

大數據文摘出品

來源:BAIR

編譯:王轉轉、趙吉克、錢天培

毫無疑問,BERT在自然語言處理(NLP)領域取得了巨大的成功。

使用未經標記的數據集進行訓練,可以得到能學會複雜的語言表示形式的大規模模型。

那麼,我們是否可以將類似的研究方法應用於生物學序列中,尤其是蛋白質序列?

如果可以,在這些生物學家感興趣的的問題上,比如對蛋白質進行建模預測,新的研究方法能夠在多大程度上提高預測模型的表現呢?

最近,伯克利人工智能研究室的Neil Thomas等人順着這一思路,將BERT引進到了生物領域。

NLP領域的這一成果對蛋白質研究有何重要意義呢?我們一起來看。

萬能的蛋白質

首先,讓我們先來認識一下蛋白質。

蛋白質幾乎是萬能的。在你閱讀本文時,你血液中的血紅蛋白正在將氧氣移動到肌肉中,轉運蛋白正在泵送鈉以產生神經元激發所需的動作電位,而眼睛中的感光蛋白正在區分這句話中字母的邊界。

了解什麼因素會破壞蛋白質的自然功能,可以幫助我們了解疾病的分子基礎,並幫助我們找到更好的治療方法。

自然進化的蛋白質網絡發揮必要的功能以維持生命,而人工開發的蛋白質可以被拼接到細菌基因組中以產生胰島素,降解塑料廢品並生產出洗衣粉。

了解如何修改蛋白質以適應用戶定義的功能,可以幫助提高生產效率,並開發具有全新功能的蛋白質。

蛋白質導論:如果你把高中學的都忘了

蛋白質是由共價鍵連接的氨基酸的線性鏈。一共有20個標準氨基酸,這些標準氨基酸"字母"使我們可以把蛋白質標記為一串序列,就像我們對英語句子進行編碼一樣。這種離散序列表示稱為蛋白質的主要結構。

用氨基酸「字母」序列表示的蛋白質片段

然而,在細胞中,蛋白質是一種三維分子對象。由於蛋白質的功能是通過和蛋白質結構進行物理和化學作用而完成的,因此摸清蛋白質的3D結構是了解其生物作用的關鍵。蛋白質的局部幾何體為二級結構,在蛋白質不同部分的行為中起着作用。蛋白質的全局幾何結構為三級結構,它決定了蛋白質的整體行為。

不同尺度的蛋白質結構:初級結構(序列)、二級結構(局部拓撲)和三級結構(全局拓撲)。

蛋白質究竟發揮什麼作用?

假如我們給了你下面這個序列。

你的目標是為序列中的每個位置給出對應於其生理構象的3D 坐標。對於上述序列其結構如下所示。

從水母Aequorea victoria中分離出的綠色熒光蛋白(GFP)的3D結構,其中顏色漸變表示序列中從頭到尾的索引。

這是生物化學所面對的一個最根本性的挑戰,也許是我們所面臨的最困難的預測任務之一。因而DeepMind也加入了對這個問題的研究中。

對此問題進行監督學習,我們需要標記。

在這種情況下,標記的蛋白質是分子中每個原子的三維坐標。標記單個蛋白質是勞動密集型、資源密集型和耗時過程的結果,只能由專家執行。每年,我們會弄清越來越多的蛋白質的結構,但與蛋白質結構的數量相比,蛋白質序列的數量呈指數級增長。

序列數據庫呈指數級增長,目前UniParc 中約有 300,000,000 個序列,蛋白質數據庫 (PDB)中約有 160,000 個結構。

這個時候,顯然我們需要引入一些外部信息。

愛上未標記數據

好消息是,根據您使用的數據庫不同,有大量未標記的蛋白質序列可供參考,從數千萬到數億不等。如果我們能從這些大型數據庫中提取有用的信息,它們就能為我們提供強大的信號源。

目前使用這些數據庫的主要範例是序列對齊。我們獲取查詢序列並針對整個數據庫進行掃描,查找與進化相關的其他"表親"序列(即共同遺傳祖先的後代)。在最簡單的情況下,如果我們找到具有已求得的結構的表親序列,我們可以將該表親的結構映射到查詢序列的對齊位置。

GFP蛋白系列的部分序列對齊。水母Aequorea victoria並不是唯一產生綠色熒光蛋白的有機體。上圖給出了其他物種的熒光解決方案,如海面、柳葉草和馬鈴薯真菌。

最左側的那列給出了序列的 ID,之後是對齊表示的序列位置。顏色對應於基於生物物理特性的氨基酸分組:紫色表示疏水性(C, A, V, L, I, M, F, W),紅色表示帶電(D, E, R, K), 綠色表示極性以及未充電uncharged (S, T, N, Q) 等。顏色一致的列表示進化保留的位置。點(.)和破折號(-) 對應於間隙,即觀察到插入或刪除的位置。

進化關係為我們帶來了什麼?

進化是受約束的;如果對蛋白質的修飾導致其結構被打亂,生物體將失去這種功能並受損。因此,我們希望從數據庫中提取的表親集告訴我們,進化在哪裡有自由統治,哪裡有迴旋的空間,哪裡被完全制約。這些蛋白質系列的表示,被恰如其分地稱為多序列對齊,是蛋白質結構預測管道的關鍵輸入。直觀地講,在 3D 空間中接近的位置將共同演化,即一個位置的突變通常與另一個位置的容納性突變同時發生。

這個主題有很多變體,但都歸結為使用進化模型來查詢相關序列或直接從模型中提取要素。和往常一樣,進化為思考生物問題提供了一個強大的範例!

通過自我監督學習蛋白質語言

大型語料庫…難以獲得標籤…序列標籤…聽起來很熟悉嗎?

沒錯,生物序列的所有這些特性都表明與NLP有直接的類比。NLP 最近的一大突破是使用自我監督的預訓練,這是一種從未標記的數據中獲得標籤的方法。

來看個例子,我們可以隨機屏蔽了一個部分。被屏蔽的序列是我們神經網絡模型的輸入。

使用變壓器進行屏蔽語言建模。我們在一個巨大的語料庫上重複這個屏蔽過程,為每個單詞學習豐富的,參考上下文的特徵。(Jay Alammar的 "Illustrated BERT")

我們的模型輸出了一個關於詞彙的概率分佈,對應於屏蔽下的單詞出現的概率,並使用交叉熵損失來懲罰我們的模型預測錯誤的單詞。通過觀察大量這樣的序列,如谷歌的 BERT和OpenAI的 GPT-2一類的模型通過序列學習。這些序列可以很好地轉移到各種涉及語法和語義的下游任務。

對於蛋白質,我們可以在氨基酸水平上做類似的事情。我們抽取一種已知的蛋白質,如熒光GFP:

MSKGEELFTGVVPILVELDGDVNGHKFSVS…

隨機屏蔽住一部分,

MSKGE?LFT?VVP?ILVELDGDV?GHKFSVS…

並讓模型填充剩餘部分。

一旦我們有了預先訓練的模型(例如 BERT),我們就將任務特定的模型放在頂部。在這裡,我們訓練了一個蛋白質結構預測器,它獲取了我們預先訓練的模型所學的特徵。

為什麼這種語法是可學習的?套用 Mohammed AlQuraishi的一個想法,通過檢查原始序列來預測蛋白質特性的能力是基於語言假說的:

自然產生的蛋白質的空間佔據着一個可學習的流形。這種流形產生於進化壓力,這些壓力在很大程度上鼓勵在許多尺度上重用組件:從二級結構的短圖案到整個球狀域。

由於我們談論的是複製遺傳物質,這個假說可以更簡單地被概括為萊勒-洛巴切夫斯基原則:

複製、複製、複製

通過觀察許多序列,我們的模型可以隱性了解蛋白質的構造方式:比如序列中重複使用的部分、位置對之間的相互作用以及進化保護區域。原則上,這可能帶來巨大益處。自監督為我們提供了一種在距離較遠的蛋白質組之間傳輸信息的方法。如果對齊不能描述數據庫中代表性不足的蛋白質家族,自監管模型可以使用從其他蛋白質家族中學到的部分信息來提供信息性特徵。

許多課題組同時產生了這一想法,產出了一系列應用語言建模預訓練蛋白質的工作成果。每個實驗都使用不同的預訓練語料庫,使用不同的計算預算,並評估不同的下游任務。為了評估蛋白質轉移學習的自監督狀態,我們控制了每個變量 並發展了TAPE:對蛋白質嵌入的評估任務,我們的靈感來自於"粘性"NLP 基準 GLUE。在 TAPE 中,我們針對各種困難的下游任務對從蛋白質和 NLP 文獻中提取的各種自監管模型進行基準測試。我們的訓練和測試數據經過仔細選擇,以測試有意義的生物泛化。

自我監督學習真的有用嗎?

作為一個案例,我們將設計一種更亮的熒光蛋白。綠色熒光蛋白(GFP)由於其獨特的化學組分而在可見光譜中顯現出熒光。這使得綠色熒光蛋白(GFP)乃至其他熒光蛋白在作為體外傳感器時特別有效。生物學家可以用綠色熒光蛋白標記其他感興趣的蛋白質,然後觀察它們如何在細胞中分佈,或者量化它們在不同條件下的數量。

改變其氨基酸組成(即,改變氨基酸序列中的一個字母)(註:即替換蛋白質中的一個氨基酸)會改變蛋白質的熒光性質。大多數的修飾都會破壞熒光,而且和原序列差距越大,就越不可能維持原蛋白功能。確定對蛋白質進行何種修改以優化特定的功能被稱為蛋白質工程。蛋白質工程有諸多應用,如增強流感抗體的效力,或是增加材料合成的生化催化劑的產量。

一個蛋白質工程預設的泛化設置——首先觀察小的擾動(左側),再擴展到較大的序列擾動(右側)。當移除原綠色熒光蛋白(GFP)序列中的一個氨基酸後,觀測到熒光蛋白質的概率急劇下降,在訓練集和測試集上呈現劇烈的分佈變化。

當允許更多的修改時,蛋白質變體的可能性組合數量會出現爆炸性增長。單一位點的修改有20種可能。即使只允許綠色熒光蛋白(GFP)序列的238個氨基酸中有5個位點改變,我們就能得到320萬個新的蛋白質,這遠遠超過了在實驗室中合成或製造的數量。理想情況下,我們希望能夠在(在序列空間中)相近的蛋白質變體上訓練一個模型,然後篩選更不相近的變體,以此來優化我們想要的功能,在本例中即為「熒光」。為了能有效配置有限的實驗資源,我們希望對變體按照成功的可能性降序排列。

預訓練必須有用!

我們的模型對每個氨基酸在蛋白質序列中的嵌入位置進行學習。對序列中每個氨基酸的嵌入位置向量進行平均化操作允許我們為每個綠色熒光蛋白(GFP)變體生成一個全局表徵。

綠色熒光蛋白變體的轉換器學習到的用於序列嵌入的t-分佈領域嵌入算法(t-distributed stochastic neighbor embedding, t-SNE),基於熒光亮度的對數染色。

我們所研究的嵌入體在熒光變體和非熒光變體之間有明顯的區別。定量地說,針對序列嵌入的預訓練監督模型在測試集中熒光預測的斯皮爾曼相關係數為0.68,遠遠超過我們的基準特徵化——氨基酸的獨熱編碼(one-hot encoding)),基準斯皮爾曼相關係數為0.14。如果我們採用之前的序列比對,我們可以通過計算每個位點的熵來得出每個位點的「重要性」。一般來說,一個低熵位點的改變更有可能破壞蛋白質的功能,在本例中意味着降低熒光效果。

Sarkisyan等人報道了斯皮爾曼(Spearman)的rho值為0.4,報告了位點的熵與該位點的突變體的平均熒光的等級存在相關性(斯皮爾曼相關係數=0.4),這支持了我們的直覺。這也表明,我們的模型可能已經學習了除了每個位點的熵以外的指征,例如位點之間穩定性的相互作用。

但這也留下了很多問題

讓我們再來看另一個接觸預測的案例。

左圖為桿狀蛋白結構,右圖為接觸圖的可視化。氨基酸間距離小於8Å被認為是在接觸。

接觸預測即對每一對氨基酸貼上一個0/1的標籤,其中1表示這對氨基酸在蛋白質的3D結構中是接近的(< 8Å)。精確的接觸圖提供了強大的全局信息,並有助於改進整個蛋白質的3D結構建模。

鐵蛋白1A鏈的真實接觸和預測接觸。左圖是真實接觸圖,中間是來自未經訓練的LSTM的預測接觸圖,右圖是來自經過訓練的LSTM的預測接觸圖。藍色像素代表True Positive,紅色像素代表False Positive,顏色的深淺代表模型預測的置信度。

定性地說,接觸預測在有預訓練時變得更敏銳,即該模型對正確預測接觸位置的置信度更高並且減少了低泛接觸預測錯誤的可能性。當然,它也會犯錯,尤其是真實接觸位置附近的區域。預訓練帶來的幫助貫穿於所有基準測試任務和所有模型中:與只訪問監督下游任務的無預訓練模型相比,在一個大型蛋白質序列庫中進行預訓練會對結果起到實質性幫助。

如果移除預先訓練好的模型,並使用基於多重序列對齊的特徵(例如對齊每一列氨基酸的邊緣頻率)替換輸入序列,我們就可以評估下游算法的準確性。這些序列的特徵是不需要學習的,相反地,序列是使用以學習「什麼組成了有進化學意義的關係」為目的的硬編碼啟發式算法來構建的。

使用基於路線特徵時的預測模型示意圖。我們的預訓練模型已被未學習的功能所取代。

左圖是某一蛋白質的真實接觸圖,中間是基於對齊特徵的模型預測的同一蛋白質的接觸,右圖是經過預訓練的LSTM的預測結果。

基準測試的一個有趣的結果是,(非神經)經過對齊的特徵大大優於通過結構性任務的自監督預訓練獲得的特徵。我們可以定性地看到,基於對齊特徵的預測接觸圖更清晰,並且預測了被有預訓練的LSTM完全遺漏的接觸。為什麼基於對齊特徵的訓練結果優於自監督的特徵尚未有答案,但這表明改進預訓練任務和架構以充分利用蛋白質序列數據很有潛力。

蛋白質研究將迎來「無監督」革命

我們認為這是機器學習蛋白質過程中一個激動人心的時刻。更好的蛋白質建模不僅可能對現實世界產生巨大影響,它也是一個有趣的機器學習挑戰。

蛋白質是由可變長度的長序列摺疊成緊湊結構形成的,這可能導致數十上百個單位的分離氨基酸之間的相互作用。我們的大部分知識都集中在特徵明確的蛋白質上,因此填補序列之間採樣不密集的空穴(被稱為「暗蛋白質組」)是模型推廣的一個獨特挑戰。作為自監督學習的試驗場,蛋白質因為序列數據的收集速度遠遠超過實驗表徵的速度而卓有成效。

綜上所述,我們認為機器學習從業者用蛋白質數據做實驗的時機已經成熟了。

最後,本研究的所有代碼都可以GitHub上找到。

參見以下鏈接:

https://github.com/songlab-cal/tape

相關報道:

https://bair.berkeley.edu/blog/2019/11/04/proteins/

實習/全職編輯記者招聘ing

加入我們,親身體驗一家專業科技媒體采寫的每個細節,在最有前景的行業,和一群遍布全球最優秀的人一起成長。坐標北京·清華東門,在大數據文摘主頁對話頁回復「招聘」了解詳情。簡歷請直接發送至[email protected]

志願者介紹

後台回復「志願者」加入我們

點「在看」的人都變好看了哦!