尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AlphaFold 蛋白质结构预测:从氨基酸序列到 ranked_0.pdb 完整跑通

AlphaFold 蛋白质结构预测:从氨基酸序列到 ranked_0.pdb 完整跑通 AlphaFold 蛋白质结构预测从氨基酸序列到 ranked_0.pdb 完整跑通【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafoldAlphaFold 是 DeepMind 开源的蛋白质结构预测推理实现。给它一个包含氨基酸序列的 FASTA 文件它会输出原子级的三维结构文件和每个残基的置信度分数让你直接看到结构哪些部分可信。适合手头有蛋白序列、但还没有实验结构数据的结构生物学和生物信息学研究者。蛋白质结构预测能替代实验测结构的两个场景第一个场景你拿到一条 300 个氨基酸左右的新蛋白序列在设计实验之前想先知道它大概长什么样、哪些区域不确定。传统做法是把样品送去结构生物学中心做晶体学或冷冻电镜周期以月计。用 AlphaFold单个 GPU 上跑完约 1 小时输出文件里直接标注了每个残基的置信度。第二个场景你有两条蛋白序列怀疑它们形成复合物想知道界面在哪里。把两条序列放进同一个 FASTA 文件程序会自动按复合物模式预测。图中绿色是实验测定的结构蓝色是 AlphaFold 预测的结构两者基本重合。第一次跑 AlphaFold三步完整流程准备一台带 GPU 的 Linux 机器AlphaFold 只支持 Linux且运行在 Docker 容器里。宿主机需要准备安装 Docker 和 NVIDIA Container Toolkit安装 aria2 多线程下载工具至少 600 GB 空闲磁盘git clone https://gitcode.com/GitHub_Trending/al/alphafold cd alphafold下载参考数据库和模型参数bash scripts/download_all_data.sh /data/alphafold_db reduced_dbs第二个参数决定数据库规模默认的完整版下载 556 GB、解压后约 2.6 TBreduced 版空间占用小得多第一次跑足够用。download_all_data.sh 会同时下载 UniRef90、MGnify、BFD 等序列数据库和 PDB 模板数据库以及全部模型参数。UniRef90 和 MGnify 用来搜索同源序列、构建多序列比对BFD 提供更深度的进化比对PDB70 和 PDB 用于模板搜索。下载耗时较长建议放后台并保存日志。注意下载目录不能放在仓库目录里面否则 Docker 构建时会把数据库整个复制进镜像速度会非常慢。构建 Docker 镜像并跑第一次预测docker build -f docker/Dockerfile -t alphafold . pip3 install -r docker/requirements.txt准备一个 FASTA 文件如 test.fasta内含一条序列然后运行python3 docker/run_docker.py \ --fasta_pathstest.fasta \ --max_template_date2022-01-01 \ --data_dir/data/alphafold_db \ --output_dir/data/alphafold_output跑完后输出目录默认是 /tmp/alphafold下会出现以序列名命名的子目录里面有 PDB 结构文件、置信度 JSON、计时信息。run_docker.py 负责把 FASTA、数据库、输出目录挂载进容器推理过程全部在容器内完成。三个容易卡住的细节输入 FASTA、数据库预设、模板日期单链还是复合物由 FASTA 文件内容决定文件里只有一条序列时按单链模型跑同一个文件里有多条序列时程序会把它当作复合物需要额外加--model_presetmultimer并且要求 UniProt 数据库已下载。如果启动时报找不到数据库路径多数是这里没配对。db_preset 必须和下载的数据库匹配下载的是 reduced 版就必须传--db_presetreduced_dbs下载的是完整版则用full_dbs。两者使用不同的 BFD 数据库文件脚本启动时会做一致性检查不匹配直接报错。reduced 版的代价是多序列比对深度更低低同源度序列的预测会弱一些。max_template_date 这个截止日期的作用它限定模板结构检索只取该日期之前发布的 PDB 条目。预测新蛋白时填当前日期即可跑历史测试集时必须填当年日期否则模型会偷看到你要预测的结构结果没有参考意义。pLDDT 分数怎么读怎么判断预测结果能不能用跑完后先重点看三个文件文件含义ranked_0.pdb5 个不同随机种子预测里置信度最高的结构confidence_model_*.json每个残基的 pLDDT 和等级ranking_debug.json参与排名的置信度数值等级划分在 confidence.py 中定义90–100 是 H高70–90 是 M中50–70 是 L低低于 50 是 D极低。还有一个容易忽略的点pLDDT 写在 PDB 文件的 B 因子列里但和普通 B 因子相反数值越高结构越可信。对照下面的标准做判断看到的现象含义大部分残基 pLDDT ≥ 70整体折叠可信可直接用于下游分析局部片段 pLDDT 50大概率是无序区该区域坐标不可用几乎全序列 50 且 msas/ 下比对命中很少序列进化信息不足停下来先检查序列复合物预测中 PAE 非对角块数值大两条链的相对位置不确定界面预测要谨慎此外relax_metrics.json里的remaining_violations_count是力场精修后残留的立体化学冲突数数值小说明结构干净PAE 文件pae_*.json的对角线小值表示链内置信度高。拿一条 PDB 里已有实验结构的序列按上面的流程跑一遍把 ranked_0.pdb 和实验结构做叠加对比pLDDT 高的区域应该和实验结构高度重合低分区域正好对应无序区。这次验证通过你对自己未知序列的预测结果就可以放心使用了。【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表