農林漁牧網

您現在的位置是:首頁 > 農業

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

2022-09-02由 DrugAI 發表于 農業

編碼蛋白質具體指什麼

編譯 | 陳睿哲

本文介紹一篇拜羅伊特大學2022年7月發表在nature communications的《ProtGPT2 is a deep unsupervised language model for protein design》。

蛋白質設計在自然環境和生物醫學中發揮著重要作用,旨在為特定用途設計全新的蛋白質。受到近期Transformer架構在文字生成領域成功的啟發,作者提出ProtGPT2,一種在蛋白質空間上訓練的語言模型,用於生成遵循自然序列原則的全新蛋白質序列。ProtGPT2生成的蛋白質顯示出天然氨基酸傾向,而無序預測表明,88%的ProtGPT2生成的蛋白質是球狀的,與自然序列一致。蛋白質資料庫中的敏感序列搜尋表明,ProtGPT2序列與自然序列有著遠親關係,相似網路進一步證明,ProtGPT2是對蛋白質空間中未探索區域的取樣。ProtGPT2生成的序列在探索蛋白質空間的未知區域時,保留了天然蛋白質的關鍵特徵。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

1

簡介

近年來,預訓練大模型極大地推動了自然語言處理領域的發展。作者等人注意到,蛋白質序列與人類語言有著某種相似性。蛋白質序列可以描述為化學定義的字母、天然氨基酸的串聯,與人類語言一樣,這些字母排列形成二級結構元素(“單詞”),單詞的集合形成承擔功能的“句子”。蛋白質序列與自然語言一樣,是資訊完整的:它們以極其高效的方式完全按照氨基酸順序儲存結構和功能。隨著自然語言處理領域在理解和生成具有接近人類能力的語言方面的非凡進步,作者假設這些方法為從序列的角度處理蛋白質相關問題打開了一扇新的大門,例如蛋白質設計。

受到自迴歸語言模型(如GPT系列)和先前採用自迴歸語言模型建模蛋白質序列的成功,作者想知道能否透過自迴歸語言模型來建模蛋白質序列,以達到:

1)高效地學習蛋白質序列語言;

2)生成合適且穩定的蛋白質;

3)理解所生成的序列與自然語言處理的關係,模型能否對未知蛋白質空間進行取樣。

因此,作者提出了ProtGPT2,一種具有7。38億引數的GPT架構的自迴歸模型,能夠以高通量方式生成從頭蛋白質序列。ProtGPT2在整個蛋白質空間的百萬序列上進行訓練後,有效地學習了蛋白質語言。ProtGPT2生成的蛋白質序列具有與自然序列相同的氨基酸和無序傾向,同時在進化上遠離當前的蛋白質空間。二級結構預測計算出88%的序列是球狀的,與天然蛋白質一致。使用相似網路表示蛋白質空間表明,ProtGPT2序列透過擴充套件自然超家族來探索蛋白質空間的未知區域。生成的序列顯示出與自然序列類似的預測穩定性和動態特性。由於蛋白質設計在解決從生物醫學到環境科學等領域的問題方面具有巨大潛力,作者認為ProtGPT2是高效高通量蛋白質工程和設計的重大進步。

2

方法

分詞與詞表

作者透過BPE分詞器在資料集上訓練,最終的詞表大小為50256個tokens,每個token平均包含了4個氨基酸。

資料集

作者以Uniref50作為訓練資料集,包含49874565個序列。隨機選擇10%的序列生成驗證資料集。最終的訓練和驗證資料集分別包含4488萬和499萬個序列。作者生成了兩個資料集,一個使用512的序列大小,另一個使用1024。本文中展示的結果對應於使用512大小訓練的模型(後文主模型)。

模型

作者使用堆疊Transformer decoder作為模型架構,ProtGPT2模型由36層Transformer decoder組成,模型維度為1280。在自迴歸語言模型的條件下,每個句子的機率分佈被定義為如下:

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

更具體的,作者透過最佳化句子中每個單詞與其字首的負對數似然作為目標函式來進行最佳化:

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

模型訓練

輸入序列為BPE分詞器所分詞後得到的token序列。模型權重在訓練之前重新初始化。使用Adam(β1)最佳化模型=0。9, β2=0。999),學習率為1e-03。對於主模型,每個batch為512 tokens × 128 GPUs。每個GPU處理8個batch,總計1024個。模型在128個NVIDIA A100上訓練4天。使用DeepSpeed69進行並行訓練。

