DeepMind開源AlphaFold,蛋白質預測模型登上《Nature》

  • 2020 年 2 月 14 日
  • 筆記

作者 | 十、年

編輯 | Camel

還記得AlphaFold成名的那一戰么?

2018年的11月2日,在第13屆全球蛋白質結構預測競賽(CASP)上,AlphaFold獲得了預測43種蛋白中的25種蛋白結構的最高分,在98名參賽者中排名第一。

對於DeepMind的預測方法,由於當時沒有具體論文發布,眾多學者認為是計算能力突出使得AlphaFold獲得冠軍。

1月15日,DeepMind關於AlphaFold模型與程式碼通過了同行評審發布在了雜誌《nature》上面。並且模型和程式碼已經開源。

程式碼:https://github.com/deepmind/deepmind-research/tree/master/alphafold_casp13

模型:https://www.biorxiv.org/content/10.1101/846279v1.full.pdf

根據DeepMind的介紹,在預測蛋白質結構的物理性質方面使用了兩種不同的方法來構建預測模型。並且兩種方法都是基於深度神經網路來設計的,另外,預測模型主要完成對基因序列中蛋白質的特性的預測,這些特性包括:a:成對的氨基酸之間的距離;b:連接這些氨基酸的化學鍵之間的角度。

兩種圖片展示方式都表達了AlphaFold預測的準確度,像素亮度代表氨基酸之間的距離,像素顏色越亮,兩個殘基(residues)對就越近。第一行圖片是真實距離,中間一行圖片展示的是平均距離。

具體操作步驟為用神經網路預測蛋白質中的每一對殘基的概率分布,然後將這些概率合併為一個分數,從而能夠估計預測蛋白質結構的準確性。另外,還訓練了一個單獨的神經網路,基於所有距離的總和來評估預測的蛋白質結構與實際的結構的接近程度。然後使用評分系統(也是用神經網路構建)找到最優的預測。

整個蛋白質結構預測的過程

第二種方法是採用梯度下降優化分數,從而達到更準確的精度。更具體的是將梯度下降應用在整個蛋白質結構鏈的預測過程,而不僅僅是蛋白質展開的「碎片」。

模型簡介

https://www.biorxiv.org/content/10.1101/846279v1.full.pdf

根據DeepMind公開的論文《Improved protein structure prediction using predicted inter-residue orientations》。AlphaFold由深度學習和傳統演算法混合而成:CNN+Rosetta。

具體來說構建神經網路預測殘基間的方向和距離,然後用Rosetta對蛋白質結構同源建模、結構修復。同時設計一種Rosetta的優化方法來補充Rosetta能量函數的預測約束,進而生成更精確的模型。儘管訓練數據集全部為天然的蛋白質,但該模型始終將更高的概率分配給新設計的蛋白質,並找到決定殘基的關鍵摺疊和建立蛋白質結構「理想性(ideality)」的獨立定量衡量標準。

更為具體的,模型的由兩個關鍵部分組成:一個是深度殘差卷積神經網路,即將多序列比對( multiple sequence alignments)作為輸入;輸出的資訊為蛋白質中的殘基對中的相對距離和方向。另一個是在網路輸出的基礎上針對殘基對的距離和方向最小化的約束建立快速Rosetta模型(fast Rosetta model)

在訓練數據集方面,DeepMind使用的蛋白質資料庫(PDB)裡面有15051個蛋白質鏈條資訊,其中有30%是被標註的數據。

關於對模型的測試,DeepMind使用的是兩個獨立的測試集:第一個來自CASP13,第二個來自CAMEO實驗。另外,在CASP13數據集上,DeepMind使用完整的蛋白質序列而不是結構域序列來模擬。

圖註:A:用角度和距離表示從一個殘基到另一殘基的轉換。B:神經網路結構根據MSA預測殘基間的幾何形狀;C:預測過程概覽

在殘基間的幾何預測方面,DeepMind使用深度殘差神經網路。與大多數預測方法不同,DeepMind除了預測

~

之間的距離之外,殘基對之間的方位也屬於其預測的範圍。如上圖所示,殘基1與殘基2之間的方位由3個二面角

以及2個平面角

表示。其中ω表示沿虛軸(連接兩個殘基的

原子)旋轉角度。

角度定義了從殘基1看到殘基2的Cβ原子的方向,

同理。另外,與d和ω不同,θ和φ坐標是不對稱的,其取決於殘基的順序。綜上6個參數d,ω,

定義了兩個殘基的主幹原子的相對位置,這6個參數也是神經網路所要預測的。

神經網路的輸入是從MSA提取的特徵,並且執行動態運算。輸入的一維特徵包括:蛋白質氨基酸序列的獨熱編碼、位置特定頻率矩陣(position-specific frequency matrix)、配位熵(positional entropy)。隨後這些一維特徵被水平和垂直平鋪,然後堆疊在一起以產生2×42=84個2維特徵映射。

此外,DeepMind從MSA中提取配對統計資訊,這些資訊從輸入MSA構造的縮小協方差矩陣的逆導出的耦合來表示。首先計算一個站點(one-site)和兩個站點(two-site)的頻率計數,計算公式如下:

其中,A和B分別表示氨基酸的屬性,δ是克羅內克函數,

是MSA中序列數目的倒數,與序列m至少有80%的序列同源性。其中

然後計算樣本協方差矩陣,公式如下:

接下來在收縮(即通過在對角線上附加恆定權重進行正則化)之後求其逆(也稱為精度矩陣):

範數轉換:

最後修正:

上公式中的分別為:

分別為矩陣

的行列以及平均值。

在具體的訓練過程中,DeepMind使用交叉熵進行評估,其評估結果是總損失等於4個擁有同樣權重的分支網路的損失之和。另外,使用學習率為1e-4的Adam優化器,Dropout保持85%的概率。並隨機地對輸入MSAs在對數尺度上平均進行取樣,長度超過300個氨基酸的大蛋白質會被隨機切片。

然後對於距離分布,將概率值通過以下等式將概率值轉換為分數:

上述公式中的a是常數(=1.57),

是第i個bin的距離,

是第i個bin的距離的概率,N是bin的總數。

對於方向的分布,不考慮歸一化的情況下,概率轉分數的公式為:

最後將所有的分數通過Rosetta轉化成平滑勢能,並用約束限制勢能最小化。

綜上整個模型我們可以歸結為:扔進一個蛋白質序列,生成一個結構、一個評分,通過評分判斷是否滿意,不滿意就再生成一個。

程式碼簡介

根據DeepMind提供的Github中介紹,這份程式碼包括預測網路、相關的模型權重以及在《自然》雜誌上發表的CASP13數據集的實現。此外,還詳細的介紹了數據的下載地址,以及如何輸入數據;運行系統如何操作也給出了詳細的指導。

AI科技評論在下方再次給出github地址,感興趣的讀者趕緊去上手試一試吧!

https://github.com/deepmind/deepmind-research/tree/master/alphafold_casp13