自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI+Science:基于飛槳的AlphaFold2,帶你入門蛋白質(zhì)結(jié)構(gòu)預(yù)測

人工智能 算法
1958年F.H.C. 克里克提出了生物學(xué)中重要的中心法則,DNA->RNA->蛋白質(zhì),中心法則說明,DNA可以轉(zhuǎn)錄形成RNA,RNA再翻譯成一個(gè)個(gè)氨基酸,最后組合形成蛋白質(zhì)。

1958年F.H.C. 克里克提出了生物學(xué)中重要的中心法則,DNA->RNA->蛋白質(zhì),中心法則說明,DNA可以轉(zhuǎn)錄形成RNA,RNA再翻譯成一個(gè)個(gè)氨基酸,最后組合形成蛋白質(zhì)。

通過中心法則不難看出,如果把DNA比喻為進(jìn)行工業(yè)生產(chǎn)的設(shè)計(jì)藍(lán)圖,那么蛋白質(zhì)就像實(shí)現(xiàn)這個(gè)藍(lán)圖的工具,所以說蛋白質(zhì)是一切生命活動的基礎(chǔ),它幾乎參與了所有的生物學(xué)過程,如遺傳、發(fā)育、繁殖等等。對蛋白質(zhì)進(jìn)行深入地研究,能讓我們從更深層次詮釋生命體的構(gòu)成和運(yùn)作變化規(guī)律,進(jìn)而全面揭示生命運(yùn)行、發(fā)展的機(jī)制,激發(fā)生物科學(xué)、藥物研發(fā)、合成生物學(xué)、酶科學(xué)等領(lǐng)域的發(fā)展。

因探究生物體內(nèi)各種蛋白質(zhì)的功能及其機(jī)制等是目前蛋白質(zhì)研究的主要內(nèi)容,同時(shí)也是后基因組時(shí)代生命科學(xué)領(lǐng)域的主要研究熱點(diǎn)之一。蛋白質(zhì)的功能很大程度上取決于蛋白質(zhì)的結(jié)構(gòu),因此如何破解蛋白質(zhì)的三維結(jié)構(gòu)成為了科學(xué)家研究的重點(diǎn)。

AlphaFold2的誕生

近些年來,隨著人工智能技術(shù)的發(fā)展,深度學(xué)習(xí)等相關(guān)技術(shù)也被應(yīng)用在蛋白質(zhì)結(jié)構(gòu)預(yù)測領(lǐng)域。2018年的CASP 13(國際權(quán)威的蛋白質(zhì)結(jié)構(gòu)預(yù)測競賽,每2年舉辦一次)上,谷歌DeepMind團(tuán)隊(duì)的AlphaFold拿下了70多分,打敗眾多研究團(tuán)隊(duì),取得人工組第一,在該領(lǐng)域取得了里程碑式的進(jìn)展。在2020年的CASP 14上,谷歌DeepMind團(tuán)隊(duì)的AlphaFold2以驚人的92.4分登頂?shù)谝籟1],這一結(jié)果也被認(rèn)為是基本解決了“困擾了生物學(xué)家50年”的問題,獲得重大突破。92.4分,指的是對競賽目標(biāo)蛋白的預(yù)測精度GDT_TS分?jǐn)?shù)達(dá)到92.4,一般認(rèn)為該分?jǐn)?shù)超過90分,基本可以替代實(shí)驗(yàn)方式啦,這也意味著AlphaFold2預(yù)測的結(jié)果與實(shí)驗(yàn)得到的蛋白質(zhì)結(jié)構(gòu)基本一致。

2021年7月15日, DeepMind團(tuán)隊(duì)在國際頂級期刊《Nature》上發(fā)表論文,詳細(xì)描述了AlphaFold2的設(shè)計(jì)思路,并提供了可供運(yùn)行的基于JAX的模型和代碼[2]。考慮到JAX受眾偏向?qū)I(yè)的AI科學(xué)計(jì)算研究人員,且飛槳社區(qū)尚沒有蛋白質(zhì)結(jié)構(gòu)預(yù)測相關(guān)的開源項(xiàng)目,百度螺旋槳PaddleHelix生物計(jì)算團(tuán)隊(duì),基于飛槳深度學(xué)習(xí)框架,復(fù)現(xiàn)了AlphaFold2模型,提供給廣大飛槳開發(fā)者使用,幫助大家快速入門蛋白質(zhì)結(jié)構(gòu)預(yù)測。