模型推理

作者使用主模型,使用不同的推理引數,對序列進行取樣。在取樣策略與取樣超引數上,重複懲罰在1。1到3。0之間以0。1進行微調,選擇token的範圍top-k從250到1000不等,每50取樣一次,並且top-p從0。7到1。0,視窗為0。05個單位(top-k取樣,模型會從機率前 k 大的單詞中抽樣選取下一個單詞;top-p取樣,設定機率閾值,取滿足閾值條件的樣本進行取樣)。基於以上的引數設定,為每種取樣引數生成100個序列,並將其氨基酸的頻率與自然序列進行比較。作者觀察了哪些引數在自然序列中七種最常見的氨基酸組中產生的差異較小。作者還探索了50到100範圍的beam search取樣,但在所有情況下都會產生較差的結果。為了確定自然序列中的氨基酸頻率以與ProtGPT2樣本進行比較,作者從Uniref50資料集中隨機選取了100萬個序列。作者透過微調超引數找到了最佳匹配引數,某個取樣過程如圖1所示。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

3

結果

統計取樣

自迴歸語言生成基於以下假設:序列的機率分佈可以分解為條件下一個詞分佈的乘積。然而,一個訓練好的語言模型生成不連貫的亂碼或重複文字並不罕見。作者簡要總結了本研究中應用的最常用的語言生成取樣策略與超引數。

貪婪搜尋策略是在每次取樣時選擇機率最高的token。雖然演算法簡單,但生成的序列是確定性的,很快也會變得重複(圖1a)。Beam search試圖透過保留最可能的候選詞來緩解這一問題,儘管生成的文字仍然存在重複性,人類文字往往會交替使用低機率和高機率token(圖1b)。最後,透過從前k個最可能的詞中隨機選取一個詞,隨機取樣遠離確定性取樣(圖1c,d)。

根據先前關於語言模型取樣策略的研究,受這項工作的啟發,作者按照不同的取樣策略和取樣超引數生成序列(圖1)。為了評估什麼樣的取樣過程產生了最自然的相似序列,作者將生成的序列集的氨基酸傾向性與在自然蛋白質序列中發現的進行了比較。作者還觀察到貪婪搜尋和Beam search會產生重複的確定性序列,而隨機取樣顯著改善了生成的傾向性(圖1)。此外,作者還觀察到,生成類似於自然序列的序列需要較高的k值,即最佳結果出現在k >800的範圍內,作者特別選擇了k=950(圖1h)。作者還發現,當選擇1。2的重複懲罰時,取樣結果得到了改善。因此,本研究的其餘部分使用了這些取樣引數。

ProtGPT2序列編碼球狀蛋白

為了在序列和結構屬性的背景下評估ProtGPT2生成的序列,作者建立了兩個資料集,一個是使用前面描述的推理引數從ProtGPT2生成的序列;另一個是從UR50隨機選擇的序列。每個資料集由10000個序列組成。由於ProtGPT2是以無監督的方式訓練的,作者的分析重點是驗證ProtGPT2序列的結構和生化特性。

作者首先研究了資料集中的無序和二級結構內容。之前已經表明,在細菌和古細菌中發現的蛋白質中約有14%是無序的。為此,作者執行IUPred335來分析ProtGPT2生成的序列是否比一組自然序列更容易無序。作者的分析顯示,在ProtGPT2生成的序列(87。59%)和自然序列(88。40%)中,球狀結構域的數量相似。已經報道了幾種檢測短內在無序區域的方法。由於作者的目標是提供跨資料集的球狀度和普遍無序的高水平比較,作者進一步使用IUPred3在氨基酸水平上分析了蛋白質序列。值得注意的是,作者的結果顯示兩個資料集的有序/無序區域分佈相似,ProtGPT2和自然資料集中分別有79。71%和82。59%的有序氨基酸(表1)。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

接下來,作者研究了無序中的相似性是否是等效二級結構元素含量的結果。為此,作者計算了ProtGPT2和自然序列資料集的PSIPRED預測。自然序列顯示α螺旋、β片和線圈含量分別為45。19%、41。87%和12。93%。ProtGPT2資料集的百分比分別為48。64%、39。70%和11。66%。這些結果表明,ProtGPT2生成的序列類似於球狀結構,其二級結構與在自然界中發現的類似。

