結(jié)構(gòu)預(yù)測實戰(zhàn)指南:從單鏈FASTA到5000殘基復(fù)合物的可信模型)
AlphaFold蛋白質(zhì)結(jié)構(gòu)預(yù)測實戰(zhàn)指南從單鏈FASTA到5000殘基復(fù)合物的可信模型【免費下載鏈接】alphafoldOpen source code for AlphaFold 2.項目地址: https://gitcode.com/GitHub_Trending/al/alphafold拿到兩條候選互作蛋白的序列卻不知道它們在三維空間里如何拼在一起這篇文章帶你完整走一遍 AlphaFold 蛋白質(zhì)結(jié)構(gòu)預(yù)測先用單鏈 FASTA 跑出可靠的單體結(jié)構(gòu)再用 AlphaFold-Multimer 預(yù)測復(fù)合物結(jié)構(gòu)最后看懂 pLDDT 和 PAE 告訴你哪些界面可信。動手前選數(shù)據(jù)庫預(yù)設(shè)與預(yù)估預(yù)測耗時這章解決開始預(yù)測前磁盤要留多大、要等多久。AlphaFold 只支持 Linux需要 Docker NVIDIA GPUGPU 顯存越大能預(yù)測的結(jié)構(gòu)越大。官方推薦的測試配置是 12 vCPU、85 GB 內(nèi)存加一張 A100。運行前用docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi確認 GPU 可見。遺傳數(shù)據(jù)庫決定 MSA多序列比對可理解為把 BFD、UniRef、MGnify 等多個來源的同源序列匯總成一份進化證據(jù)的搜索質(zhì)量官方提供兩種預(yù)設(shè)參數(shù)數(shù)據(jù)量硬件需求適用場景--db_presetreduced_dbs解壓后約 600 GB8 CPU 核心、8 GB 內(nèi)存快速測試、中小型蛋白--db_presetfull_dbs下載 556 GB解壓后 2.62 TB建議 12 vCPU、32 GB 內(nèi)存以上SSD高精度預(yù)測、大型復(fù)合物兩者都通過 scripts/download_all_data.sh 下載reduced 版加reduced_dbs參數(shù)。注意下載目錄別放在倉庫內(nèi)部否則 Docker 構(gòu)建會因復(fù)制大文件而變慢。耗時參考單張 A100不含 MSA 與模板搜索不松弛、3 次 recycle殘基數(shù)預(yù)測時間1004.9 秒50029 秒100096 秒2000約 7.5 分鐘3000約 21 分鐘5000約 5.2 小時硬件建議中小蛋白一張主流 GPU 就夠超過 2000 殘基請上 A100 級別磁盤一定用 SSD否則 MSA 搜索會成為瓶頸。? 本章完成標準nvidia-smi能看到 GPU數(shù)據(jù)庫下載完磁盤剩余空間大于預(yù)設(shè)所需。第一槍跑通單體預(yù)測這章解決用最短路徑拿到第一個結(jié)構(gòu)文件。準備一個最小 FASTA序列截短示意用你的真實序列sequence_name MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGER然后一條命令跑起來python3 docker/run_docker.py \ --fasta_pathsmonomer.fasta \ --max_template_date2022-01-01 \ # 只用該日期前的結(jié)構(gòu)做模板 --model_presetmonomer \ --db_presetreduced_dbs \ --data_dir$DOWNLOAD_DIR \ --output_dir/home/user/output? 官方完整參數(shù)說明見 docker/run_docker.py 與 README.md。跑完后輸出目錄output_dir/target_name/里有這些關(guān)鍵文件文件是什么你要看什么ranked_0.pdb5 個模型按 pLDDT 排序后的第一名默認已松弛你實際要用的結(jié)構(gòu)pLDDT 存在 B-factor 列越大越好ranking_debug.json各模型的 pLDDT 打分及模型名映射最佳模型與其余模型的差距判斷結(jié)果穩(wěn)不穩(wěn)result_model_*.pkl模型原始輸出numpy 數(shù)組plddt逐殘基置信度pTM 模型還含ptm標量與 PAE 矩陣relaxed_model_*.pdbAmber 松弛后的結(jié)構(gòu)局部幾何是否合理unrelaxed_model_*.pdb模型直接輸出的結(jié)構(gòu)與松弛版對比看松弛改了多少relax_metrics.json松弛后剩余結(jié)構(gòu)違規(guī)數(shù)數(shù)值應(yīng)很小timings.json各階段耗時時間花在哪一步msas/各數(shù)據(jù)庫的比對結(jié)果同源序列夠不夠多直接影響置信度? 本章完成標準輸出目錄里能看到ranked_0.pdb和ranking_debug.json且 pLDDT 打分已寫入。從一條鏈到多條鏈AlphaFold-Multimer 復(fù)合物預(yù)測這章解決兩條或更多鏈如何拼成一個復(fù)合物模型。為什么單體模型不夠。monomer 模型把每條鏈單獨折疊無法表達鏈間相對位置與界面。如果你問這兩條鏈結(jié)合嗎、以什么姿態(tài)結(jié)合單體預(yù)測回答不了。多聚體multimer模型把所有鏈放進同一個系統(tǒng)建模并額外輸出 PAE 矩陣——它的非對角區(qū)塊直接量化鏈 A 的某殘基相對鏈 B 某殘基的位置誤差是判斷界面是否可信的直接證據(jù)。v2.3.0 多聚體模型的關(guān)鍵升級。技術(shù)筆記docs/technical_note_v2.3.0.md列出的改動訓練數(shù)據(jù)截止日期2018-04-30 → 2021-09-30約多 30% 的結(jié)構(gòu)數(shù)據(jù)冷凍電鏡結(jié)構(gòu)數(shù)量 4 倍2000 殘基以上的大結(jié)構(gòu) 2 倍訓練裁剪crop大小384 → 640 殘基訓練時最大鏈數(shù)8 → 205 個模型中有 3 個的 MSA 序列上限1152 → 2048官方建議當復(fù)合物化學計量已知時包括已知的單體結(jié)構(gòu)優(yōu)先用這版 multimer 模型計量未知時如基因組規(guī)模預(yù)測單鏈模型平均更準除非該鏈達到數(shù)千殘基。同源與異源多聚體的輸入寫法。規(guī)則只有一條每個亞基一個 FASTA 條目順序與份數(shù)對照已知計量核對。# 同源三聚體同一序列復(fù)制 3 份 chain_a_1 MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGER chain_a_2 MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGER chain_a_3 MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGER # 異源 A2B3A 鏈 2 份 B 鏈 3 份 chain_a_1 SEQUENCE A chain_a_2 SEQUENCE A chain_b_1 SEQUENCE B chain_b_2 SEQUENCE B chain_b_3 SEQUENCE B運行命令多聚體默認每個模型跑 5 個隨機種子、5 個模型共 25 個預(yù)測再按置信度排序取最優(yōu)python3 docker/run_docker.py \ --fasta_pathscomplex.fasta \ --max_template_date2022-01-01 \ --model_presetmultimer \ --data_dir$DOWNLOAD_DIR \ --output_dir/home/user/complex_output注意 multimer 還需要 UniProt 與 PDB seqres 數(shù)據(jù)庫full_dbs 下載腳本已包含。? 本章完成標準ranked_0.pdb里出現(xiàn)全部輸入鏈且result_model_*.pkl中能從 PAE 矩陣讀出鏈間區(qū)塊。大型復(fù)合物預(yù)測穩(wěn)定性調(diào)參這章解決超過 2000 殘基時跑得動、跑得穩(wěn)、跑得對。遇到什么情況調(diào)什么參數(shù)怎么調(diào)GPU 顯存不足global_config.subbatch_sizealphafold/model/config.py調(diào)小模型逐層小批處理省顯存README 提到 A100 上對小結(jié)構(gòu)可反向調(diào)大以提速大目標結(jié)果波動大、跑一次不放心--num_multimer_predictions_per_model默認每模型 5 種子官方對非常大或困難的目標推薦加到 20CASP15 配置松弛步崩潰或幾何異常--enable_gpu_relax設(shè)為false改用 CPU 松弛慢但穩(wěn)定同一序列換參數(shù)反復(fù)實驗--use_precomputed_msas設(shè)為true復(fù)用上次輸出目錄里的 MSA跳過數(shù)據(jù)庫搜索要求序列不變決策建議一句話版先按默認跑通 → 顯存爆了再降 subbatch → 大型目標結(jié)果不穩(wěn)就把種子加到 20 → 松弛出錯才切 CPU。不要一上來全開。? 本章完成標準大復(fù)合物完整跑完不中斷timings.json顯示各階段正常結(jié)束。讀懂預(yù)測結(jié)果pLDDT、pTM 與 PAE 矩陣解讀這章解決拿到結(jié)構(gòu)后怎么判斷哪些部分能信、哪些不能。把一次預(yù)測想象成一份體檢報告三個指標各管一段指標形態(tài)類比怎么讀pLDDT每殘基 0–100每個檢查項目的單項數(shù)值90 穩(wěn)定可信50–90 大致可靠50 基本不可信常對應(yīng)無序區(qū)pTM單個標量整體合格/不合格結(jié)論評估整條鏈或整個復(fù)合物的全局折疊與亞基打包是否可信低分意味著全局結(jié)構(gòu)都要打折看待PAEN×N 殘基對矩陣兩個器官的相對位置關(guān)系圖值 該殘基對相對位置的預(yù)測誤差?。對角區(qū)低鏈內(nèi)可靠鏈間區(qū)塊低兩條鏈確實緊密結(jié)合鏈間區(qū)塊高相對位置模型沒把握注意兩點默認 monomer 模型只輸出 pLDDT存在 PDB 的 B-factor 列與常規(guī) B-factor 方向相反越大越好pTM 和 PAE 需要 multimer 模型或--model_presetmonomer_ptm。多聚體預(yù)測的完整輸出目錄包含ranked_{0..4}.pdb、relaxed_model_{1..5}.pdb、result_model_{1..5}.pkl、features.pkl、ranking_debug.json、relax_metrics.json、timings.json與msas/逐一含義見本章前一張表的姊妹章節(jié)。上圖是 CASP14 中 AlphaFold 預(yù)測藍與實驗結(jié)構(gòu)紅的重疊對比可以看到預(yù)測與實驗結(jié)構(gòu)在整體折疊上高度一致。可視化查看PyMOL 載入ranked_0.pdb后可按 B-factor 著色直觀看到逐區(qū)域置信度ChimeraX 適合對比多個模型并出版級圖在線的 AlphaFold Protein Structure Database 可把預(yù)測與實驗結(jié)構(gòu)并排比較。? 本章完成標準你能指著ranked_0.pdb說出哪個區(qū)段高置信、并解釋一個界面在 PAE 鏈間區(qū)塊里的表現(xiàn)。排錯手冊三類高頻問題GPU 顯存不足CUDA out of memory→ 顯存占用由殘基數(shù)與分批大小共同決定大目標默認參數(shù)可能直接溢出。解法1) 降低config.py中的global_config.subbatch_size2) 顯式聲明更大的 GPU官方建議按能裝下的最大結(jié)構(gòu)選卡3) 拆分復(fù)合體先按結(jié)構(gòu)域分別預(yù)測單體再預(yù)測復(fù)合物。低置信度區(qū)域pLDDT 50→ 常見原因有三該區(qū)域是內(nèi)在無序區(qū)IDR、MSA 在該區(qū)段同源證據(jù)不足、或該區(qū)域本身不存在唯一高置信構(gòu)象。解法1) 打開msas/看該區(qū)段的比對覆蓋2) 換--model_presetmonomer_ptm拿 PAE確認該區(qū)域相對其他結(jié)構(gòu)域的位置是否仍穩(wěn)定3) 報告中將該區(qū)段明確標注為低置信/無序而不是當作結(jié)構(gòu)缺陷。亞基相對位置異常鏈間分離或朝向不合理→ 原因可能是隨機種子方差默認每模型 5 種子大目標官方推薦 20、輸入計量或鏈順序與真實復(fù)合物不符、或模型參數(shù)過舊。解法1)--num_multimer_predictions_per_model20擴大樣本再按 pLDDT/PAE 挑選2) 對照已知化學計量核對 FASTA 的鏈順序與份數(shù)3) 用 scripts/download_alphafold_params.sh 更新模型參數(shù)4) 看 PAE 鏈間區(qū)塊——如果那里也顯示高誤差說明模型認為該界面本就不穩(wěn)定屬預(yù)測如實反映了不確定性先回到文獻核對復(fù)合物是否真實存在。?? 排錯順序建議先查輸入FASTA、計量→ 再查參數(shù)種子、subbatch→ 最后才懷疑模型本身。從一條 FASTA 到帶置信度指標的復(fù)合物模型整條鏈路已經(jīng)完整monomer 跑出基線結(jié)構(gòu)multimer 給出鏈間組裝pLDDT 與 PAE 劃出可信邊界。下一步動作現(xiàn)在就做挑你最關(guān)心的那兩條序列寫進一個 FASTA加上--model_presetmultimer跑一輪——哪怕這次置信度不高PAE 矩陣也已經(jīng)告訴你哪些界面值得繼續(xù)投入。【免費下載鏈接】alphafoldOpen source code for AlphaFold 2.項目地址: https://gitcode.com/GitHub_Trending/al/alphafold創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考