AI 蛋白质设计 —— RFdiffusion 从头设计实战¶
1. 一句话说明¶
RFdiffusion 是 David Baker 实验室(华盛顿大学蛋白质设计研究所)开发的基于扩散模型的蛋白质骨架从头设计工具,能凭空生成自然界不存在的蛋白质结构,再配合 ProteinMPNN 设计序列、AlphaFold2 验证,形成完整的 AI 蛋白质设计闭环。
2. 蛋白质设计 vs 蛋白质预测:一字之差,天壤之别¶
本篇讲"设计"(Design),第 13 篇讲"预测"(Prediction),两者互补但方向完全相反。
| 维度 | 蛋白质结构预测(AlphaFold) | 蛋白质从头设计(RFdiffusion) |
|---|---|---|
| 输入 | 已知氨基酸序列 | 设计目标(长度/功能/结合靶点) |
| 输出 | 预测的 3D 结构 | 全新的蛋白质骨架 + 序列 |
| 方向 | 序列 → 结构(正问题) | 功能 → 结构 → 序列(逆问题) |
| 白话类比 | 给你一份食谱,预测做出来的菜长什么样 | 告诉你想要什么味道的菜,AI 帮你发明新食谱 |
| 代表工具 | AlphaFold2/3、ESMFold、ColabFold | RFdiffusion、Chroma、FrameDiff |
| 核心论文 | Jumper et al., Nature 2021 | Watson et al., Nature 2023 |
白话总结:
预测 = 看图纸猜房子长什么样;设计 = 你说想住什么样的房子,AI 画出全新的建筑图纸。
3. 传统方法 vs AI 方法¶
3.1 传统蛋白质工程方法¶
定向进化(Directed Evolution)——2018年诺贝尔化学奖 - 原理:模拟自然进化,对蛋白质基因做随机突变 → 筛选有用突变 → 多轮迭代 - 白话:像"猴子打字机",随机试错几百万次,偶尔蒙对一个好的 - 缺点:盲目搜索,耗时长(数月到数年),序列空间太大(20^100 种可能)
Rosetta 计算设计 - 原理:用物理能量函数(van der Waals、氢键、溶剂化等)打分,搜索低能量构象 - 白话:像用"万有引力公式"手动算每个原子该放在哪,计算量巨大 - 缺点:能量函数不完美,搜索空间有限,设计成功率低(实验验证通常 <10%)
3.2 AI 蛋白质设计方法¶
RFdiffusion(2023 年,Nature) - 原理:基于扩散模型(类似图像生成的 Stable Diffusion),但生成的不是图片,是蛋白质 3D 骨架坐标 - 白话:像 AI 画画一样——从一团噪声(随机坐标点)出发,一步步"去噪",最终画出一个合理的蛋白质骨架 - 优势:设计成功率大幅提高,实验验证成功率可达 >50%(某些任务)
| 对比维度 | 定向进化 | Rosetta | RFdiffusion |
|---|---|---|---|
| 搜索策略 | 随机突变+筛选 | 物理能量最小化 | 学习蛋白质分布后生成 |
| 速度 | 数月 | 数天~数周 | 数秒~数分钟/设计 |
| 需要起始结构 | 需要(天然蛋白) | 需要或从头建模 | 不需要,凭空生成 |
| 设计空间 | 天然蛋白附近 | 有限构象空间 | 整个蛋白质折叠空间 |
| 实验成功率 | 依赖筛选通量 | <10% | 部分任务 >50% |
4. RFdiffusion 原理白话版¶
4.1 什么是扩散模型¶
扩散模型(Diffusion Model)是一种生成式 AI,灵感来自物理学中的扩散过程:
前向过程(加噪):
想象你往一杯清水里滴入一滴墨水。墨水慢慢扩散,最终变成均匀的灰色水。这就是"加噪"——把有结构的东西变成随机噪声。
反向过程(去噪):
现在倒放这个过程——从灰色水开始,一步一步"撤回"扩散,最终恢复成清水里的一滴墨水。AI 学会了怎么"倒放",就能从噪声中生成有意义的东西。
在图像领域,Stable Diffusion 从噪声生成图片。RFdiffusion 把同样的思路用在蛋白质上:从随机坐标点生成蛋白质 3D 骨架。
4.2 RFdiffusion 的具体做法¶
训练阶段:
真实蛋白质结构 ──加噪──→ 带噪声的结构 ──加更多噪──→ ... ──→ 纯噪声
(PDB数据库) ↑ AI 学习每一步怎么去噪
推理/生成阶段:
纯噪声(随机3D坐标)──去噪一步──→ 稍微有点形状 ──去噪──→ ... ──→ 蛋白质骨架
↑ 用训练好的神经网络(RoseTTAFold 架构改造)
关键技术细节: - 骨架表示:蛋白质骨架用每个残基的 Cα、C、N 三个原子的 3D 坐标表示(不含侧链) - 神经网络架构:基于 RoseTTAFold(SE(3)-不变神经网络),能理解蛋白质的旋转和平移不变性 - 去噪步数:默认 50 步(原始 200 步,后优化为 50 步即可达到同等质量,速度提升 4 倍) - 条件生成:可以指定约束条件(如固定某些残基位置、指定靶蛋白结合面),实现有目标的设计
4.3 RFdiffusion 能做什么¶
根据官方 GitHub(截至 2026 年 4 月,最新版本 v1.1.0,2855 Stars,609 Forks):
| 功能 | 白话解释 | 命令示例 |
|---|---|---|
| 无条件生成 | 凭空设计全新蛋白质 | contigmap.contigs=[150-150] |
| motif 支架设计 | 保留关键功能片段,重新设计周围骨架 | contigmap.contigs=[5-15/A10-25/30-40] |
| 结合物设计 | 设计能结合目标蛋白的新蛋白(如抗体) | contigmap.contigs=[B1-100/0 100-100] |
| 对称寡聚体 | 设计具有对称性的蛋白质复合物 | 支持环状、二面体、四面体对称 |
| 部分扩散 | 在已有设计基础上产生变体(微调设计) | diffuser.partial_T=20 |
| 活性位点支架 | 固定酶活性位点,重新设计蛋白骨架 | ActiveSite_ckpt.pt 模型 |
5. ProteinMPNN:给骨架穿上"氨基酸外衣"¶
RFdiffusion 只生成蛋白质骨架(Cα、C、N 坐标),没有氨基酸序列。就像画好了房子的框架,还没有砌墙。
ProteinMPNN(Message Passing Neural Network for Protein,2022,Science)就是给骨架分配氨基酸序列的工具。
白话原理¶
想象你盖好了一栋房子的钢筋框架(骨架),现在要决定每个位置用什么材料砌墙(氨基酸类型)。ProteinMPNN 就像一个装修大师——它看了几万栋已有的房子,学会了"弯曲的角落用圆砖,承重墙用方砖"的规律,能为新框架自动选择最合适的材料。
技术要点(GitHub Stars: 1715): - 输入:蛋白质骨架坐标(PDB 文件) - 输出:最优氨基酸序列(FASTA 格式) - 方法:基于图神经网络(GNN),把每个残基看作节点,空间邻近的残基之间有边 - 序列恢复率:在天然蛋白上,ProteinMPNN 的序列恢复率约 52%(远超 Rosetta 的 32%)
# ProteinMPNN 基本用法(给 RFdiffusion 生成的骨架设计序列)
python protein_mpnn_run.py \
--pdb_path input_backbone.pdb \ # 输入:RFdiffusion 生成的骨架
--out_folder output/ \ # 输出目录
--num_seq_per_target 8 \ # 每个骨架生成 8 条候选序列
--sampling_temp 0.1 \ # 采样温度(越低越保守)
--backbone_noise 0.02 # 给骨架加微小噪声增加多样性
6. 完整 AI 蛋白质设计流程(四步闭环)¶
第 1 步:骨架生成 第 2 步:序列设计
┌─────────────────┐ ┌─────────────────┐
│ RFdiffusion │ │ ProteinMPNN │
│ │ │ │
│ 输入:设计目标 │──骨架PDB──→ │ 输入:骨架坐标 │
│ (长度/靶点等) │ │ 输出:氨基酸序列 │
│ 输出:3D骨架 │ │ (多条候选) │
└─────────────────┘ └────────┬────────┘
│
序列 FASTA
│
▼
第 4 步:分子动力学验证 第 3 步:结构验证
┌─────────────────┐ ┌─────────────────┐
│ GROMACS/OpenMM │ │ AlphaFold2 │
│ │ │ │
│ 检查设计蛋白在 │←──通过验证──│ 用序列重新预测 │
│ 溶液中是否稳定 │ │ 3D 结构 │
│ (ns级模拟) │ │ 对比设计骨架 │
└─────────────────┘ └─────────────────┘
详细步骤说明¶
Step 1:RFdiffusion 骨架生成¶
# 安装(conda 环境)
git clone https://github.com/RosettaCommons/RFdiffusion.git # 克隆仓库
cd RFdiffusion
conda env create -f env/SE3nv.yml # 创建环境(含 SE3-Transformer)
conda activate SE3nv # 激活环境
pip install -e . # 安装 RFdiffusion 模块
# 下载模型权重(约 1.5 GB)
mkdir models && cd models
wget http://files.ipd.uw.edu/pub/RFdiffusion/6f5902ac237024bdd0c176cb93063dc4/Base_ckpt.pt # 基础模型
wget http://files.ipd.uw.edu/pub/RFdiffusion/e29311f6f1bf1af907f9ef9f44b8328b/Complex_base_ckpt.pt # 复合物模型
# 示例:无条件生成 150 残基蛋白质,生成 10 个设计
python scripts/run_inference.py \
'contigmap.contigs=[150-150]' \ # 指定蛋白质长度 150 个氨基酸
inference.output_prefix=outputs/design \ # 输出路径前缀
inference.num_designs=10 # 生成 10 个不同设计
# 示例:设计结合目标蛋白的 binder(重点应用)
python scripts/run_inference.py \
'contigmap.contigs=[B1-100/0 100-100]' \ # B链为靶蛋白,设计100残基binder
'ppi.hotspot_res=[B30,B33,B34]' \ # 指定靶蛋白上的热点残基
inference.output_prefix=outputs/binder \ # 输出路径
inference.input_pdb=target.pdb \ # 靶蛋白 PDB 文件
inference.num_designs=100 # 生成 100 个候选
Step 2:ProteinMPNN 序列设计¶
# 克隆 ProteinMPNN
git clone https://github.com/dauparas/ProteinMPNN.git
cd ProteinMPNN
# 为每个骨架设计 8 条序列
python protein_mpnn_run.py \
--pdb_path ../RFdiffusion/outputs/design_0.pdb \ # RFdiffusion 输出的骨架
--out_folder mpnn_output/ \ # 输出目录
--num_seq_per_target 8 \ # 每个骨架 8 条序列
--sampling_temp 0.1 # 低温 = 高置信度序列
Step 3:AlphaFold2 结构验证(自洽性检验)¶
核心思想:如果 ProteinMPNN 设计的序列真的能折叠成 RFdiffusion 设计的骨架,那么用 AlphaFold2 重新预测这条序列的结构,应该得到和设计骨架非常相似的结构。
# 用 ColabFold 预测设计序列的结构
colabfold_batch mpnn_output/seqs.fasta af2_predictions/
# 计算设计骨架与 AF2 预测结构的 RMSD(越小越好)
# scRMSD < 2.0 Å 认为设计成功(self-consistent RMSD)
python calculate_rmsd.py \
--design outputs/design_0.pdb \ # 设计骨架
--prediction af2_predictions/design_0_relaxed.pdb # AF2 预测结构
关键指标: | 指标 | 含义 | 合格标准 | |------|------|---------| | scRMSD | 设计骨架与AF2预测的Cα原子均方根偏差 | < 2.0 Å | | pLDDT | AF2 对预测结构的逐残基置信度 | > 70(均值) | | pTM | 预测的整体拓扑匹配得分 | > 0.5 |
Step 4:分子动力学(MD)模拟验证¶
# 使用 GROMACS 检查设计蛋白在水溶液中的稳定性
gmx pdb2gmx -f design.pdb -o design.gro -water tip3p # 准备拓扑文件
gmx editconf -f design.gro -o box.gro -bt cubic -d 1.0 # 建溶剂盒
gmx solvate -cp box.gro -o solvated.gro # 加水
gmx grompp -f md.mdp -c solvated.gro -o md.tpr # 生成运行参数
gmx mdrun -deffnm md -nsteps 500000 # 运行 1 ns MD
# 分析 RMSD 随时间的变化(稳定设计的 RMSD 应趋于平稳)
gmx rms -f md.xtc -s md.tpr -o rmsd.xvg
7. 应用场景¶
7.1 药物设计¶
- 蛋白质药物从头设计:直接设计全新的治疗性蛋白质(如新型细胞因子、受体诱饵)
- 抗体/纳米抗体设计:设计能结合特定靶点(如肿瘤抗原、病毒刺突蛋白)的结合蛋白
- 案例:Baker 实验室用 RFdiffusion 设计的流感病毒结合蛋白已进入实验验证
7.2 酶工程¶
- 从头设计酶:设计催化特定化学反应的全新酶,突破天然酶的限制
- 流程:先设计活性位点布局(金属配位/催化残基) → RFdiffusion 支架设计 → 实验筛选
- 应用:工业催化剂、生物降解塑料、CO₂固定酶
7.3 抗体设计¶
- 传统抗体开发需要免疫动物或噬菌体展示,耗时数月
- RFdiffusion 可以直接设计抗体的 CDR 环区或全新的微型结合蛋白
- 优势:速度快、可设计非天然拓扑、能靶向传统方法难以成药的靶点
7.4 纳米材料与生物传感器¶
- 设计自组装蛋白质笼(如 60 聚体的正二十面体笼)用于药物递送
- 设计蛋白质纳米线、蛋白质晶格等新材料
- 对称设计功能:RFdiffusion 原生支持环状、二面体、四面体对称生成
7.5 实际应用拓展¶
你做 2 型糖尿病肠道菌群研究,菌群会产生各种代谢酶和毒力因子蛋白。如果发现某个关键菌群蛋白与 T2D 密切相关,可以用 RFdiffusion 设计一个"分子陷阱"——结合并中和该蛋白。这就是计算蛋白质设计在微生物组研究中的潜在应用。
8. RFdiffusion All-Atom 版本(前沿进展)¶
2024 年,Baker 实验室发布了 RFdiffusion All-Atom(RFAA)(GitHub Stars: 481),将设计范围从蛋白质骨架扩展到:
- 蛋白质 + 小分子:设计能结合特定药物分子的蛋白质口袋
- 蛋白质 + 核酸:设计 DNA/RNA 结合蛋白
- 蛋白质 + 金属离子:设计金属结合位点
白话理解:
原版 RFdiffusion 只会画"钢筋框架"(蛋白质骨架),RFAA 版能连"家具"(小分子、核酸)一起画进去。
RFdiffusion2(2025年4月)¶
Baker 实验室发布 RFdiffusion2,专攻酶从头设计: - 输入一个化学反应描述(theozyme,理想活性位点),直接生成包含该活性位点的蛋白质骨架 - 在 41 个挑战性酶设计基准测试中全部成功(此前最好的工具只解决了 16 个) - 设计的酶催化效率接近天然酶水平(之前方法通常只有微量活性) - 还支持抗体(VHH/scFv/全长抗体)的从头设计 - 论文发表于 Nature Methods(2026)
RFdiffusion3(2025年12月开源)¶
RFdiffusion3 是目前最强的蛋白质设计工具: - 与 RFdiffusion/RFdiffusion2 完全重写,不共享代码 - 全原子级扩散模型,可生成与小分子、DNA、RNA 等各类生物分子交互的蛋白质 - 速度比 RFdiffusion2 快 10 倍 - 训练代码完全开源,研究者可自行微调扩展 - 白话:RFdiffusion 画框架 → RFAA 画框架+家具 → RFdiffusion3 画整个精装修房间,连水电都设计好
9. 面试常见问题及参考回答¶
Q1:RFdiffusion 的核心原理是什么?和 AlphaFold 有什么区别?¶
RFdiffusion 基于扩散模型做蛋白质从头设计。它的训练过程是给已知蛋白质结构逐步加噪声,神经网络学习怎么去噪;推理时从随机噪声出发,逐步去噪生成全新的蛋白质骨架。核心网络基于 RoseTTAFold 架构,具有 SE(3) 不变性。
和 AlphaFold 的区别是方向相反:AlphaFold 是"序列 → 结构"的预测问题,输入已知序列,预测它的 3D 结构。RFdiffusion 是"功能 → 结构"的设计问题,可以凭空生成自然界不存在的蛋白质骨架。两者配合使用——RFdiffusion 设计骨架,ProteinMPNN 出序列,AlphaFold 做验证。
Q2:为什么 RFdiffusion 只生成骨架,不直接生成序列?¶
这是设计策略上的解耦(decouple)。蛋白质的功能主要由 3D 形状决定,而同一个形状可以由不同的氨基酸序列折叠而成。先设计骨架再设计序列,可以让两个步骤各自优化:RFdiffusion 专注几何合理性,ProteinMPNN 专注序列-结构兼容性。这种分步策略的实验成功率远高于一步到位的方法。
Q3:怎么判断一个蛋白质设计是否成功(计算层面)?¶
主要看三个指标。第一,scRMSD(self-consistent RMSD):用 ProteinMPNN 出的序列喂给 AlphaFold2 预测结构,和设计骨架比较 Cα-RMSD,<2 Å 说明序列能正确折叠回设计的形状。第二,pLDDT:AlphaFold 对预测结构的置信度,均值 >70 说明预测可靠。第三,pTM:拓扑匹配分 >0.5。实际项目中通常生成几百个设计,用这些指标筛选 top 候选进实验验证。
Q4:RFdiffusion 在实际科研中怎么用?举个例子。¶
以设计靶向新冠病毒 Spike 蛋白的结合蛋白为例:(1) 准备 Spike 蛋白的 PDB 结构作为靶蛋白;(2) 用 RFdiffusion 的 binder design 模式,指定 hotspot 残基(Spike 上 RBD 区域的关键残基),生成几百个候选 binder 骨架;(3) ProteinMPNN 为每个骨架设计 8 条序列;(4) ColabFold 预测所有序列的结构,筛选 scRMSD < 2 Å 且 pLDDT > 80 的候选;(5) 挑选 top 10-20 个进行实验表达和结合力测定(SPR 或 BLI)。Baker 实验室用类似流程已经成功设计出纳摩尔亲和力的结合蛋白。
Q5:如果面试官问"蛋白质设计和该菌群项目有什么关系",怎么回答?¶
该 2 型糖尿病肠道菌群项目中,通过宏基因组分析识别了与 T2D 相关的差异菌群。这些菌群编码的功能蛋白(如短链脂肪酸合成酶、胆汁酸转化酶、LPS 合成酶)是理解菌群与宿主互作的关键。蛋白质设计可以在下游应用中发挥作用:比如设计能特异性结合某个菌群毒力因子的蛋白质探针用于诊断,或设计增强有益代谢酶活性的改造酶用于益生菌工程。虽然该研究项目聚焦在上游的菌群分析,但了解下游的蛋白质设计能让我看到从数据到应用的完整链条。
10. 速查表¶
工具速查¶
| 工具 | 用途 | GitHub | 论文 |
|---|---|---|---|
| RFdiffusion | 蛋白质骨架从头生成 | RosettaCommons/RFdiffusion (v1.1.0, 2855 Stars) | Watson et al., Nature 2023 |
| RFdiffusion All-Atom | 蛋白质+小分子/核酸共设计 | baker-laboratory/rf_diffusion_all_atom (481 Stars) | Krishna et al., Science 2024 |
| ProteinMPNN | 给定骨架设计最优序列 | dauparas/ProteinMPNN (1715 Stars) | Dauparas et al., Science 2022 |
| AlphaFold2 | 序列→结构预测(用于验证) | deepmind/alphafold | Jumper et al., Nature 2021 |
| ColabFold | AF2 的快速版(用 MMseqs2 替代 MSA) | sokrypton/ColabFold | Mirdita et al., Nat Methods 2022 |
| ESMFold | 单序列结构预测(更快,无需 MSA) | facebookresearch/esm | Lin et al., Science 2023 |
设计流程速查¶
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ RFdiffusion │ ──→ │ ProteinMPNN │ ──→ │ AlphaFold2 │ ──→ │ MD Simulation│
│ 骨架生成 │ │ 序列设计 │ │ 结构验证 │ │ 稳定性验证 │
│ ~秒/设计 │ │ ~秒/序列 │ │ ~分钟/预测 │ │ ~小时/模拟 │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
关键指标速查¶
| 指标 | 全称 | 合格标准 | 含义 |
|---|---|---|---|
| scRMSD | Self-Consistent RMSD | < 2.0 Å | 设计骨架与 AF2 预测结构的偏差 |
| pLDDT | Predicted LDDT | > 70 | AF2 对预测的逐残基置信度 |
| pTM | Predicted TM-score | > 0.5 | 整体拓扑相似性 |
| pAE | Predicted Aligned Error | 越低越好 | 残基间位置误差(用于评估界面) |
RFdiffusion 常用参数速查¶
| 参数 | 含义 | 示例 |
|---|---|---|
contigmap.contigs | 定义蛋白质构成(长度/motif/链) | [150-150] 或 [A10-25/30-40] |
inference.num_designs | 生成设计数量 | 100 |
inference.output_prefix | 输出文件前缀 | outputs/my_design |
inference.input_pdb | 输入 PDB 文件(含 motif 或靶蛋白) | target.pdb |
ppi.hotspot_res | 结合蛋白设计的热点残基 | [B30,B33,B34] |
diffuser.partial_T | 部分扩散步数(设计微调) | 20(相对于 T=50) |
diffuser.T | 总去噪步数 | 50(默认) |
contigmap.inpaint_seq | 掩盖指定残基的序列(让 AI 重新决定) | [A1/A30-40] |
11. 延伸资源¶
必读论文¶
- Watson et al. "De novo design of protein structure and function with RFdiffusion." Nature 620, 2023. — RFdiffusion 原始论文
- Dauparas et al. "Robust deep learning-based protein sequence design using ProteinMPNN." Science 378, 2022. — ProteinMPNN 原始论文
- Krishna et al. "Generalized biomolecular modeling and design with RoseTTAFold All-Atom." Science 384, 2024. — RFAA 全原子版本
在线工具¶
- Google Colab Notebook:sokrypton/ColabDesign 提供的 RFdiffusion Colab,可免费在线跑
- RFdiffusion 官方文档:sites.google.com/omsf.io/rfdiffusion/overview(Rosetta Commons 维护)
- ProteinMPNN Colab:huggingface.co/spaces 上有在线版本
推荐学习路径¶
- 先学第 13 篇 AlphaFold(理解结构预测基础)
- 再学本篇 RFdiffusion(理解从头设计)
- 用 Colab 跑一遍 RFdiffusion + ProteinMPNN + ColabFold 全流程
- 阅读 Watson et al. 2023 论文的 Figure 1-3,理解实验验证结果
相关知识库篇目¶
- 第 13 篇:AlphaFold 蛋白质结构预测实战(结构预测基础)
- 第 15 篇:分子对接(蛋白质-配体相互作用预测)
最后更新:2026-05-03 | 数据来源:RFdiffusion GitHub 仓库(2026-04-24 最新提交)、ProteinMPNN GitHub、Nature/Science 论文