ProtGPT2序列與自然序列

蛋白質在進化過程中透過點突變以及複製和重組發生了巨大變化。然而,透過序列比較,即使兩種蛋白質的序列有顯著差異,也可以檢測出它們之間的相似性。作者想知道ProtGPT2序列與自然序列的關係如何。為此,作者使用了HHblits,這是一種敏感的遠端同源性檢測工具,使用配置檔案隱馬爾可夫模型根據資料庫搜尋查詢序列。作者根據Uniclust30資料庫搜尋ProtGPT2資料集中10000個序列的同源性。為了進行比較,作者還使用相同的設定對自然資料集執行了相同的搜尋。此外,為了分析完全隨機序列與ProtGPT2序列的比較情況,作者還透過隨機選取詞表中的25個字母進行連線,構建了第三個資料集。

因為作者想對資料集與現代蛋白質空間的相關性進行定量比較,所以作者繪製了個體與序列長度圖(圖2)。具體來說,對於Uniclust30中發現的每一條路線,作者描述了具有最高個體和序列長度的路線。作為序列同一長度空間中的參考點,作者使用HSSP曲線,一個邊界集來定義蛋白質序列相關性的置信度。其特性低於該曲線的蛋白質,不一定具有類似的3D結構,也不可能具有同源性。由於ProtGPT2和隨機資料集中的序列不是蛋白質進化的結果,作者使用曲線作為已知閾值來比較資料集。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

當檢視曲線上方和下方的點選分佈時,作者觀察到HHblits在Uniclust30資料庫中發現了許多與自然序列資料集相關的點選(圖2a)。具體來說,在10000個數據集序列中,9621個(96。2%)在HSSP曲線以上顯示出一致性。類似地,9295個ProtGPT2生成的序列(93%)在Uniclust30資料庫中也有對應的序列,它們在HSSP曲線上方對齊(圖2b)。相反,93%的隨機生成序列低於該閾值(圖2c)。儘管natural和ProtGPT2資料集的模式相似,但這兩個資料集在點選分佈上存在差異。一個標準差範圍為31。5–69。7%,自然資料集的平均同一性高於ProtGPT2集,範圍為32。9–64。1%(圖2a,b)。自然和ProtGPT2序列分佈之間的差異無統計學意義(p值90%)。儘管ProtGPT2資料集中的365個序列在Uniclust30中具有高同一性序列,但它們在所有情況下都對應於低於15個氨基酸的比對,而自然資料集顯示760個序列超過90%,比對長度在14。8–77。3個氨基酸的一個標準差範圍內。這些結果表明,ProtGPT2有效地生成了與自然序列有遠親關係的序列,但不是記憶和重複的結果。

ProtGPT2生成有序結構

設計全新蛋白質序列時最重要的特點就是能否夠摺疊成穩定的有序結構。作者在AlphaFold預測、Rosetta鬆弛分數和分子動力學(MD)模擬下,評估了ProtGPT2序列與自然和隨機序列的潛在適合度。

AlphaFold在0-100(pLDDT)範圍內生成其置信度的每殘留估計值。該分數已被證明與順序相關:低分數(pLDDT>50)往往出現在無序區域,而優秀分數(PLDD>90)出現在有序區域。在這裡,作者對每個序列進行了五個結構預測。當採用每個序列的最佳評分結構時,資料集的平均pLDDT為63。2,當對每個序列的所有五個預測進行平均時,為59。6。此外,37%的序列顯示pLDDT值超過70。由於pLDDT分數是結構順序的代理,作者轉向自然和隨機資料集,看看它們與ProtGPT2序列相比如何。與之前的工作一致,自然資料集中66%的序列預測pLDDT值大於7043,整個資料集的平均值為75。3(補充圖2b)。相反,隨機資料集中的預測顯示pLDDT的平均值為44,pLDDT值超過70的序列中只有7。4%(補充圖2c)。

