AlphaFold為什麼能精準預測蛋白質結構?_風聞
返朴-返朴官方账号-关注返朴(ID:fanpu2019),阅读更多!1小时前
2024年5月AlphaFold 3問世,在預測生物分子結構方面再次升級,不僅提升了預測精度,其適用性也更加廣泛,很多人認為這是具有里程碑意義的進展。人工智能究竟是如何預測蛋白質結構的,為什麼它的準確率如此之高?本文將簡要介紹AlphaFold系列預測蛋白質結構的基本原理。
撰文 | 陳清揚
神秘的蛋白質摺疊
提到蛋白質,大家首先可能想到,它是一種人體必需的營養素,也可能會想到煎蛋、牛排、或是一鍋美美的鯽魚豆腐湯。蛋白質是美食的代名詞,更是生命功能的物質基礎,處處發揮作用:負責運送氧氣的血紅蛋白是蛋白質;幫助我們消化食物的消化酶是蛋白質;胰島素、甲狀腺素等激素是蛋白質;參加免疫反應的抗體也是蛋白質……據估計,人體內至少存在2萬種不同類型的蛋白質,這些蛋白質的結構和功能千差萬別,但構成它們的基本元素是一樣的——由20種氨基酸通過不同的排列組合而構成,譬如胰島素就是由16種、51個氨基酸構成的。
當不同的氨基酸連成一串的時候,它們會脱水形成肽鏈,也就是蛋白質的一級結構;而這樣的一級結構是不穩定的,受到疏水作用、氫鍵和範德華力等影響,肽鏈最終會摺疊成一個非常複雜而穩定的三維結構。圖1是一個蛋白質摺疊前後對比的例子。
圖1:蛋白質摺疊示意圖丨圖源:wiki
蛋白質摺疊成何種結構決定了它將具有何種功能,於是理解蛋白質如何摺疊就成了一個十分重要的研究課題,這便是“蛋白質摺疊問題”。一個蛋白質如果因為各種原因而沒有正確摺疊,就有可能不會正常發揮其功能,從而引發疾病,阿爾茲海默病、帕金森等疾病都和蛋白質的錯誤摺疊有關。此外,在藥物設計上面,研究人員常常需要開發具有特定功能的蛋白質,而這需要對蛋白質摺疊有深入理解。
1970年代,美國生物學家、諾貝爾獎得主克里斯蒂安·安芬森(Christian B. Anfinsen)提出[1]:當環境條件合適(温度、pH值等)時,蛋白質摺疊後的穩定三維結構完全由其氨基酸序列決定。這就是影響深遠的安芬森假説(Anfinsen’s dogma),它背後的深意是:儘管蛋白質摺疊的過程十分複雜,其中有各種力、分子的相互作用,但所有的信息竟然都包含在了其最初的氨基酸序列之中,這個過程又是如何發生的呢?於是“蛋白質結構預測問題”,即給定蛋白質的氨基酸序列,輸出其最終摺疊後的三維結構,成了分子生物學中的一座聖盃。
世界各地的生物學家拿起計算機這件強大武器,設計各路算法來追逐這座聖盃。這裏有一個問題:為什麼不直接通過實驗觀測蛋白質來確定其空間結構呢?事實上,自1970年代以來,通過實驗方法來確定蛋白質結構在不斷進步,精度不斷提高,特別是冷凍電鏡技術得到應用後,結構生物學得到了長足的發展。通過實驗方法確定的蛋白質結構也被認為是標準答案。不過這些實驗方法非常耗時耗力,據估計,用實驗方法確定一個蛋白質結構需要10萬美元和長達數月的時間[2]。因此,如果能設計一個計算機算法來預測蛋白質三維結構,那將會大大地加速蛋白質結構的分析。並且計算機科學和算力的飛速發展也給生物學家們敞開了一扇新的大門,但是,用計算機算法來做預測絕非易事。
計算機預測的兩種方式
使用計算機來對自然過程的結果進行預測通常有兩種方式。第一種方式基於物理學,模擬計算分子運動過程,我們不妨稱之為“模擬派”。這種方式在科學計算領域有廣泛應用,我們每天都看的天氣預報正是通過計算機來模擬大氣運動實現的。類似地,看過《三體》的讀者們一定都知道,三體運動不存在精確的解析解,但可以通過計算機進行數值模擬:將連續的物理過程模擬成很多離散的小步,然後在每一小步計算出可以接受的近似解,依次迭代完成最終的模擬。然而,要高分辨率地模擬物理過程需要巨大的計算量。
在蛋白質結構預測領域,Folding@Home便是一項知名的“模擬派”項目,它由斯坦福大學教授 Vijay Pande 於2000年發起,聯合全世界志願者的計算機來構成一個超大的分佈式計算機,它同時也是全世界第一台 exaflops 級別(每秒進行1018次雙精度浮點數計算)的超級計算機。這樣強大的算力使得 Folding@Home能夠對蛋白質摺疊過程進行原子級別的模擬,超出先前估計可模擬的時段數千倍,其成果已經參與了200餘篇科學論文的發表。
模擬法的優勢在於它可以模擬出完整的、動態的分子運動過程;但是另一方面,由於需要巨大的計算量,對於比較大的蛋白質,模擬出最終的三維結構需要非常長的時間。不過,正是因為“模擬派”試圖模擬蛋白質摺疊完全的過程,這使得他們的工作的意義遠遠不止預測最終的三維結構。試想,若是計算機能將蛋白質摺疊完整的動態過程如動畫般展現出來,這對於科學家理解蛋白質的錯誤摺疊和藥物設計都會有極大幫助。正因如此, Folding@Home在對於蛋白質錯誤摺疊疾病的理解和治療上已經做出了若干貢獻。
計算機預測自然過程的第二種方法是基於統計規律的預測,我們可以稱之為“統計派”。“統計派”不直接對物理過程進行模擬,而是將其視作一個黑箱,通過對過往的輸入和輸出尋找規律,進而對新的輸入進行預測。換言之,這個過程是“數據驅動”的,首先需要有過往歷史數據,然後從數據中尋找規律。因為不需要模擬黑箱中完整的物理過程,“統計派”顯然比“模擬派”在計算上更高效。還是以天氣預報作為例子,“統計派”從過往的天氣中來尋找規律和特徵,運用數理統計方法對未來做出預報,這就是天氣預報中的數理統計預報法。
然而對於蛋白質結構預測的問題,想要精確地找出輸入輸出之間的規律也十分困難,因為理論上任意兩個氨基酸之間都可能發生相互作用,其中的物理化學過程十分複雜。此外,“統計派”還有一個致命的難點在於,當過往數據中缺乏與當前輸入類似的輸入時,預測將會變得更加困難。
AlphaFold為何如此耀眼?
“統計派”的一大鉅作便是DeepMind公司開發的AlphaFold了。其實在AlphaFold橫空出世之前,其他的預測算法(如 Rosetta@Home)也一直在進步,準確率不斷提升,然而AlphaFold的光芒實在太耀眼,以至於前人算法的進步顯得十分暗淡。
2020年,AlphaFold 2參加了蛋白質結構預測技術關鍵測試(CASP)比賽。這是蛋白質結構預測界的奧林匹克競賽,來自世界各地的參賽團隊會拿到未知結構的蛋白質的氨基酸序列,然後使用自己的算法預測其三維結構,最後和實驗測定結果進行比較,相似度越高分數就越高。在這一年的比賽中,AlphaFold 2取得了中位數分數92.4分(滿分100分;90分以上被認為預測方法可與實驗方法媲美)的高分預測結果,它預測的蛋白質三維結構和最後實驗觀測的標準答案,僅有原子大小尺度的差異!這樣出色的成績以至於讓很多人認為,這個困擾了生物學界50年的問題就這樣被解決了!當然,“聖盃”不會那麼容易被拿下,但生物學家迎來了一件利器。
AlphaFold是怎麼做到如此準確的預測的呢?它的核心武器就是深度學習。深度學習是一種從2010年代開始蓬勃發展的機器學習技術,它通過建立多層的神經網絡來模擬人腦的學習方式,具有強大的泛化能力和表達能力,能夠自動地從過往數據中學習複雜的模式與特徵,以此對於新輸入進行精準預測。事實上,在2018年的CASP比賽中AlphaFold便已經參賽並奪得頭籌,不過那時還尚未達到如此高的預測準確率。
不過,AlphaFold 2同樣也面臨諸多挑戰。首先,深度學習通常需要龐大的數據集來進行學習,而當時的蛋白質數據庫(Protein Data Bank)中只有大約17萬條蛋白質數據。這聽起來似乎已經不少了,但是我們橫向對比一下就知道這個數據量有多麼捉襟見肘:同樣是在2020年訓練的語言模型GPT-3使用了3000億個token(可以理解為“詞”)作為數據集,這可比17萬大了許多個數量級。其次,AlphaFold 2預測出的三維結構要遵循基本的空間幾何規律。從分子結構來説,三個原子所構成的三角形應該遵循兩邊之和大於第三邊的基本規律,而這樣的規律又應該如何與機器學習模型訓練的過程結合起來?換言之,如何讓機器在有限的數據集中習得這些知識呢?
AlphaFold預測蛋白質基本原理
圖2是AlphaFold 2深度學習模型架構示意圖。最左邊的輸入表示需要被預測結構的序列(input sequence);旁邊畫了一個小人,代表人類的某種蛋白質。
圖2:AlphaFold 2深度學習模型架構圖丨圖源:參考文獻 [5]
接下來,這個輸入序列被轉換成兩種不同的信息,傳入後面的神經網絡進行迭代和學習。第一個信息,上面的“MSA”是多序列對比(Mutiple Sequence Alignment)的縮寫,意思是説,我們從一個現有的基因數據庫中搜索出與當前輸入序列最接近的一些序列進行對比。當然,搜出來的這些序列不一定是存在於人體中的,圖中就舉例了三個類似的序列,分別畫上了魚、兔子和雞,代表其來自相應的生物體。搜索這些類似的氨基酸序列有什麼用呢?這是因為生物學裏有一些基本的遺傳規律,通過觀察其他存在的相似的序列,我們可以推測兩個氨基酸之間是否存在關聯,而這對於預測最終的三維結構是非常有用的信息。舉個例子,我們可能發現某兩個氨基酸(譬如一個在序列首位、一個在末尾)總是成對地出現突變(mutation),這就意味着它們倆在最後的三維結構中會有某種關聯。
在基因數據庫中搜出來了以後,MSA信息會被轉換成一個矩陣,也就是圖片中橙色的矩陣(MSA representation)。這個矩陣的維度是(s,r,c),s代表序列數,r代表氨基酸序列的長度,c代表氨基酸embedding的長度,相當於我們用一個向量來表示一個氨基酸,其長度就是c。這個MSA representation矩陣在模型的訓練過程中會被反覆迭代和更新。
第二個用來學習和迭代的信息是圖2中的“Pair Representation”,它是一個維度為(r,r,c)的矩陣,相當於把輸入序列橫着和豎着排列起來(行和列),形成一個正方形的矩陣;而元素(i,j)代表氨基酸i和氨基酸j之間的空間關係,如距離、角度等,用一個長度為c的向量來表示。換言之,這裏用了兩個不同的矩陣,一個是MSA,代表生物演化信息;另一個是Pair,代表空間幾何信息。在模型訓練的過程中,這二者相輔相成、相互更新,使得模型能夠充分融合、彙總兩者包含的信息。
MSA和Pair Representation被傳入Evoformer模塊中進行更新,圖3是DeepMind論文中提供的Evoformer展開圖。如它的名字所暗示,Evoformer是Transformer的一個變種,即在普通的Transformer模塊里加入了各種MSA與Pair representation相互融合的操作,以及一些特定的模塊使得機器能夠習得空間幾何關係,等等。關於Transformer已經有許多介紹,這是一種十分強大的神經網絡架構,特別擅長捕捉長序列的上下文關係(long-range dependency),ChatGPT名字裏的T正是Transformer。
圖3:Evoformer模塊展開圖丨圖源:參考文獻 [5]
Transformer的核心是一種被稱為自注意力(Self-Attention)的機制,它使得模型能夠學習出一段序列中每一個元素和其他元素的相關程度的高低。在語言模型的應用中,它能幫助模型學習到一句話中每一個詞和其他詞的相關性。在蛋白質結構預測的應用中,輸入的氨基酸序列恰恰也是一種序列——氨基酸按順序排列在一起,互相之間可以發生相互作用,這使得自注意力機制十分適用於這個場合。這也充分顯示了Transformer的通用性,只要是可以表示為序列的數據,不管是文字、語音、圖像,還是蛋白質序列,都可以使用Transformer來捕捉上下文信息。
原始的Transformer處理的是文字這種一維的序列,而AlphaFold兩種不同的輸入(MSA和Pair representation)都是二維的矩陣,於是在Evoformer模塊中,自注意力是以軸向注意力(Axial attention)的方式被使用,它是自注意力的一個變種,適用於對超過一維的數據進行上下文捕捉,即每次按某一個軸來進行那個維度上的自注意力計算。對於矩陣(二維)而言,是按行(row-wise)和列(column-wise)進行自注意力計算。
Evoformer模塊裏還包括了若干用來滿足三角不等式(即三角形的兩邊之和大於第三邊)的模塊,譬如Triangle multiplicative update(黃色框)和Triangle self-attention(粉紅色框),兩者皆可用來幫助模型學習到三角不等關係。前者需要的計算量更小,但AlphaFold 2團隊發現,兩者一起用預測準確率更好。這樣的Evoformer模塊一共有48個,使得模型可以一層一層地學到深層次的特徵模式,在此過程中,不斷地更新MSA和pair representation,使得它們能夠表徵更加豐富、準確的特徵信息。
我們前面提到,Alphafold 2的挑戰之一就是數據集比較小。研究人員的解決方案是,除了將MSA等演化相關的先驗的人工知識嵌入到神經網絡之中以外,還使用了一些擴充數據集的技術,如Self-Distillation——他們使用了一個未標註的、具有約35萬條氨基酸序列的新數據集Uniclust30,並使用AlphaFold 2對其進行預測,然後通過將其中高置信度的預測結果加入到原始PDB數據集中,形成了一個擴充後的新數據集,然後在這個新的數據集上對模型進行重新訓練,這樣做也提升了最後的預測準確率。
總體而言,在訓練集不是很大的情況下,AlphaFold 2的一大設計挑戰就是將人工的知識和模型學習的過程有機地融合在一起。AlphaFold 2也很好地應對了這個挑戰,最後模型取得了出色的預測效果,掀起了一場生物信息學的革命。
更通用的AlphaFold 3
AlphaFold的腳步並沒有止步於AlphaFold 2,就在2024年5月,DeepMind推出AlphaFold 3,再次引起業界轟動。AlphaFold 3不僅僅能夠預測蛋白質的三維結構,也能預測更廣泛的生物分子複合物的結構(包括蛋白質、核酸、配體等),以及生物分子之間的相互作用。有趣的是,儘管AlphaFold 3對於預測精度和廣度都有提升,它自身的模型架構相比AlphaFold 2卻更加簡化而且通用了。AlphaFold 2雖然使用了Transformer這種通用的模型,但同時它也加入了許多工程化的細節去提升最後預測的結果。而在AlphaFold 3中,工程化的細節得到了簡化,取而代之的是更強大、更通用的模塊。譬如AlphaFold 3大大降低了對於MSA的使用和依賴,而主要使用Pair representation進行學習。AlphaFold 2中的核心模塊——Evoformer的數量在AlphaFold 3中被減到了4個;同時AlphaFold 3也增加了一個新的模塊Pairformer,而這個模塊只對Pair representation進行更新,其數量是48個。這樣的設計是為何呢?如我們前文所述,MSA中保存的是從基因數據庫中搜出來的氨基酸序列,其包含了蛋白質演化信息,而Pair representation包含的是空間幾何信息。毫無疑問,後者是一種更加通用的表達方式,它不僅限於蛋白質這一種分子,也適用於配體等其他分子。因此,降低對MSA的依賴而加強對Pair representation的學習與更新能使得模塊更加通用化、能處理更多不同類型的輸入,這也正是AlphaFold 3的目標。
AlphaFold 3另一通用化的設計在其結構模塊(structure module),即從Pair representation生成最終的三維結構圖。上一代的AlphaFold 2把蛋白質最終的三維結構視為一系列由氨基酸殘基構成的三角形在空間中的旋轉和平移構成的主幹框架(backbone frames)以及側鏈的扭轉(side-chain torsion),通過讓模型計算出這些三角形的旋轉角度、平移大小以及側鏈的扭轉角度來得出最終的蛋白質三維圖像,這其中的技術細節十分複雜。而AlphaFold 3刪繁就簡,模型架構中不再手動地編入三角形、旋轉、平移等概念,而是直接採用了一個標準的擴散模塊(diffusion module),這個擴散模塊將直接預測每一個原子在三維結構中的座標,這也使得AlphaFold 3不再僅僅侷限於蛋白質這一種分子的結構預測了。令人驚奇的是,儘管AlphaFold 3在模型架構中去掉了許多“蛋白質特定”的部分,其在“蛋白質結構預測”這一問題上的預測結果竟然也超越了AlphaFold 2。這似乎意味着,當模型走向通用化的時候,它以自己的方式從更加多樣化的輸入和任務中學習到了一些更本質的物理、化學規律,其海量的矩陣中,似乎包含了對我們所生活的世界更精準的認知。而這些更廣博的知識也使得AlphaFold 3在專項任務上的表現更加出色。
最後總結一下,AlphaFold系列通過精準預測出最終的蛋白質結構,成為科研工作者的有力幫手;也再次證明了深度學習從數據中學習複雜模式的能力,藉此AI變得更加智能與多任務化。儘管如此,人類對於蛋白質摺疊完整的動態過程和機理仍然需要更多的理解,但AlphaFold已經成為了AI推動科學發展的一座里程碑,而愈發強大的AI對於科學研究的助力還將繼續。
參考文獻
[1] https://en.wikipedia.org/wiki/Anfinsen%27s_dogma
[2] https://en.wikipedia.org/wiki/Rosetta@home
[3] https://en.wikipedia.org/wiki/Protein_folding
[4] https://en.wikipedia.org/wiki/Folding@home
[5] https://www.nature.com/articles/s41586-021-03819-2
[6] https://www.nature.com/articles/s41586-024-07487-w
拓展閲讀
https://youtu.be/NN_uRCH7mrQ?si=KIIBGy2qm9KvKfDfhttps://www.youtube.com/watch?v=3gSy_yN9YBo&ab_channel=LookingGlassUniversehttps://www.youtube.com/watch?v=eMlx5fFNoYc&ab_channel=3Blue1Brownhttps://www.khanacademy.org/science/biology/macromolecules/proteins-and-amino-acids/a/orders-of-protein-structurehttps://youtu.be/NN_uRCH7mrQ?si=Im4E_SB9YWhiokuy
特 別 提 示
1. 進入『返樸』微信公眾號底部菜單“精品專欄“,可查閲不同主題系列科普文章。
2. 『返樸』提供按月檢索文章功能。關注公眾號,回覆四位數組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。
版權説明:歡迎個人轉發,任何形式的媒體或機構未經授權,不得轉載和摘編。轉載授權請在「返樸」微信公眾號內聯繫後台。