
3 步拿到第一个蛋白质结构预测AlphaFold 部署与避坑记录【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafoldAlphaFold 蛋白质结构预测常被一句话概括给它一条氨基酸序列它返回蛋白质的三维结构并逐残基标注置信度。对新手来说真正的门槛其实只有三道环境要 Linux GPU Docker、数据要下载 556GB 序列数据库、输出文件不知道先看哪个。这篇文章就围绕这三道坎来写顺带讲清楚 pLDDT 怎么看、如何扩展到蛋白复合物预测。数据占了工作量的大头代码仓库本身不重几个 Python 包加一个 Dockerfile。重的是序列数据库预测之前AlphaFold 要先在一堆序列数据库里检索目标蛋白的同源序列拼出多序列比对MSA比对里携带的进化约束直接决定预测质量这是理解整个流程的入口。默认的全量数据库包含 UniRef90、MGnify、BFD、UniRef30、PDB70、PDBmmCIF 格式等八项下载体积 556GB解压后 2.62TB强烈建议放 SSD。机器配置一般时可以改用reduced_dbs预设它用小型 BFD 替换完整版磁盘占用降到约 600GB8 核 CPU、8GB 内存就能跑代价是 MSA 检索更慢、精度略有损失。下载脚本两种模式都支持不传第二个参数就是全量加一个reduced_dbs就是小库。另外参数5 个 CASP14 单链模型、5 个 pTM 模型、5 个 multimer 模型也在这个脚本里一并下载不用单独处理。两个细节建议一开始就记住下载目录千万不要放在代码仓库内部。Docker 构建时会把整个目录当作构建上下文几 TB 的数据拷进去构建会慢到没法等。下载目录的读写权限要给全比如递归 755。权限不全时 MSA 工具报的错非常隐晦排查起来浪费时间。AlphaFold 环境怎么装 官方支持的路径是 Docker且只支持 Linux。顺序是装 Docker 和 NVIDIA Container ToolkitGPU 支持靠它→ 克隆代码 → 下载数据 → 构建镜像 → 安装docker/requirements.txt里的依赖。镜像构建是一次性的之后的预测都复用所以环境层面的事到这一步基本就完了。git clone https://gitcode.com/GitHub_Trending/al/alphafold数据下载是最长的一步看网络可能要好几个小时甚至更久放后台跑跑之前先装好aria2bash scripts/download_all_data.sh /data/alphafold_dbs download.log 21 下载完成后跑一次 CUDA 示例容器确认 GPU 在容器里可见。如果看不到九成是 NVIDIA Container Toolkit 没配好先解决它再往下走。提交第一个蛋白质结构预测 入口就是docker/run_docker.py输入是一个 FASTA 文件结构极简一行以开头的名字下面一行氨基酸序列。把序列存成monomer.fasta然后python3 docker/run_docker.py --fasta_pathsmonomer.fasta --model_presetmonomer --db_presetreduced_dbs --max_template_date2021-11-01 --data_dir/data/alphafold_dbs --output_dir/path/to/out每个参数一句话--model_preset选模型monomer是单链、multimer是复合物--db_preset必须和你下载的库配套--max_template_date限定结构模板的检索日期跑历史测试集时必须设为竞赛之前的日期否则会作弊用到未来的模板--data_dir和--output_dir分别指向数据库和输出目录详见 run_docker.py 的完整参数说明。一次运行会用 5 个不同的随机种子生成 5 个结构按 pLDDT 排序后存进以蛋白名命名的子目录。值得看的文件按优先级排ranked_0.pdb置信度最高的结构默认已经过 Amber 力场松弛修掉了键长键角这类局部几何问题ranking_debug.json5 个候选模型的 pLDDT 排序依据unrelaxed_model_*.pdb模型原始输出和松弛后的版本对比用msas/本次运行的 MSA 检索结果。之后调参重跑同一条序列时加--use_precomputed_msastrue可以直接复用它们省掉最耗时的检索环节上图是 CASP14 的两个测试靶点蓝色预测结构和绿色实验结构高度重合GDT 分数分别为 90.7 和 93.3。pLDDT 分数怎么看每个残基都有一个 0 到 100 的 pLDDT越高越可信。注意它是局部置信度描述的是这一段残基的几何形状可信吗不等于整条蛋白的正确率。常用分档pLDDT 区间含义大于 90非常高结构基本可信70 – 90高大部分二级结构正确50 – 70偏低只有折叠轮廓可信小于 50很低该区域大概率是无序或柔性区段两个实用点。第一pLDDT 存在输出 PDB 的 B 因子列里但和真正的 B 因子方向相反——这里越高越好拿去做分子置换时别把它当热参数用在可视化软件里直接按这一列上色一眼能看出哪些区段是软的。第二confidence_{model}.json里存了逐残基的分数写脚本批量筛蛋白时读它比解析 PDB 方便。另一项指标是 PAE 矩阵任意两个残基之间的预测对齐误差数值越小说明这两个残基的相对位置越确定。单域蛋白看 pLDDT 就够多域蛋白或复合物要看 PAE 的非对角块它回答的是这两个结构域、这两条链的相对朝向可信吗——pLDDT 每个域都高但域间关系可能是错的这种情况 PAE 会暴露出来。PAE 只在 pTM 和 multimer 模型下输出默认monomer没有需要时把--model_preset换成monomer_ptm或multimer。从单链到复合物蛋白复合物预测和单链走同一条路把各条链的序列写进同一个 FASTA每条链一个序列块--model_preset换成multimer其他不变。前置条件是数据库里要有 UniProt 和 PDB seqres全量下载脚本默认包含。预测同源多聚体几条相同序列的链时把同一条序列在 FASTA 里重复写几遍即可。一个时间成本要注意multimer 默认每个模型跑 5 个随机种子一共 25 个结构比单链贵不少初步筛选时可以用--num_multimer_predictions_per_model1压到 1 个种子精度略降但通常够用。容易踩的坑和时间预算下载目录放进仓库Docker 构建变慢这是最常踩的一个。结构看起来丑时先用--models_to_relaxnone跳过松弛对比一下GPU 版松弛快但偶发不稳定可以关掉试试。同一条序列两次跑结果不一样不一定是故障。部分靶点尤其有大量新入库同源序列的种子间方差就大5 模型集成正是用来压这种抖动的。大蛋白要预估时间。下表是单张 A100 的参考耗时不含 MSA 检索和松弛残基数耗时秒1004.9500291,000962,0004505,00018,824没有 GPU 的话仓库里附带的简化版 notebooknotebooks/AlphaFold.ipynb可以先在云端跑通流程熟悉输入输出后再迁到自己的机器。另外 README 里明确写了预测结果仅供理论建模不能用于临床或医疗决策引用结果时留意这一点。想深入模型结构和推理流程的细节仓库里的技术说明是权威参考。到这里环境、数据、第一个预测、置信度解读都过了一遍。下一步建议就做一件事挑一条短序列比如胰高血糖素29 个残基几分钟能跑完把单链预测完整跑通然后打开ranking_debug.json和confidence_{model}.json对着结构把逐残基 pLDDT 过一遍。置信度是所有后续分析的坐标系先把它看熟再谈复合物和大规模筛选。【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考