為了進一步驗證模型的質量,作者在三個資料集上執行了Rosetta RelaxBB。Rosetta Relax對Rosetta能量函式執行蒙特卡洛最佳化,從而產生不同的骨架和轉子分子構象。較低的羅塞塔能量構象與較鬆弛的結構相關。最新的羅塞塔能量力場與熱容、密度和焓等實驗變數密切相關。該評分函式反映了一種靜態蛋白質構象的熱力學穩定性。在這裡,作者對三個資料集的30000個序列進行了Rosetta鬆弛實驗(圖3a)。一個廣泛的經驗法則是,總分(羅塞塔能量單位,REU)應介於1和3/殘基。作者在天然和ProtGPT2資料集中觀察到這種分佈,平均值分別為1。90和1。73 REU/殘基。正如預期的那樣,隨機序列的資料集顯示平均值為0。13 REU/殘基。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

作者進一步測試了ProtGPT2序列是否顯示出與自然序列類似的動態特性。蛋白質是動態實體,如果沒有其固有的靈活性,它們將無法與其他生物分子相互作用並在細胞中發揮其功能。為了評估ProtGPT2生成的序列是否在與天然蛋白質相同的範圍內顯示靈活性,作者隨機選擇每個資料集的12個序列,並運行了100個分子動力學(MD)的三個副本,共108條軌跡,總時間為10。8微秒。為了確保在模擬過程中觀察到的動力學不是不同pLDDT值的偽影,因此可能是不同的無序預測,作者確保資料集pLDDT平均值之間的差異在統計上沒有差異。自然和ProtGPT2資料集中每條軌跡的均方根偏差平均值分別為2。93和3。12分別為(圖3b)。正如預期的那樣,隨機序列在軌跡期間顯示出顯著的偏差,平均值為9。41。 雖然ProtGPT2序列的值高於自然序列,但分佈沒有顯著差異。結果表明,ProtGPT2序列可能與自然界中發現的蛋白質具有類似的動力學特性。

ProtGPT2超越了當前蛋白質空間邊界

有幾項研究試圖將蛋白質序列的維度降低為幾個可識別的維度,以便進行分析。大多數表示方法包括(i)蛋白質結構的層次分類,如ECOD和CATH資料庫,(ii)笛卡爾表示和相似網路。作者最近在一個網路中表示結構空間,該網路將蛋白質顯示為節點,當它們在common中具有同源和結構相似的片段時連線,並在Fuzzle資料庫中提供結果。該網路代表來自七個主要SCOP類的25000個域,並表明現代已知的蛋白質空間既有連線的區域,也有“島狀”區域。

進化已經探索了所有可能的蛋白質序列,但並不可信。因此,作者想設計出探索蛋白質空間未探索區域的蛋白質,以及是否可以設計出新的拓撲結構和功能,提出了挑戰。作者將ProtGPT2序列整合到作者的蛋白質空間網路表示中。為此,作者為每個SCOPe2。07和ProtGPT2序列生成了HMM配置檔案,使用HHsearch以all對all的方式對它們進行比較,並用Protlego表示網路。為了避免具有多個對齊的特定序列最終由網路中的同一節點表示,作者用兩個不重疊的對齊複製條目。

該網路包含59612個頂點和427378條邊,包括1847個元件或“島狀”簇(圖4)。主要成分聚集了一半以上的節點(30690),這一數字明顯高於在相同設定下生成的網路中觀察到的數量,但不包括ProtGPT2序列,強烈表明ProtGPT2生成的序列橋接了蛋白質空間中的獨立島。作者從拓撲不同的作用域類中選擇了跨越網路不同區域的六個示例,以在結構級別展示ProtGPT2序列(圖4)。特別是,作者報告了一個全β(751),兩個α/β(42661068),一個膜蛋白(4307),一個α+β(486)和全α(785)結構。這些結構說明了ProtGPT2在生成從頭結構方面的多功能性。對於每種情況,作者使用FoldSeek58搜尋PDB資料庫中發現的最相似的蛋白質結構。ProtGPT2生成摺疊良好的全β結構(751,4307),儘管最近取得了令人印象深刻的進展,但長期以來一直非常具有挑戰性。ProtGPT2還生成膜蛋白(4307),由於在指定膜內結構方面的挑戰和繁重的實驗表徵,這對蛋白質設計提出了一個困難的目標。除了生成自然摺疊代表外,ProtGPT2還產生了以前未收錄的拓撲結構。例如,作者報告了蛋白質4266,其拓撲結構與目前PDB收錄中的任何結構都不匹配,DALI Z分數低為5。4,RMSD為3。0到PDB 5B48超過67個殘基(9%)。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

