跳转至

AI 蛋白质设计 —— RFdiffusion 从头设计实战

1. 一句话说明

RFdiffusion 是 David Baker 实验室(华盛顿大学蛋白质设计研究所)开发的基于扩散模型的蛋白质骨架从头设计工具,能凭空生成自然界不存在的蛋白质结构,再配合 ProteinMPNN 设计序列、AlphaFold2 验证,形成完整的 AI 蛋白质设计闭环。


2. 蛋白质设计 vs 蛋白质预测:一字之差,天壤之别

本篇讲"设计"(Design),第 13 篇讲"预测"(Prediction),两者互补但方向完全相反。

维度蛋白质结构预测(AlphaFold)蛋白质从头设计(RFdiffusion)
输入已知氨基酸序列设计目标(长度/功能/结合靶点)
输出预测的 3D 结构全新的蛋白质骨架 + 序列
方向序列 → 结构(正问题)功能 → 结构 → 序列(逆问题)
白话类比给你一份食谱,预测做出来的菜长什么样告诉你想要什么味道的菜,AI 帮你发明新食谱
代表工具AlphaFold2/3、ESMFold、ColabFoldRFdiffusion、Chroma、FrameDiff
核心论文Jumper et al., Nature 2021Watson 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%(某些任务)

对比维度定向进化RosettaRFdiffusion
搜索策略随机突变+筛选物理能量最小化学习蛋白质分布后生成
速度数月数天~数周数秒~数分钟/设计
需要起始结构需要(天然蛋白)需要或从头建模不需要,凭空生成
设计空间天然蛋白附近有限构象空间整个蛋白质折叠空间
实验成功率依赖筛选通量<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/alphafoldJumper et al., Nature 2021
ColabFoldAF2 的快速版(用 MMseqs2 替代 MSA)sokrypton/ColabFoldMirdita et al., Nat Methods 2022
ESMFold单序列结构预测(更快,无需 MSA)facebookresearch/esmLin et al., Science 2023

设计流程速查

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│ RFdiffusion  │ ──→ │ ProteinMPNN  │ ──→ │  AlphaFold2  │ ──→ │ MD Simulation│
│ 骨架生成      │     │ 序列设计      │     │ 结构验证      │     │ 稳定性验证    │
│ ~秒/设计      │     │ ~秒/序列      │     │ ~分钟/预测    │     │ ~小时/模拟    │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘

关键指标速查

指标全称合格标准含义
scRMSDSelf-Consistent RMSD< 2.0 Å设计骨架与 AF2 预测结构的偏差
pLDDTPredicted LDDT> 70AF2 对预测的逐残基置信度
pTMPredicted TM-score> 0.5整体拓扑相似性
pAEPredicted 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. 延伸资源

必读论文

  1. Watson et al. "De novo design of protein structure and function with RFdiffusion." Nature 620, 2023. — RFdiffusion 原始论文
  2. Dauparas et al. "Robust deep learning-based protein sequence design using ProteinMPNN." Science 378, 2022. — ProteinMPNN 原始论文
  3. 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 上有在线版本

推荐学习路径

  1. 先学第 13 篇 AlphaFold(理解结构预测基础)
  2. 再学本篇 RFdiffusion(理解从头设计)
  3. 用 Colab 跑一遍 RFdiffusion + ProteinMPNN + ColabFold 全流程
  4. 阅读 Watson et al. 2023 论文的 Figure 1-3,理解实验验证结果

相关知识库篇目

  • 第 13 篇:AlphaFold 蛋白质结构预测实战(结构预测基础)
  • 第 15 篇:分子对接(蛋白质-配体相互作用预测)

最后更新:2026-05-03 | 数据来源:RFdiffusion GitHub 仓库(2026-04-24 最新提交)、ProteinMPNN GitHub、Nature/Science 论文