https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/paddlefold

AlphaFold2算法的設(shè)計(jì)思路

AlphaFold2通過獨(dú)特的神經(jīng)網(wǎng)絡(luò)和訓(xùn)練過程設(shè)計(jì),第一次端到端地學(xué)習(xí)蛋白質(zhì)結(jié)構(gòu)。整個(gè)算法框架通過協(xié)同學(xué)習(xí)蛋白質(zhì)的多序列比對(MSA)和氨基酸對(pairwise)的表征,將蛋白質(zhì)序列的進(jìn)化信息、蛋白質(zhì)結(jié)構(gòu)的物理和幾何約束信息結(jié)合到深度學(xué)習(xí)網(wǎng)絡(luò)中。我們將從數(shù)據(jù)預(yù)處理、Evoformer和Structure Module三個(gè)模塊分析AlphaFold2算法的設(shè)計(jì)思想。

來自:AlphaFold2論文

數(shù)據(jù)處理

預(yù)測蛋白結(jié)構(gòu)時(shí),AlphaFold2會利用氨基酸序列信息在蛋白質(zhì)庫中搜索多序列比對(MSA)。MSA可以反映氨基酸序列中的保守性區(qū)域(即不容易產(chǎn)生突變),這些保守性區(qū)域和蛋白質(zhì)的結(jié)構(gòu)息息相關(guān),比如可能被折疊在蛋白質(zhì)內(nèi)層,不容易和外界產(chǎn)生相互作用,進(jìn)而不易受影響發(fā)生突變。在AlphaFold2的數(shù)據(jù)預(yù)處理中,為了減少模型運(yùn)算量,會先對MSA中的序列進(jìn)行聚類,取每個(gè)類別中心的序列作為main MSA特征。除了MSA,AlphaFold2的另一個(gè)重要輸入是氨基酸對(pairwise)的特征。作為main MSA的補(bǔ)充,Alphafold2會隨機(jī)采樣非聚類中心的序列作為extra MSA輸入一個(gè)4層的網(wǎng)絡(luò)提取pairwise特征,然后和模版提取的pairwise特征相加后得到最終pairwise特征。main MSA特征和pairwise特征通過48層Evoformer進(jìn)行表征融合。

Evoformer

Evoformer網(wǎng)絡(luò)的設(shè)計(jì)動機(jī)是想利用Self-Attention機(jī)制學(xué)習(xí)蛋白質(zhì)的三角幾何約束信息,同時(shí)讓MSA表征帶來的共進(jìn)化信息和pairwise表征的結(jié)構(gòu)約束信息相互影響,使得模型能直接推理出空間信息和進(jìn)化信息的聯(lián)系。

來自:AlphaFold2論文

Structure Module

Structure Module承擔(dān)著把Evoformer得到的表征解碼成蛋白質(zhì)中每個(gè)重原子(C,N,O,S)坐標(biāo)的任務(wù)。為了簡化從神經(jīng)網(wǎng)絡(luò)預(yù)測值到原子坐標(biāo)的轉(zhuǎn)換,AlphaFold2結(jié)合蛋白質(zhì)中20類氨基酸的結(jié)構(gòu)特性,將重原子分成不同二面角轉(zhuǎn)角決定的組,這樣就可以根據(jù)給定的起始位置,利用二面角和氨基酸已知的鍵長鍵角信息解碼出原子坐標(biāo)。這種結(jié)構(gòu)編碼方法相比直接預(yù)測坐標(biāo)(x,y,z)大大降低了神經(jīng)網(wǎng)絡(luò)的預(yù)測空間,使得端到端結(jié)構(gòu)學(xué)習(xí)成為可能。

賴氨酸的轉(zhuǎn)角編碼方式示例:藍(lán)色平面(C,Cα,Cβ)確定后,根據(jù)預(yù)測的藍(lán)色-紫色平面的二面角χ1和已知的C-C鍵長,Cγ-Cβ-N鍵角即可確定Cγ的空間坐標(biāo),重復(fù)類似步驟,可以得到Cδ,Cε, N等重原子坐標(biāo)。

基于飛槳框架的AlphaFold2(AF2)使用

目前已經(jīng)基于飛槳框架復(fù)現(xiàn)了完整的AlphaFold2的inference部分,現(xiàn)已正式在螺旋槳PaddleHelix平臺開源:https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/paddlefold

