南昌微網(wǎng)站建設(shè)廈門人才網(wǎng)官網(wǎng)招聘
蛋白質(zhì)是一個(gè)較長的氨基酸序列,比如100個(gè)氨基酸的規(guī)模,如此長的氨基酸序列連在一起是不穩(wěn)定的,它們會(huì)卷在一起,形成一個(gè)獨(dú)特的3D結(jié)構(gòu),這個(gè)3D結(jié)構(gòu)的形狀決定了蛋白質(zhì)的功能。
蛋白質(zhì)結(jié)構(gòu)預(yù)測(蛋白質(zhì)折疊問題):輸入氨基酸序列,預(yù)測3D結(jié)構(gòu)。
目前,我們知道10萬種蛋白質(zhì)的結(jié)構(gòu),但是我們已知的蛋白質(zhì)有10億種,因此,我們只了解這10萬種蛋白質(zhì)的功能(3D結(jié)構(gòu)),用傳統(tǒng)觀測方法(冷凍電鏡:將蛋白質(zhì)冷凍,用電子顯微鏡從各角度觀測,然后還原3D結(jié)構(gòu)),我們需要數(shù)月數(shù)年才能了解一個(gè)蛋白質(zhì)的結(jié)構(gòu)。
AlphaFold 1的預(yù)測精度沒有達(dá)到原子級(jí)別:對(duì)某個(gè)氨基酸位置的預(yù)測和實(shí)驗(yàn)測量的差距不在一個(gè)原子級(jí)別大小內(nèi)。AlphaFold 2在CASP14(科學(xué)家將每兩年內(nèi)實(shí)驗(yàn)測量的新蛋白質(zhì)結(jié)構(gòu)用于該比賽的評(píng)估)中出現(xiàn),并達(dá)到了原子級(jí)別。
- a:競賽方法對(duì)比,AlphaFold 2具有更低的偏差。b:模型預(yù)測與實(shí)驗(yàn)觀測的對(duì)比。c:用碳原子進(jìn)行比較,碳原子的大小是1.5A。d:大型蛋白質(zhì)的預(yù)測和實(shí)驗(yàn)對(duì)比。
AlphaFold 2的架構(gòu)如下:
- 輸入為人類蛋白質(zhì)的氨基酸序列,序列中的每個(gè)點(diǎn)(正方形,圓形,三角形)表示一個(gè)氨基酸。輸出為預(yù)測的每個(gè)氨基酸在3D空間中的位置。
AlphaFold 2分為3個(gè)部分:特征提取,編碼器,解碼器。
對(duì)于特征提取,包括:
- 序列的特征:首先人類的序列被直接copy,同時(shí)進(jìn)入genetic database搜索類似的序列(尋找有相似片段的蛋白質(zhì)),比如找到了來自魚類,兔子,雞的序列。我們將它們拿出來作為MSA(multiple sequence alignments,多序列比對(duì),兩序列盡可能多地對(duì)齊相同氨基酸)。
- 氨基酸之間的特征:另一個(gè)特征是氨基酸之間的關(guān)系,我們知道,蛋白質(zhì)折疊是氨基酸原子之間的相互作用,因此,我們?cè)趐airing中顯式表示每兩個(gè)氨基酸之間的關(guān)系。比如圖中蛋白質(zhì)長度為6,因此得到6×6的表,最開始,表中元素可以是序列視角上的距離,我們希望通過網(wǎng)絡(luò)推理最終得到3D空間中的氨基酸之間的距離。同時(shí),我們進(jìn)入structure database(現(xiàn)有已知的蛋白質(zhì)結(jié)構(gòu))進(jìn)行搜索,得到很多個(gè)可能的距離模板。
對(duì)于編碼器,輸入為兩個(gè)3D的張量:
- 對(duì)于MSA張量,s代表序列的數(shù)量,包括s-1個(gè)相似的序列。r表示每個(gè)蛋白質(zhì)序列包含r個(gè)氨基酸。c則表示每個(gè)氨基酸被表示為長度為c的向量。
- 對(duì)于pair張量,則為 r×r 的表,每個(gè)元素是長度為c的向量,作為氨基酸之間的距離embedding。
- 兩個(gè)張量輸入Transformer變種Evoformer,Transformer是處理序列之間的關(guān)系,不能處理2D之間的關(guān)系,另外由于輸入的是兩個(gè)不同的張量,也不能用Transformer處理。
編碼器經(jīng)過信息流動(dòng),切片輸出人類氨基酸的序列編碼,形狀為r×c,以及pair的表示。
解碼器基于編碼器的兩個(gè)輸出,得到3D結(jié)構(gòu)信息。AlphaFold 2還包括回收機(jī)制,將編碼器輸出和解碼器輸出回收到編碼器輸入。注意回收機(jī)制不是循環(huán)神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)是允許梯度在回收路線上傳播的,但AlphaFold不允許梯度在回收路線上傳播。
下面詳細(xì)了解編碼器的架構(gòu),下面是Evoformer中一個(gè)block的結(jié)構(gòu):
MSA序列信息首先被按行處理(對(duì)應(yīng)s),然后按列處理(對(duì)應(yīng)r),Transition用MLP實(shí)現(xiàn)非線性變換。Outer product mean實(shí)現(xiàn)MSA與pair的信息融合。
對(duì)于解碼器,首先了解蛋白質(zhì)的3D結(jié)構(gòu)表達(dá)。
最簡單的方式就是將每個(gè)原子在3D空間中的坐標(biāo)記錄下來,也就是三個(gè)值,我們只要對(duì)每個(gè)原子預(yù)測三個(gè)值就行。但是我們要知道,我們將蛋白質(zhì)在3D空間中旋轉(zhuǎn),位移都不會(huì)影響其結(jié)構(gòu),但會(huì)改變絕對(duì)位置中坐標(biāo)的值。因此,我們需要使用相對(duì)位置。如上圖所示,蛋白質(zhì)實(shí)際上是氨基酸連接的序列,我們只要記錄上一個(gè)氨基酸相對(duì)下一個(gè)氨基酸的位置(旋轉(zhuǎn)角度,相對(duì)距離),根據(jù)每個(gè)氨基酸的相對(duì)位置,我們就能還原出蛋白質(zhì)的3D結(jié)構(gòu)。
解碼器首先預(yù)測主干的形狀(backbone frame),然后預(yù)測主干上枝葉的旋轉(zhuǎn)和距離,得到氨基酸序列的3D結(jié)構(gòu)。
訓(xùn)練
訓(xùn)練的主要損失函數(shù)為FAPE,根據(jù)預(yù)測出的剛體變換信息,可以還原蛋白質(zhì)的3D結(jié)構(gòu),圖中綠色為預(yù)測出的結(jié)構(gòu),灰色為真實(shí)結(jié)構(gòu)。將預(yù)測原子位置(圖中xix_{i}xi?)和真實(shí)原子位置相減得到距離。距離越大,FAPE越大。
另外還有一個(gè)訓(xùn)練策略(noisy student),模型先在PDB上有監(jiān)督學(xué)習(xí),然后用于更大的無標(biāo)簽數(shù)據(jù)上推理,取出預(yù)測置信度高的結(jié)構(gòu)加入噪聲(比如數(shù)據(jù)增強(qiáng))作為新的有標(biāo)簽數(shù)據(jù),從而擴(kuò)大訓(xùn)練數(shù)據(jù)的規(guī)模。