ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AlphaFold 运行前 monomer、monomer_casp14 与 monomer_ptm 模型预设怎么选

AlphaFold 运行前 monomer、monomer_casp14 与 monomer_ptm 模型预设怎么选 AlphaFold 运行前 monomer、monomer_casp14 与 monomer_ptm 模型预设怎么选【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold当你已经按 README 完成了 AlphaFold 的安装Linux 系统、Docker 镜像、遗传数据库与模型参数下载准备对单条或多条蛋白序列跑结构预测时docker/run_docker.py的--model_preset参数对单链monomer预测有三种可选值monomer、monomer_casp14和monomer_ptm。三者使用同一批 CASP14 原始权重区别在于是否做 8 倍集成ensemble以及是否带 pTM 头。选错预设会带来 8 倍的算力浪费或者拿到精度略低的结构下面说明三者的实际差异、各自的适用目标以及运行后如何核对输出是否符合所选预设。三个预设到底有什么区别--model_preset在 docker/run_docker.py 中定义默认值为monomer合法取值为monomer、monomer_casp14、monomer_ptm和multimer多聚体不在本文范围内。这个参数最终会被原样传给容器内的 run_alphafold.py其取值同样限制为这四个run_alphafold.py#L106-L107。预设到具体模型权重的映射在 alphafold/model/config.py 的MODEL_PRESETS中monomer对应model_1到model_5共 5 个 CASP14 模型monomer_ptm对应model_1_ptm到model_5_ptm共 5 个 pTM 微调模型monomer_casp14直接等于MODEL_PRESETS[monomer]即与monomer使用同一组权重。所以monomer和monomer_casp14的权重完全相同差异只在推理配置。run_alphafold.py#L452-L455 中当model_preset为monomer_casp14时num_ensemble 8其余预设包括monomer和monomer_ptm均为num_ensemble 1。README 对三个预设的官方描述README.md“Running AlphaFold” 一节monomerCASP14 使用的原始模型不做集成no ensembling。monomer_casp14CASP14 原始模型配num_ensemble8匹配 CASP14 当时的配置。README 明确说明它 largely provided for reproducibility主要为可复现性提供算力开销是 8 倍精度增益有限CASP14 域上平均 GDT 仅 0.1。monomer_ptmCASP14 原始模型用 pTM 头微调而来在结构预测之外额外提供 pTMpredicted TM-score和 PAEpredicted aligned error这类成对置信度量README 指出它比常规 monomer 模型精度略低slightly less accurate。按目标选择预设你的目标选择依据日常单链结构预测默认路径monomer默认值可省略该参数权重即 CASP14 原始模型不做集成算力最省复现 CASP14 系统配置monomer_casp14唯一带num_ensemble8的预设与 CASP14 配置一致需要 pTM / PAE 置信度量monomer_ptm唯一带 pTM 头的预设代价是结构精度略低判断逻辑很直接只有当任务本身要求 CASP14 可复现性才为 8 倍算力换取 0.1 平均 GDT 的增益选monomer_casp14只有当下游分析需要整体打包置信度pTM或残基间对齐误差图PAE时才接受结构精度略降选monomer_ptm。除此之外都走默认的monomer。另外注意复现 CASP14 不只是换一个预设。README 的 “Note on CASP14 reproducibility” 一节指出默认下载脚本得到的数据库版本与 CASP14 当时使用的并不一致若要用最新 PDB/PDB70 逼近 CASP14 条件需传--max_template_date2020-05-14把模板限制在 CASP14 开始之前可用的结构。运行命令以下命令来自 README 的 “Folding a monomer” 示例三个预设只改--model_preset一行。前置条件与首次运行相同Linux 机器、NVIDIA GPU、已用scripts/download_all_data.sh下载好数据库和参数目录下文统称$DOWNLOAD_DIR、Docker 镜像已构建、输出目录可写。变量说明monomer.fasta你的输入 FASTA 文件按 README 格式包含序列名和SEQUENCE序列$DOWNLOAD_DIR下载脚本中你传入的目标目录shell 变量需与下载时一致不要放在 AlphaFold 仓库目录内--output_dir输出目录的绝对路径不指定时默认为/tmp/alphafold/--max_template_date模板结构可用的最晚发布日期示例日期取自 README。默认预设省略--model_preset即为monomer这里显式写出python3 docker/run_docker.py \ --fasta_pathsmonomer.fasta \ --max_template_date2021-11-01 \ --model_presetmonomer \ --data_dir$DOWNLOAD_DIR \ --output_dir/home/user/absolute_path_to_the_output_dirCASP14 复现配置算力为monomer的 8 倍python3 docker/run_docker.py \ --fasta_pathsmonomer.fasta \ --max_template_date2021-11-01 \ --model_presetmonomer_casp14 \ --data_dir$DOWNLOAD_DIR \ --output_dir/home/user/absolute_path_to_the_output_dir带 pTM 头python3 docker/run_docker.py \ --fasta_pathsmonomer.fasta \ --max_template_date2021-11-01 \ --model_presetmonomer_ptm \ --data_dir$DOWNLOAD_DIR \ --output_dir/home/user/absolute_path_to_the_output_dir如果数据库是用reduced_dbs方式下载的scripts/download_all_data.sh DOWNLOAD_DIR reduced_dbs命令中需同时加--db_presetreduced_dbsdb_preset与model_preset相互独立前者控制 MSA 数据库规模与速度后者只控制模型。运行后如何验证选对了预设README 的 “AlphaFold output” 一节给出了输出目录结构--output_dir下以目标名命名的子目录其中用于区分预设的关键判断如下。三个预设都会产生ranked_0.pdb等按置信度排序的结构ranked_0.pdb置信度最高排序依据 pLDDTunrelaxed_model_*.pdb、relaxed_model_*.pdb、result_model_*.pkl、ranking_debug.json、timings.json、msas/pLDDT 分数存在result_model_*.pkl的plddt字段形状 [N_res]0–100同时写入输出 PDB 的 B-factor 字段注意 pLDDT 越高越好与常规 B-factor 方向相反。只有monomer_ptm会额外产生两个字段它们存在于result_model_*.pkl中且 README 明确标注 “Present only if using pTM models”ptm标量predicted TM-scorepredicted_aligned_error形状 [N_res, N_res] 的数组0 表示最可信可用于可视化结构内部的域打包置信度。因此核对方式跑完后加载result_model_*.pkl若任务要求 pTM/PAE检查ptm和predicted_aligned_error字段是否存在不存在说明没跑monomer_ptm。而monomer_casp14与monomer的输出文件结构相同权重相同、仅num_ensemble不同无法从输出文件区分二者只能回看运行命令确认--model_preset的取值。限制与边界monomer_casp14的 8 倍算力开销和 0.1 平均 GDT 增益是 README 给出的 CASP14 域上的数据只应作为“为复现而付出成本”的权衡依据README 的定位就是 reproducibility不是精度最优选项。monomer_ptm精度略低于常规 monomer 模型是 README 的明确说法若下游只需要结构没有理由选它。本文只覆盖单链预设。蛋白复合物、同源多聚体homomer等场景应使用--model_presetmultimer且需要额外下载 UniProt 数据库属于另一条路径不在本文展开。数据库版本影响结果少量蛋白如 T1064输出在随机种子和输入数据库变化下波动较大严格复现时按 README 的 CASP14 reproducibility 一节固定数据库版本和--max_template_date。【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进