感興趣的小伙伴們可以安裝使用,并基于此,優(yōu)化自己的蛋白結(jié)構(gòu)預(yù)測模型。

1. 安裝

在requirements.txt中提供了通過pip可安裝的Python依賴項(xiàng)。另外,(基于飛槳框架的AF2還依賴于兩個(gè)只能通過conda安裝的 工具包:openmm==7.5.1和 pdbfixer。為了得到多序列比對MSA,還需要安裝kalign, HH-suite?和 jackhmmer。下載數(shù)據(jù)的腳本需要aria2c。

提供一個(gè)可以設(shè)置conda環(huán)境并安裝所有依賴項(xiàng)的腳本setup_env。運(yùn)行:

sh setup_env
conda activate paddlefold # activate the conda environment

也可以在 setup_env中更改環(huán)境名稱和CUDA版本。

2. 用法

為了運(yùn)行基于飛槳框架的AF2,還需要蛋白序列數(shù)據(jù)庫和模型參數(shù)?;陲w槳框架的AF2使用和AlphaFold2一樣的模型參數(shù)。

你可以使用腳本scripts/download_all_data.sh來下載和設(shè)置所有數(shù)據(jù)庫和模型參數(shù)。

  • 運(yùn)行:
scripts/download_all_data.sh <DOWNLOAD_DIR>

將下載完整的數(shù)據(jù)庫。完整數(shù)據(jù)庫的總下載大小約為415 GB,解壓后的總大小為2.2 TB。

  • 運(yùn)行:
scripts/download_all_data.sh <DOWNLOAD_DIR> reduced_dbs

將下載一個(gè)減少版本的數(shù)據(jù)庫,可以用于在reduced_ dbs的設(shè)置下運(yùn)行。減少的數(shù)據(jù)庫的總下載大小約為190GB,解壓縮后的總下載大小約為530GB。

3. 運(yùn)行基于飛槳框架的AF2進(jìn)行推理

要使用DeepMind已經(jīng)訓(xùn)練好的參數(shù)對一個(gè)序列或多個(gè)序列進(jìn)行推理,運(yùn)行例如:

fasta_file="target.fasta" # path to the target protein
model_name="model_1" # the alphafold model name
DATA_DIR="data" # path to the databases
OUTPUT_DIR="paddlefold_output" # path to save the outputs

python3 run_paddlefold.py \
--fasta_paths=${fasta_file} \
--data_dir=${DATA_DIR} \
--small_bfd_database_path=${DATA_DIR}/small_bfd/bfd-first_non_consensus_sequences.fasta \
--uniref90_database_path=${DATA_DIR}/uniref90/uniref90.fasta \
--mgnify_database_path=${DATA_DIR}/mgnify/mgy_clusters_2018_12.fa \
--pdb70_database_path=${DATA_DIR}/pdb70/pdb70 \
--template_mmcif_dir=${DATA_DIR}/pdb_mmcif/mmcif_files \
--obsolete_pdbs_path=${DATA_DIR}/pdb_mmcif/obsolete.dat \
--max_template_date=2020-05-14 \
--model_names=${model_name} \
--output_dir=${OUTPUT_DIR} \
--preset='reduced_dbs' \
--jackhmmer_binary_path /opt/conda/envs/paddlefold/bin/jackhmmer \
--hhblits_binary_path /opt/conda/envs/paddlefold/bin/hhblits \
--hhsearch_binary_path /opt/conda/envs/paddlefold/bin/hhsearch \
--kalign_binary_path /opt/conda/envs/paddlefold/bin/kalign \
--random_seed=0

你可以使用python3 run_paddlefold.py -h來查找參數(shù)的描述。

保留與AlphaFold2相同的輸出,輸出將位于output_dir的子文件夾中。它們包括計(jì)算的MSAs、模型預(yù)測的蛋白結(jié)構(gòu)、OpenMM優(yōu)化后的結(jié)構(gòu)、模型打分排序、原始模型輸出、預(yù)測元數(shù)據(jù)和模型運(yùn)行計(jì)時(shí)。output_dir目錄將具有以下結(jié)構(gòu):

<target_name>/
features.pkl
ranked_{0,1,2,3,4}.pdb
ranking_debug.json
relaxed_model_{1,2,3,4,5}.pdb
result_model_{1,2,3,4,5}.pkl
timings.json
unrelaxed_model_{1,2,3,4,5}.pdb
msas/
bfd_uniclust_hits.a3m
mgnify_hits.sto
uniref90_hits.sto

每個(gè)輸出文件的內(nèi)容如下:

  • features.pkl

一個(gè) pickle 文件,其中包含模型用于生成結(jié)構(gòu)的輸入特性 NumPy 數(shù)組。

  • unrelaxed_model_*.pdb

一個(gè)PDB 格式的文本文件,其中包含預(yù)測的結(jié)構(gòu),與模型輸出的結(jié)構(gòu)完全一樣。

  • relaxed_model_*.pdb

一個(gè)PDB格式的文本文件,是調(diào)用OpenMM得到的優(yōu)化結(jié)構(gòu),修復(fù)了模型預(yù)測結(jié)構(gòu)中的沖突,并添加H原子的坐標(biāo)位置。

  • ranked_*.pdb

一個(gè) PDB 格式的文本文件,是對OpenMM得到的優(yōu)化結(jié)構(gòu)按照模型置信度的重新排序。這里使用預(yù)測的LDDT分?jǐn)?shù) (pLDDT)作為置信度評估。

  • ranking_debug.json

