蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
零.導(dǎo)讀
近幾年,蛋白質(zhì)結(jié)構(gòu)預(yù)測領(lǐng)域連續(xù)取得重大突破。首先是【AlphaFold】,在可以充分利用共進化信息結(jié)合深度神經(jīng)網(wǎng)絡(luò)生成空間約束條件并降低相空間的搜索,極大地幫助了蛋白質(zhì)的結(jié)構(gòu)建模,顛覆了往年需要結(jié)合復(fù)雜結(jié)構(gòu)采樣的算法,現(xiàn)在直接使用能量最小化即可得到預(yù)測的結(jié)構(gòu)。隨后,在2019年底,David Baker團隊發(fā)表了【trRosetta】,其集合深度學(xué)習(xí)的諸多進展,并與Rosetta建模軟件結(jié)合,使得預(yù)測蛋白結(jié)構(gòu)的門檻大大降低(在筆記本折疊蛋白) 。在【trRosetta】的文章中, 作者還發(fā)現(xiàn)了一個有趣的現(xiàn)象,對于很多之前設(shè)計的de novo design 的人工蛋白,在沒有同源序列(MSA)的情況下,只憑單序列輸入就可以預(yù)測到比較可靠的結(jié)構(gòu)。
這個結(jié)果似乎暗示,trRosetta模型不但學(xué)到了用共進化信息來推斷空間約束,也學(xué)會了某些序列和結(jié)構(gòu)之間的本質(zhì)關(guān)聯(lián)。于是作者提出了兩個問題,
大佬David Baker 和 Sergey Ovchinnikov (Rising Star)最近在bioRxiv一起上線了兩篇文章,肯定了這兩個回答。在這兩篇文章中,同時也發(fā)現(xiàn)了一些令人意外的現(xiàn)象,讓我們一起來看看吧。
一、引理
蛋白質(zhì)的結(jié)構(gòu)和序列之間的關(guān)系,可以用條件概率和貝葉斯公式表示
P(seq|struct) = P(seq,struct)/P(struct) = P(struct|seq)*P(seq)/P(struct)
其中P(struct|seq),給定序列求結(jié)構(gòu),是trRosetta解決的結(jié)構(gòu)預(yù)測問題。P(seq)是序列與結(jié)構(gòu)無關(guān)的概率,也就是天然蛋白中氨基酸的頻率。P(struct)是與蛋白序列無關(guān)的結(jié)構(gòu)信息,即背景。在文章中,作者對背景噪音單獨訓(xùn)練了一個神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和trRosetta相似,但輸入的MSA為只與蛋白長度相關(guān)的隨機噪音。
二、不給結(jié)構(gòu)隨便幻想
有了這個簡單的概率模型,作者的第一個問題就是如何讓神經(jīng)網(wǎng)絡(luò)去幻想(hallucination)新的蛋白結(jié)構(gòu),我們能否隨機在P(seq,struct)中找一個位置然后找到它附近的極值?這就要說到深度學(xué)習(xí)中的一個有趣的問題DeepDream(深夢)。
DeepDream
這個方法反映的是一個神經(jīng)網(wǎng)絡(luò)是怎么“認(rèn)識”世界的,當(dāng)你訓(xùn)練好一個圖像分類器后,輸入一張圖片,deepdream就在圖中拼命尋找符合它所認(rèn)識物體的pattern并加以放大,最后得到一張非常魔幻的照片。
這也正是幻想蛋白希望得到的效果,如果給定一個條序列(比如一條隨機序列)時, trRosetta預(yù)測出來的空間約束往往是缺乏特征的。如果能夠像deepdream一樣在里面尋找像是理想蛋白的特征并加以強化,最后我們就能得到一個具有良好蛋白性質(zhì)的空間約束及其序列。
MCMC序列優(yōu)化
具體的做法也相當(dāng)簡單,首先給定一條初始序列(可以完全隨機也可以是有意義的序列),接著將一個大小為Lx64的隨機噪音輸入背景網(wǎng)絡(luò),得到背景的空間約束。然后從初始序列出發(fā),通過trRosetta網(wǎng)絡(luò)預(yù)測其空間約束,最初的約束可能分布相當(dāng)彌散(因為序列不具有明顯結(jié)構(gòu)特征),計算這個分布與背景分布的差異,如果兩者的KL散度越大,則說明得到的空間約束越像一個蛋白。作者在序列中隨機引入點突變,用Metroplis判據(jù)來不斷優(yōu)化(增大)KL散度。
通過一個模擬退火的過程,隨著溫度不斷降低,作者得到了與噪音相比,KL散度非常大的序列。從D圖中可以看到,天然蛋白,從頭設(shè)計的蛋白,以及模擬退火后的幻象蛋白序列與背景空間約束分布的散度依次提高。40000步后幻想序列具有非常高的KL散度。
再比較一下序列,會發(fā)現(xiàn)幻想出來的序列距離天然蛋白非常遠(yuǎn),但結(jié)構(gòu)上卻在PDB中具有很好的匹配程度。也就是說,幻想出來的蛋白是序列獨特但結(jié)構(gòu)老套的蛋白。當(dāng)然這并不奇怪,PDB庫早已經(jīng)被報道覆蓋了蛋白質(zhì)大部分可能折疊的空間,更何況trRosetta就是基于PDB結(jié)構(gòu)進行的訓(xùn)練。最終作者展示了多種全新幻想出來的序列,形成覆蓋全α全β或兩者混合的各類拓?fù)浣Y(jié)構(gòu)。
三、給定結(jié)構(gòu)幻想序列
蛋白質(zhì)設(shè)計的目的則在于優(yōu)化P(seq|struct)。而在第二章節(jié)的MCMC采樣過程中,每次隨機突變一個氨基酸的方法效率較低,并沒有用到深度學(xué)習(xí)的關(guān)鍵技術(shù)“反向傳播”。這個方法可以使我們根據(jù)目標(biāo)分布與預(yù)測分布的差異,有目的地批量更新氨基酸,為了用連續(xù)變量編碼氨基酸,文中采用PSSM來描述一條序列。這套方法被稱為trDesign。
當(dāng)我們有了一個目標(biāo)結(jié)構(gòu)的時候,就可以計算目標(biāo)的空間約束(Target-P),用一條隨機序列通過trRosetta可以得到預(yù)測空間約束Q,P和Q的散度,就是我們希望最小化(使得Q接近P)的損失函數(shù)(注意在幻想時是希望最大化和背景的差異)。
這個流程可以快速的對輸入序列進行優(yōu)化,只需幾十步的迭代就可以得到收斂的結(jié)果。通過對Foldit玩家設(shè)計的幾千個蛋白進行分析,傳統(tǒng)的勢能面打分Pnear可以得到與實驗較好的關(guān)聯(lián)性,但開銷十分巨大。而trDesign的損失函數(shù)與Pnear有很好的關(guān)聯(lián)性,且對實驗驗證成功的例子有更好的區(qū)分度。說明trDesign所優(yōu)化的是整個能量面,即降低目標(biāo)構(gòu)象的能量同時提高其它構(gòu)象的能量。但缺點在于對native結(jié)構(gòu)的優(yōu)化不如Rosetta深入,這主要是受限于模型的精度。
那么究竟trRosetta學(xué)到了什么呢?作者列出了三點:
總結(jié)
作者開發(fā)的這套方法不但可以進行快速的蛋白質(zhì)設(shè)計,而且其效果是可以優(yōu)化整個能量面的形狀,如果與適合在局部深挖的Rosetta FastDesign相結(jié)合,可以達(dá)到遠(yuǎn)超原來蛋白設(shè)計流程的效果。
隨心所欲
劉源:有人可能會說,你能想象出新蛋白又有什么用?能反向傳播又如何,不就比design快點么?于是重點來了,由于這兩個方法都是基于trRosetta模型來的,所以如果合理的設(shè)計損失函數(shù),人們就可以做到固定一部分想要的結(jié)構(gòu),然后幻想生成剩下的部分!這也就是深度學(xué)習(xí)里常見的inpaint問題,擋住一部分圖片,自動補全新圖。而且最終得到的設(shè)計是非常接近ideal的穩(wěn)定蛋白,具有很多好的性質(zhì),從這個角度trDesign可以看成是一種濾鏡,給輸入的蛋白“磨皮”,讓它更加完美(穩(wěn)定易折疊,優(yōu)化能量面)。最近的一個例子是Baker組設(shè)計的一個IL-2的mimic從頭設(shè)計蛋白【neo-2】,在文章中作者使用了大量復(fù)雜的算法生成主鏈構(gòu)象再進行設(shè)計,而理論上這個操作可以在新的框架中一步到位。相信這套方案在成熟之后會在設(shè)計抗體、疫苗等重大問題上帶來突破性進展。
皮卡車:這兩篇文章的idea是如何出來的,和Sergey的一些經(jīng)歷和想法分不開。Sergey 主要做的是共進化相關(guān)的工作,GREMLIN為主,也可以叫markov random field, potts model,self-supervised learning等。通過對MSA的分析來得到蛋白質(zhì)的接觸圖譜。然后遇到的一個問題是,目前的結(jié)果是通過分析單層神經(jīng)網(wǎng)絡(luò)的參數(shù)獲得的。如果層數(shù)增加,物理意義不明晰,就在模型中丟失了接觸圖譜的解釋性,于是他搞了一套基于梯度的分析方法,Seqsal,把輸入當(dāng)變量,就可以從多層神經(jīng)網(wǎng)絡(luò)中,得到蛋白質(zhì)的接觸圖譜,于是各種模型,autoencoder,VAE等都可以通過這個方法來重新解析。在后來,trRosetta有了,是一種從序列到結(jié)構(gòu)的分析方法。那么倒過來把序列當(dāng)變量,通過調(diào)整序列來降低模型的損失函數(shù),同時又把序列推離序列噪音,deep network hallucination就出來了。在損失函數(shù)中增加一項給定的結(jié)構(gòu)約束,trDesign就出來了。在有了這些想法之后,能夠在幾個月時間內(nèi)快速推進算法和實驗。除了baker實驗室,其他地方也難找了。
嘗鮮
現(xiàn)在已經(jīng)提供了源代碼和例子,感興趣的同志可以去嘗試 https://github.com/gjoni/trDesign。 安裝和使用都比較簡單,但目前的例子也比較簡單,更復(fù)雜的功能有待諸君開發(fā)。
引文
總結(jié)
以上是生活随笔為你收集整理的蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国银保监会发布新文件,为保险消费者保驾
- 下一篇: 公积金12位代码在哪查