☰
AlphaFold蛋白质结构预测新手指南:5分钟跑通第一次预测
2026/9/25 17:24:01 网站建设 项目流程

AlphaFold蛋白质结构预测新手指南:5分钟跑通第一次预测

【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold

只给一串氨基酸序列,AlphaFold就能预测蛋白质的三维结构,并给每个残基附上置信度分数。这个仓库提供了完整的开源推理代码,你可以部署在本地。按下面的步骤走,5分钟内能跑完一次预测,并读懂输出的PDB结构文件和pLDDT分数。

它解决什么问题

测定蛋白质结构长期依赖X射线晶体学或冷冻电镜。设备贵,样品准备周期长,一套结构做出来往往要几个月。另一条路是手工建模,结果质量依赖操作者经验,而且做不出可靠性分数。

AlphaFold吃进序列,吐出结构加逐残基置信度。适合这几类场景:实验前先看看新蛋白的构象大致长什么样;想确认某段区域是有序还是无序;想判断两个结构域的相对朝向能不能信。

对比项手工建模或实验测定AlphaFold
输入模板结构、大量人工调整一份FASTA格式的氨基酸序列
单条耗时数小时到数周秒级到分钟级(A100参考:100残基约5秒)
产出单个结构文件5个候选结构 + pLDDT、PAE置信度
可靠性标注通常没有逐残基pLDDT、残基对PAE矩阵

核心功能一览

功能作用对应源码位置
单体结构预测用5个不同随机种子生成结构,取置信度最高者run_alphafold.py
置信度评分把模型logits算成逐残基pLDDT和残基对PAEalphafold/common/confidence.py
Amber松弛修正原始结构的键长、键角和原子冲突alphafold/relax/relax.py
数据流水线组装序列、多序列比对(MSA)等模型输入alphafold/data/pipeline.py
模型预设切换monomer、monomer_ptm、multimer等配置alphafold/model/config.py
蛋白复合物预测多条链一起折叠,适用于同源或异源复合物alphafold/data/pipeline_multimer.py

上手体验

硬件前提:Linux系统、NVIDIA GPU、足够磁盘。完整数据库下载556GB,解压后约2.62TB,建议用SSD。

第一步:装环境、拉数据

先装好Docker和NVIDIA Container Toolkit(GPU支持),再拉代码:

git clone https://gitcode.com/GitHub_Trending/al/alphafold cd alphafold

此时你会看到:当前路径下出现alphafold目录,里面有run_alphafold.py和docker、scripts、alphafold三个子目录。

接着下载数据库和模型权重。注意下载目录不要放在代码仓库内部,否则Docker构建会变慢:

scripts/download_all_data.sh /data/alphafold_dbs

此时你会看到:下载任务在后台运行,跑完后/data/alphafold_dbs下出现bfd、mgnify、params等目录。

第二步:构建镜像并确认GPU

构建镜像:docker build -f docker/Dockerfile -t alphafold .。安装运行器依赖:pip3 install -r docker/requirements.txt。然后验证GPU能否被容器看见:

docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

此时你会看到:终端打印出你的GPU型号列表。如果没打印,回到NVIDIA Container Toolkit的安装步骤检查。

第三步:跑第一次预测

把序列写进monomer.fasta:一行以>开头的标题,下面一行是氨基酸单字母序列。然后执行:

python3 docker/run_docker.py \ --fasta_paths=monomer.fasta --model_preset=monomer --db_preset=reduced_dbs \ --data_dir=/data/alphafold_dbs --output_dir=/tmp/alphafold

此时你会看到:终端依次输出MSA搜索、模板搜索和5轮预测的日志。结束后输出目录里生成monomer/子目录,包含ranked_0.pdb到ranked_4.pdb和relaxed_model_*.pdb等文件。ranked_0.pdb就是置信度最高的结构。

关键概念怎么看

下面三个数字最容易被误读。每个都按"定义、类比、带数值的例子"拆开讲。

概念一句定义类比具体例子
pLDDT每个残基局部结构的置信度,0到100,越高越可信手机信号格数:满格看得清四周,没格就处在盲区残基85得分92(H档,可信);残基120得分45(D档,很可能是无序区),120附近的坐标别当真
PDB里的B因子输出PDB的ATOM行中,B因子列存的就是pLDDT,不是温度因子像把考试成绩藏在表格的"备注"列,知道列义才能看到ATOM行倒数第二列的92.50就是该残基的pLDDT;在PyMOL里按这一列上色,一眼看出置信度分布
PAE两个残基相对位置误差的期望值,N乘N矩阵,越低越可信两人间的信任表:不管各自在哪,关键是两人距离靠不靠谱残基50和60的PAE为8Å,二者相对朝向可信;残基50和300的PAE为40Å,说明这两个结构域的相对摆放不确定

H/M/L/D的档位阈值在_confidence_category里:H为90及以上,M为70到89,L为50到69,D低于50。pLDDT低不代表预测失败,它可能对应天然无序区。

常见问题与解决

Q:磁盘只有几百GB,装不下556GB的完整数据库,还能跑吗?

能。下载精简库:scripts/download_all_data.sh /data/alphafold_dbs reduced_dbs,运行时加--db_preset=reduced_dbs。reduced_dbs预设要求8个CPU核、8GB内存、600GB磁盘,代价是MSA覆盖度下降、精度略降。README的Genetic databases一节有完整说明。

Q:docker里nvidia-smi找不到GPU?

原因基本是NVIDIA Container Toolkit没装好或没生效。用docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi复测,仍不行就重装toolkit并重启docker服务。对应README安装章节的第4步。

Q:跑得特别慢,多久算正常?

预测本身快,大头在MSA搜索。A100官方参考值(不含MSA):100残基约5秒,500残基约29秒,1000残基约96秒。蛋白越长越慢,大蛋白还会先走数据库搜索,这部分在CPU上。完整数字见README的prediction speed表。

Q:输出目录一堆.pdb,到底该用哪个?

用ranked_0.pdb。它是松弛后pLDDT最高的候选,默认只松弛最好的模型(--models_to_relax=best)。松弛指标看relax_metrics.json里的rmsd和剩余violations,排名明细在ranking_debug.json。各文件定义见README的AlphaFold output一节。

进阶与最佳实践

执行清单:

  • 做学术评估时设置--max_template_date为研究开始日期,避免模型看到目标蛋白的已知实验结构
  • 同一序列反复调参时加--use_precomputed_msas=true,复用已算好的MSA,省掉数据库搜索
  • 需要PAE和pTM输出时改用--model_preset=monomer_ptm
  • 每次跑完先看ranking_debug.json里5个模型的pLDDT分布,再看relax_metrics.json确认松弛收敛
  • 预测复合物时FASTA写多条序列、--model_preset=multimer,用--num_multimer_predictions_per_model=1把每模型5个种子降为1个以省时间
资源位置
技术笔记(模型与推理流程)docs/technical_note_v2.3.0.md
数据库下载脚本scripts/
完整推理入口run_alphafold.py
置信度计算源码alphafold/common/confidence.py

下一步建议:拿一段100残基的短序列跑一遍,跑的同时打开alphafold/common/confidence.py,对照compute_plddt函数看logits是怎么变成pLDDT的。

【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询