AlphaFold 蛋白质结构预测教程:用序列预测三维结构,附自部署避坑清单
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
你手里有蛋白质的氨基酸序列,但要做结合口袋分析或突变设计,缺的是它的三维结构。AlphaFold 是 DeepMind 蛋白质结构预测模型的开源实现,输入一个 FASTA 序列文件,输出预测的三维结构。这篇文章以自部署为主线,带你走通三件事:选运行路径、跑第一次预测、看懂输出。
选最轻量的入口:Colab 还是自部署
没有本地 GPU:先试 Colab 笔记本
仓库里的 notebooks/AlphaFold.ipynb 是官方提供的简化版笔记本,可以直接在 Colab 打开运行,不需要在本地准备任何环境。想先验证一条序列、看看输出长什么样,走这条路最快。
决定自部署:先对照硬件清单
完整版本只支持 Linux(Docker 环境),并需要 NVIDIA GPU。官方给出的三档配置:
| 运行方式 | 硬件要求 | 适合场景 |
|---|---|---|
| Colab 笔记本 | 无需本地 GPU | 单次预测、轻量体验 |
| reduced_dbs 预设 | 8 核 CPU、8 GB 内存、600 GB 磁盘 | 日常预测 |
| full_dbs 完整数据库 | 3 TB 磁盘、建议 SSD、NVIDIA GPU | 高精度、大复合物预测 |
完整数据库下载量 556 GB,解压后 2.62 TB,动手前先确认磁盘;reduced 版本小得多,运行命令里要加--db_preset=reduced_dbs与之配套。官方参考配置是 12 vCPU、85 GB 内存、A100 GPU 的机器,在该 A100 上 1000 残基的蛋白质结构预测约 96 秒(不含 MSA 和模板搜索时间),序列越长耗时按平方级增长,4000 残基约 5660 秒。
一句话结论:尝鲜用 Colab;认真跑就备一台 600 GB 空余磁盘的 Linux 机器,走 reduced_dbs。
跑第一次预测并看懂输出
一条命令预测单条蛋白
把序列写进 FASTA 文件(第一行>名称,下面一行序列),入口是docker/run_docker.py:
python3 docker/run_docker.py --fasta_paths=seq.fasta --model_preset=monomer --db_preset=reduced_dbs
数据库目录和输出目录参数按 README 补全即可。蛋白复合物同理:FASTA 里放多条序列,--model_preset改成multimer,但需要额外下载 UniProt 数据库。
看输出:从 ranked_0.pdb 和 pLDDT 入手
输出目录里每个目标一个子目录,关键文件有五份unrelaxed_model_*.pdb(模型原始输出)、relaxed_model_*.pdb(经 Amber 力场修正局部几何后的版本)、ranked_0.pdb到ranked_4.pdb(按置信度排序,ranked_0.pdb最优)。
重点是pLDDT(预测局部距离差异测试,0 到 100):模型给每个氨基酸打一个置信度分,越高越可靠。它写在输出 PDB 的 B-factor 字段里,注意方向和常规 B-factor 相反——数值越高越好。用结构之前先看关键区域的 pLDDT,如果整段都偏低,这次预测就不可靠。
上图是官方在 CASP14 评估中的表现,两个目标的 GDT 分别为 90.7 和 93.3:蓝色预测结构与绿色实验结构高度重合,这就是可信预测的样子。
官方明确:输出是理论预测结果,不用于临床用途。判断结构是否可用,pLDDT 是第一标准。
⚠️ 这几个坑先绕开
- 只支持 Linux:其他操作系统无法运行,Windows 用户需要先准备虚拟机或远程服务器
- 数据库目录别放进仓库内:
<DOWNLOAD_DIR>放在 AlphaFold 目录里会让 Docker 构建变慢,整个大数据库会被拷进镜像构建上下文 - 权限问题报的是模糊错误:数据库目录缺少读写权限时,MSA 工具会报难以定位的错,先检查权限(README 建议对下载目录
chmod 755 -R) - 个别目标多次运行有差异:官方以 T1064 为例说明波动,做法是跑 5 个模型按置信度取最优,别用单次运行下结论
- multimer 默认 25 次预测:每个模型 5 个种子共 5 个模型,机器不够强就加
--num_multimer_predictions_per_model=1降到每模型 1 次
一句话结论:自部署出问题九成是环境而非模型——磁盘、权限、数据库位置,按这个顺序排查。
🎯 下一步 3 件事
- 在 Colab 里跑通一次单链预测,练熟读
ranked_0.pdb里的 pLDDT - 自部署:
git clone https://gitcode.com/GitHub_Trending/al/alphafold,用scripts/download_all_data.sh <DOWNLOAD_DIR> reduced_dbs下载精简数据库,目录放在仓库外 - 用
--model_preset=multimer预测一个蛋白复合物,对比链间接触与置信度;模型迭代细节可查 docs/technical_note_v2.3.0.md
还有一个值得动手试的问题:同一条序列反复换参数预测时,开启--use_precomputed_msas=true复用 MSA 能省掉最耗时的序列检索,你跑批量预测的话,这一步实际省了多少时间?
【免费下载链接】alphafoldOpen source code for AlphaFold 2.项目地址: https://gitcode.com/GitHub_Trending/al/alphafold
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考