一個(gè)JSON格式的文本文件,包含用于執(zhí)行模型排名的pLDDT值及其對應(yīng)的模型名稱。

  • timings.json

一個(gè)JSON格式的文本文件,包含運(yùn)行AlphaFold2模型的每個(gè)部分所花費(fèi)的時(shí)間。

  • msas/

該目錄中包含不同MSA搜索工具的輸出文件。

  • result_model_*.pkl

一個(gè)pickle文件,其中包含一個(gè)由模型直接生成的各種 NumPy 數(shù)組的字典,除了結(jié)構(gòu)模塊的輸出外,還包括輔助輸出。

最后,可以使用pymol[3]等工具對預(yù)測結(jié)構(gòu)和實(shí)驗(yàn)結(jié)構(gòu)對齊。值得說明的是,由于輸入特征存在采樣操作,基于飛槳框架復(fù)現(xiàn)的AlphaFold2和JAX版本的預(yù)測結(jié)構(gòu)可能會有略微差異,有時(shí)候會和實(shí)驗(yàn)結(jié)構(gòu)更接近,也可能差別稍大。

近期開發(fā)計(jì)劃

AlphaFold2雖然在單體蛋白上表現(xiàn)優(yōu)異,但對復(fù)合體,預(yù)測的準(zhǔn)確度還有待提升。為此,DeepMind團(tuán)隊(duì)上線了AlphaFold-Multimer模型,一款針對復(fù)合物進(jìn)行重新訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,希望能發(fā)動飛槳社區(qū)開發(fā)者們的積極性,一起開發(fā)優(yōu)化基于AlphaFold-Multimer的模型,之后也開源貢獻(xiàn)到飛槳平臺,讓更廣大的生信領(lǐng)域研究者們使用基于飛槳框架完全自主可控的蛋白結(jié)構(gòu)預(yù)測模型。

本文來源于飛槳PaddlePaddle


責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2021-07-24 10:21:46

模型人工智能深度學(xué)習(xí)

2021-12-20 10:07:35

AI 數(shù)據(jù)人工智能

2021-07-16 14:16:51

AI 算法人工智能

2021-07-21 17:13:17

DeepMind開源AlphaFold 2

2023-03-03 14:00:00

模型深度學(xué)習(xí)

2021-08-27 14:54:38

深度學(xué)習(xí)編程人工智能

2022-07-22 14:49:37

語言模型DeepMindAlphaFold2

2023-07-06 16:59:56

英特爾

2023-03-02 13:49:25

開發(fā)蛋白質(zhì)

2023-07-06 13:23:49

2022-03-21 15:23:43

AI研究抗體

2022-11-02 13:41:46

2021-07-30 15:36:54

開源技術(shù) 軟件

2022-12-29 13:37:00

人工智能

2020-11-17 14:53:54

騰訊 蛋白質(zhì)AI

2024-08-26 12:43:46

2021-11-22 09:39:21

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)人工智能

2024-04-22 07:20:00

訓(xùn)練開源

2023-11-01 13:47:12

模型研究

2024-08-22 18:45:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號