然而,ProtGPT2序列最顯著的特性可能是其與所有先前設計的從頭結構的顯著偏差,這些結構通常具有環路和最小結構元素的理想拓撲。從頭蛋白質設計的優點是不攜帶任何進化歷史,但在實踐中,缺乏例項和更長的環阻礙了與其他分子相互作用和功能實現所需的裂縫、表面和空腔的設計。ProtGPT2序列類似於天然蛋白質的複雜性,具有多方面的表面,能夠分配相互作用的分子和底物,從而為功能化鋪平了道路。在圖4中,作者展示了結構486和1060,這是此類複雜結構的兩個示例。特別是,1068顯示了TIM-barrel褶皺,該拓撲迄今為止在從頭蛋白質設計中取得了成功,但其理想化結構已被證明具有挑戰性,無法透過額外的secondary elements和更長的環進行擴充套件。

保留的功能熱點

對FoldSeek發現的最佳點選結構疊加進行檢查,發現了幾個配體相互作用殘基的側鏈保守的例子。圖5中顯示了兩個示例。最類似於序列357(圖5a)的自然結構對應於PDB程式碼1X0P(鏈A),一個結合FAD的藍光感測器域。當重疊結構時,作者觀察到357保留了側鏈結合熱點,三個殘基相同(D169、Q150和N131),兩個不同但能夠形成相同相互作用的殘基,即R165位的賴氨酸和K127位的組氨酸。序列475(圖5b)最類似於PDB程式碼5M1T(鏈A),摺疊成TIM-barrel並與細菌第二信使環二-3′,5′-鳥苷單磷酸(PDB三字母程式碼C2E)結合的磷酸二酯酶。在五個側鏈相互作用的殘基中,ProtGPT2序列保留了三個殘基(Q455、R473和E469),幷包括一個取代另一個能夠氫鍵的殘基(用於Q513的天冬氨酸)。值得注意的是,ProtGPT2以zero-shot生成了這些序列,即在這兩個特定摺疊中沒有進一步微調。這些結果對蛋白質工程產生了重大影響,因為儘管同源性較低(357和45分別為31。1%和29。2%),但ProtGPT2似乎保留了生成序列中的結合位置,並可用於增加特定摺疊和家族的序列。

Nat. Commun.|用於蛋白質設計的深度無監督語言模型ProtGPT2

4

總結

過去的2年裡,利用人工智慧方法的從頭蛋白質設計取得了驚人的成功。作者構建了一個自迴歸語言模型ProtGPT2,ProtGPT2有效地學習了蛋白質語言。ProtGPT2可以生成與自然序列有遠近關係的序列,其結構類似於已知的結構空間,具有非理想化的複雜結構。由於ProtGPT2已在整個序列空間上訓練,因此該模型產生的序列可以對任何區域進行取樣,包括深色蛋白質組和傳統上認為在蛋白質設計領域非常具有挑戰性的區域,例如全β結構和膜蛋白。ProtGPT2蛋白質與遠親天然蛋白質結構的視覺疊加顯示,PROTGPT1還捕獲了功能決定簇,保留了配體結合的相互作用。由於人工蛋白質的設計可以解決許多生物醫學和環境問題,作者在蛋白質語言模型中看到了巨大的潛力。ProtGPT2設計在幾秒鐘內即可適應球狀蛋白質,無需進行進一步訓練。透過根據使用者序列微調模型,ProtGPT2可以適應特定的家族、功能或摺疊。在這種情況下,ProtGPT2將能夠篩選與天然蛋白質相似的蛋白質,以改善、微調或改變天然蛋白質的特定生化功能。大規模篩選ProtGPT2設計的蛋白質庫可能會識別資料庫中未捕獲的蛋白質摺疊以及在自然界中沒有相關對應功能的蛋白質。ProtGPT2是面向高效蛋白質設計和生成邁出的一大步,為探索設計蛋白質結構和功能的引數及其後續實際應用的實驗研究奠定了基礎。

參考資料

Ferruz, N。, Schmidt, S。 & Hcker, B。 ProtGPT2 is a deep unsupervised language model for protein design。 Nat Commun 13, 4348 (2022)。

https://doi。org/10。1038/s41467-022-32007-7

專案主頁

https://huggingface。co/nferruz/ProtGPT2

程式碼

https://huggingface。co/docs/transformers/main_classes/trainer