AlphaFold3 原理与上手:从给蛋白折叠,到给一切分子复合物建模
AlphaFold2 解决的是「给定一条蛋白序列,预测它折叠成什么形状」。AlphaFold3 把问题换了个问法:「给定一堆分子——蛋白、DNA、RNA、小分子配体、离子——预测它们凑在一起是什么结构」。
为了做到这件事,AF3 动了两处核心:把重度处理多序列比对(MSA)的 Evoformer 换成更轻的 Pairformer,把基于刚体坐标系的结构模块换成一个扩散模型,让它像生成图片那样,从噪声里一步步「去噪」出每个原子的坐标。
这篇讲清楚三件事:这套设计为什么成立、怎么在本地或网页上跑起来、结果怎么读。完整方法以官方论文 Abramson et al., Nature 2024 及其补充材料为准。
30 秒看懂 AlphaFold 1 → 2 → 3
Section titled “30 秒看懂 AlphaFold 1 → 2 → 3”三代解决的问题在变,主干结构也跟着换。
graph LR A["AF1 (2018)<br/>预测残基间距离分布<br/>再用势能优化结构"] --> B["AF2 (2021)<br/>Evoformer + 结构模块<br/>端到端出单体蛋白坐标"] B --> C["AF3 (2024)<br/>Pairformer + 扩散模型<br/>统一预测分子复合物"]
| AlphaFold1 | AlphaFold2 | AlphaFold3 | |
|---|---|---|---|
| 年份 | 2018 | 2021 | 2024 |
| 主要对象 | 单体蛋白 | 单体蛋白(后续 Multimer 扩到复合物) | 蛋白、核酸、配体、离子及复合物 |
| 核心机制 | 预测距离矩阵 + 物理优化 | Evoformer + 结构模块 | Pairformer + 扩散模块 |
| 输出 | 距离分布,再重建结构 | 端到端原子坐标 | 端到端原子坐标(生成式) |
AF1 还是「先预测约束、再优化结构」两步走。AF2 第一次做到端到端、且在 CASP14 把单体蛋白预测拉到接近实验精度。AF3 则把适用范围从「蛋白」扩到「几乎任意生物分子的组合」。
AlphaFold3 在解决什么问题
Section titled “AlphaFold3 在解决什么问题”蛋白很少单独干活。它要和 DNA、RNA 结合,要被小分子药物抑制,要靠金属离子稳定结构。真正有用的,往往是这些复合物的结构。
AF2 的主场是单体蛋白。它的后续版本 AF2-Multimer 能拼蛋白-蛋白复合物,但对小分子配体、核酸、离子这些「非蛋白」组分支持有限,通常还要外接专门的对接(docking)工具,分两步做。
AF3 想把这件事一步做完:输入里可以同时有蛋白链、核酸链、配体、离子,模型直接预测它们共同的三维结构。按 AF3 论文的说法,它在蛋白-配体、蛋白-核酸等界面上的准确度,明显高于传统对接方法和 AF2 时代的拼装流程。
要支持这么杂的输入,旧架构里很多「为蛋白量身定做」的假设就得拆掉——这是后面所有设计改动的起点。带着一个问题往下读:如果输入不再只是蛋白,AF2 的哪些部分会失效?
原理:先看全貌
Section titled “原理:先看全貌”AF3 大致分三段:把各种输入整理成统一表示,用 Pairformer 在表示上「想清楚」分子间关系,再用扩散模块把这套关系「画」成具体坐标。
flowchart TD IN["输入<br/>蛋白/核酸序列 + 配体/离子"] --> EMB["统一 token 化<br/>单一表示 + 配对表示"] EMB --> MSA["轻量 MSA / 模板信息"] MSA --> PF["Pairformer<br/>提炼配对表示<br/>谁和谁、距离与几何"] PF --> DIFF["扩散模块<br/>从噪声去噪出全原子坐标"] DIFF --> OUT["结构 + 置信度<br/>pLDDT / PAE / 排序"]
论文里的官方架构图见 Abramson et al., Nature 2024 — Fig. 1(受版权保护,这里不转载,只给概念示意)。
记住一条主线,后面每个改动都挂在它上面:把「为蛋白定制」的部件,换成「对任意分子都成立」的部件。下面三步,逐个对照 AF2 看。
原理 ①:输入与表示——少看 MSA,统一 token
Section titled “原理 ①:输入与表示——少看 MSA,统一 token”AF2 怎么做:它非常依赖多序列比对(MSA)——把同源序列堆起来,从进化共变里读出「哪两个位点在空间上挨着」。Evoformer 花了大量算力反复咀嚼这块 MSA。
问题在哪:配体、离子、修饰残基根本没有「同源序列」可比对,也没法像蛋白那样按残基切块。AF2 这套表示天然只服务蛋白。
AF3 的改法:两点。其一,仍用 MSA 和模板,但不再重度处理,而是更快把信息汇进配对表示(pair representation),算力留给后面。其二,改用更细的、统一的 token 化,并在生成结构时下沉到原子层面——这样蛋白和小分子才能用同一套语言描述。
总之,先让「表示」对所有分子一视同仁,统一预测才有地基。
原理 ②:Pairformer——把推理重心放到「关系蓝图」
Section titled “原理 ②:Pairformer——把推理重心放到「关系蓝图」”把蛋白链、核酸、配体都摆上桌后,模型真正要算清的是一张关系蓝图:谁和谁挨着、相距多远、几何关系如何。这张图就是配对表示,维护它的模块叫 Pairformer。
Pairformer 接手了 Evoformer 最有价值的部分,并保留了一个关键操作——对配对表示做三角更新(triangular updates),强制几何自洽,避免「A 离 B 很近、B 离 C 很近,却说 A 离 C 很远」这种自相矛盾。
和 Evoformer 的差别在侧重点:Evoformer 把 MSA 和配对表示一起重算,Pairformer 更聚焦配对表示本身,对 MSA 的依赖更轻。好处是算力更省,而且不再假设输入一定是能做出漂亮 MSA 的蛋白——这正是支持核酸、配体所必需的松绑。
Pairformer 的产物不是坐标,而是一份「想清楚了的关系蓝图」。把蓝图变成原子坐标,是下一步的事。
感兴趣的看:三角更新在做什么(要点 + 直觉)
把配对表示想成一张 的表格,第 格记录「残基 和 的关系」。三角更新的核心直觉是借第三个点 来校正 :如果 –、– 的关系已知,就能约束 –,类似三角不等式。反复做,整张表会收敛到几何上自洽的状态。这一步在 AF2 已被验证有效,AF3 予以保留。
原理 ③:扩散模块——像生成图片那样生成结构
Section titled “原理 ③:扩散模块——像生成图片那样生成结构”这是 AF3 最大的观念转变。AF2 的结构模块带着一套为蛋白设计的几何机制(刚体坐标系、扭转角、不变点注意力),把表示「解码」成坐标。AF3 把它整个换成扩散模型。
扩散模型的思路来自图像生成,分两个方向:
- 加噪(训练时):往真实结构里一步步掺噪声,直到变成一团随机点。
- 去噪(推理时):反过来,从随机点出发,让模型在 Pairformer 蓝图的引导下一步步去噪,最后收敛成合理结构。
flowchart LR N["随机噪声<br/>一团乱点"] -->|去噪 step| S1["粗结构"] S1 -->|去噪 step| S2["渐清晰"] S2 -->|去噪 step| S3["全原子坐标"] PF["Pairformer 的<br/>配对表示"] -.条件引导.-> S1 PF -.条件引导.-> S2 PF -.条件引导.-> S3
为什么这么换值得:
- 直接出原子坐标,不挑分子种类。去噪过程把所有原子都当「点」处理,不需要蛋白专属的刚体框架,配体、离子、核酸天然能塞进同一套流程。
- 天然能给多个合理答案。换不同随机种子去噪,会得到略不同的结构,方便采样和挑选。
- 省掉一堆手工几何先验。AF2 结构模块里很多为蛋白写死的几何处理,扩散这套基本不需要。
代价也有:生成式模型可能在约束不足的区域「编」出看着合理、其实没依据的结构(无序区尤其明显)。AF3 用交叉蒸馏等手段压制这种「幻觉」,但读结果时仍要靠置信度判断哪里能信。
感兴趣的看:扩散的两个公式(去噪生成的数学骨架)
前向加噪:给原子坐标 逐步加高斯噪声,第 步可一次写成
其中 随 从 1 降到 0: 越大,结构越接近纯噪声。
反向去噪(训练目标):网络 学着在「噪声坐标 + 时间 + Pairformer 给的条件表示 」下还原干净结构,最小化
推理时从 出发,反复套用 一步步去噪,得到最终坐标。这是 DDPM 类扩散的标准骨架;AF3 的关键在于把它作用在全原子坐标上、并用 Pairformer 的关系蓝图当条件 。精确形式以论文方法部分为准。
扩散思路在蛋白领域并不孤立——蛋白设计里的 RFdiffusion 也用扩散,见本站ProteinMPNN / RFdiffusion 教程。
把三步串起来:AF3 的设计逻辑
Section titled “把三步串起来:AF3 的设计逻辑”单看每个改动可能记不住,但它们指向同一个目标——减专用、加通用:
- 想支持非蛋白分子 → 不能死磕 MSA、不能按残基硬切 → 于是有了轻 MSA + 统一 token + 原子级表示(原理①)。
- 表示通用了,解码器也不能是蛋白专属几何模块 → 于是用扩散直接生成坐标,对分子种类不挑食(原理③)。
- 配对表示这块在 AF2 被验证有效,保留并精简 → 于是有了 Pairformer(原理②)。
换句话说,AF3 不是把 AF2 修修补补,而是重新问了一遍「最少需要哪些假设」,把蛋白专属的部分尽量换成通用部分。这条主线,就是它的研究逻辑。理解了它,再去读论文的模块细节就不会迷路。
安装:先选网页版还是本地版
Section titled “安装:先选网页版还是本地版”AF3 有两条路,门槛差很多。
网页版:AlphaFold Server。 免安装,非商用免费,浏览器里提交即可。代价是配体和共价修饰的种类有限、有使用配额。先验证想法、做轻量预测,从这里开始最省事。
本地版:google-deepmind/alphafold3 仓库。 适合批量、定制配体、或数据不便上传的场景。门槛按官方安装文档:
- 操作系统:仅支持 Linux。
- GPU:计算能力 8.0 以上的 NVIDIA 卡;官方在 A100 / H100 80GB 上验证,单卡可处理约 5120 个 token 的输入。
- 磁盘:序列数据库下载约 252GB,解压后约 630GB,建议预留约 1TB SSD。
- 内存:长序列的搜索阶段吃内存,建议 64GB 以上。
- 模型权重:要填表单向 DeepMind 申请,一般 2–3 个工作日回复,只能用官方直接发放的权重。
许可要看清楚:源码是 CC-BY-NC-SA 4.0,权重另有使用条款,都仅限非商用。官方还明确写了:AF3 及其输出仅供理论建模,不得用于临床用途。
本地跑通常走 Docker(或由 Docker 镜像转的 Singularity):克隆仓库、跑 fetch_databases.sh 下数据库、申请并放好权重、docker build 构建镜像。
使用:一次预测怎么跑、结果怎么读
Section titled “使用:一次预测怎么跑、结果怎么读”本地版的输入是一个自定义 JSON 文件(格式见输入文档),里面描述要折叠的分子。准备好 fold_input.json 后,核心命令长这样:
docker run -it \ --volume $HOME/af_input:/root/af_input \ --volume $HOME/af_output:/root/af_output \ --volume <模型权重目录>:/root/models \ --volume <数据库目录>:/root/public_databases \ --gpus all \ alphafold3 \ python run_alphafold.py \ --json_path=/root/af_input/fold_input.json \ --model_dir=/root/models \ --output_dir=/root/af_output两个常用开关:--run_data_pipeline 控制是否跑 MSA / 模板搜索,--run_inference 控制是否跑模型推理。把数据搜索和推理拆开,能在同一份 MSA 上反复试不同设置,省时间。
跑完看两个置信度(详见输出文档):
- pLDDT:每个原子/残基的局部置信度,越高越可信,低分区往往是柔性或无序区。
- PAE(Predicted Aligned Error):成对的相对位置误差,看复合物里链与链的相对摆位靠不靠谱,特别适合判断界面对不对。
读结果的纪律:高 pLDDT 不等于功能正确,扩散模型在弱约束区可能给出貌似合理的结构,先看置信度、再下结论。
几个常见坑:把数据库放在慢盘上会让搜索极慢(尽量上 SSD);输入输出目录要给 Docker 写权限;序列太长会超出单卡显存,得拆或换更大显存的卡。
AF3 和 AF2 最大的区别? AF2 解单体蛋白折叠(Evoformer + 结构模块);AF3 用 Pairformer + 扩散模型,直接生成全原子坐标,能统一预测蛋白、核酸、配体、离子及其复合物。
能用 ColabFold 跑 AF3 吗? 不能,ColabFold 跑的是 AF2。AF3 只能用官方 AlphaFold Server,或本地部署官方仓库。
一定要本地装吗? 不一定。先用 AlphaFold Server 验证想法;需要批量、定制配体或数据保密时再上本地版。
能用于商业或临床吗? 不能。源码与权重均限非商用,官方明确声明输出仅供理论建模、不得用于临床。
- 站内相关:AlphaFold 系列概览(更轻的入口)· ESM 蛋白语言模型 · ProteinMPNN / RFdiffusion 蛋白设计 · 蛋白质资源导航
- 查已知结构:AlphaFold Protein Structure Database(2 亿+ 预测结构,AF2 产出)
- 官方:仓库与文档(安装/输入/输出/已知问题)· AlphaFold Server
- 读方法细节:AF3 论文及补充材料 是唯一权威出处。
- Accurate structure prediction of biomolecular interactions with AlphaFold 3 (Abramson et al., Nature 2024) — Abramson et al. · 2026-05-31 · publisher (Nature)
- google-deepmind/alphafold3 (官方推理代码与文档) — Google DeepMind · 2026-05-31 · 源码 CC-BY-NC-SA 4.0;权重另有 Terms of Use
- AlphaFold Server — Google DeepMind / Isomorphic Labs · 2026-05-31 · 非商用使用条款
- Highly accurate protein structure prediction with AlphaFold (Jumper et al., Nature 2021) — Jumper et al. · 2026-05-31 · publisher (Nature)
- Architectural highlights of AlphaFold3 (OPIG blog) — Oxford Protein Informatics Group · 2026-05-31 · blog
主题色
字体
字号
视觉效果
即将离开本站
你将前往外部网站:
该网站与本站无关,本站不对其内容、安全性或可用性负责。确定后将在新标签页打开。