RFdiffusion3(RFD3;Butcher et al., bioRxiv 2025,DOI 10.1101/2025.09.18.676967)是华盛顿大学蛋白质设计所(IPD)发布的全原子扩散设计模型:扩散基本单位是原子坐标,可在配体、核酸等非蛋白原子语境下生成蛋白。它与 RFdiffusion / RFdiffusion2 无共享代码,骨架更接近「去掉 AF3 重型序列 trunk、保留轻量 Pairformer + AF3 式扩散模块」的倒置 AF3。官方开源在 RosettaCommons Foundry(models/rfd3),约 1.68×10⁸ 可训参数;预印本称相对 RFD2 约 10× 加速。
段末注释:EDM(Elucidating the Design Space of Diffusion-Based Generative Models)是 Karras 等提出的连续噪声尺度扩散训练/采样配方;Pairformer 源自 AlphaFold3,处理单轨 (s_i) 与对轨 (z_{ij});AtomWorks 是 Foundry 的结构解析/批处理公共框架。
前置阅读:Diffusion-0 全景、Diffusion-5 结构生成实践(RFD1 骨架扩散对照)、ProteinMPNN(下游常用序列设计)
插图目录:5003.大模型-架构-RFdiffusion3-0.架构与训练/
代码:RosettaCommons/foundry · models/rfd3
输入规范:docs/input.md
0. 先建立全局心智模型
| 问题 | RFD3 的答案 |
|---|---|
| 生成什么? | 蛋白(及可选伴随链)的全体坐标 (X \in \mathbb{R}^{L\times 3})((L)=原子数)+ 可选残基类型 logits |
| 条件是什么? | 不是 MSA/序列 trunk,而是 motif 原子坐标/序列固定掩码、配体/DNA、氢键标签、热点、COM、对称噪声、SASA/rasa 等设计约束 |
| 噪声加在哪? | 原子 3D 坐标上(EDM);固定原子 (\sigma=0),去噪步保证复现 |
| 网络长什么样? | TokenInitializer(轻量条件编码)→ DiffusionModule(U-Net:atom 下采样 ↔ token 主干 ↔ atom 上采样) |
| 训练谁? | 端到端全部 RFD3 权重(TokenInitializer + DiffusionModule + sequence head);推理用 EMA shadow |
| 下游还要什么? | 多数任务仍用 ProteinMPNN / LigandMPNN 重设计序列 → AF3 自洽筛选 |

生物学直觉:传统小分子抑制剂抢占 ATP 口袋;蛋白设计常需要原子级的几何化学约束(氢键供受体几何、酶活性位点尖端原子、DNA 碱基特异接触)。残基级骨架扩散(RFD1)看不到侧链与配体细节;RFD2 用「tip-atom 条件 + 残基扩散」折中;RFD3 直接扩散 全侧链原子,使「约束」与「被生成自由度」落在同一原子坐标系。
1. 最上游:输入信息包含什么、如何获取
1.1 三条来源管道
| 管道 | 你拿到什么 | 如何获取 |
|---|---|---|
| A. 结构文件 | PDB/mmCIF 原子坐标、占有率、链 ID、残基名、配体 CCD | RCSB 镜像;训练需 PDB + CCD(见 AtomWorks mirrors) |
| B. 设计 JSON/YAML | contig、热点、固定原子、配体名、对称、长度等 | 手写或复制 Foundry docs/examples/*.json;推理 rfd3 design inputs=... |
| C. AtomWorks / transforms | 统一 AtomArray、f 特征字典、扩散掩码 |
Foundry 训练/推理 pipeline 自动解析;自定义集合同样走 AtomWorks |
推理入口字段(InputSpecification,节选):
| 字段 | 含义 |
|---|---|
input |
PDB/CIF 路径(含靶标/motif) |
contig |
索引 motif:如 "A1-80,10,/0,B5-12"(固定区 + 设计长度) |
unindex |
非索引 motif:序列位置未定、坐标条件给定(酶 tip-atom 常用) |
length |
设计总长度 "min-max" 或定长 |
ligand |
按 CCD 名或索引选配体 |
select_fixed_atoms |
坐标固定原子子集 |
select_unfixed_sequence |
哪些区域序列可改(默认输入区序列固定) |
段末注释:contig 来自 RFdiffusion 家族:把「保留 motif」与「插入设计段」写成一串;unindexed 指不暴露该残基在全序列中的全局索引,只给 3D 约束,利于酶活性位点脚手架的多样性。
1.2 模型真正「吃」的特征张量(f / ({f^*}))
TokenInitializer / DiffusionModule 不直接读原始 PDB 字符串,而是读 AtomWorks 产出的特征字典。按轨分类:
(1)原子级 1D(atom_1d_features,发布配置)
| 特征 | 维度意图 | 生物学/几何含义 |
|---|---|---|
ref_atom_name_chars |
原子名编码 | 区分 N/CA/C/O、侧链原子槽;虚拟原子名编码消歧 Cys/Ser |
ref_element |
元素类型 | C/N/O/S/P 等化学种类 |
ref_charge |
形式电荷 | 配体/离子电化学 |
ref_mask / has_zero_occupancy |
有效/占有 | PDB 未解析原子不入损 |
ref_is_motif_atom_with_fixed_coord |
坐标固定掩码 | motif 约束;对应 EDM 中 (t=0) 通道置零 |
ref_is_motif_atom_unindexed |
非索引 tip/侧链约束 | 酶设计「尖端原子」 |
ref_pos |
参考坐标 | 固定原子 / 参考构象种子 |
ref_atomwise_rasa |
相对溶剂可及性 | 掩埋/暴露控制(配体埋藏) |
active_donor / active_acceptor |
氢键供/受体标注 | HBPLUS 几何;引导 H-bond 网络 |
is_atom_level_hotspot |
原子级热点 | PPI 接触面,细于残基热点 |
(2)令牌级 1D(token_1d_features)
| 特征 | 含义 |
|---|---|
restype |
32 类残基类型(标准 AA + 其它槽) |
ref_motif_token_type |
motif 类型标签 |
ref_plddt |
蒸馏结构全局可信度开关(训练常 pLDDT>80) |
is_non_loopy |
非环含量条件(抑制过度无序骨架) |
(3)几何与配对
- 相对位置编码 (r_{\max}=32,s_{\max}=2):链内/链间相对索引;非索引用特殊 UNK bin(无全局偏移)。
- 原子对 / 令牌对:距离嵌入、motif 位置正弦嵌入、键合信息线性嵌入。
- 映射:
atom_to_token_map(哪个原子属哪个 token)。
(4)训练态动态构造(transforms,非推理必填)
| 条件采样器 | 干什么 | 生物学任务对应 |
|---|---|---|
tipatom |
采侧链连通子图为 tip 约束 | 酶活性位点、官能团几何 |
island |
若干连续残基「岛」作 motif | 通用脚手架 / partial motif |
ppi |
整条 binder 链 + 空间裁剪 + 热点 | 蛋白–蛋白界面 |
sequence_design |
更接近逆折叠式(固定更多坐标) | 与 MPNN 任务衔接 |
unconditional |
几乎无 motif | 无条件骨架生成 |
dna_condition + DNA Contact Crop |
接触处扩蛋白+短 DNA | 序列特异 DNA binder |
氢键训练:crop 后用 HBPLUS(H–A ≤3 Å,D–A ≤3.5 Å);仅 (p=0.2) 算氢键,再 (p=0.5) 子采样,防过拟合。
1.3 Atom14 填充:为何「所有残基都是 14 原子」
挑战:色氨酸侧链最重,其余 AA 原子数不同 → 张量不规则。
方法:每残基固定 4 骨架 + 10 侧链槽 = Atom14;不足槽位在 Cβ(Gly 在 Cα)放虚拟原子。网络靠 原子名 embedding 知道「这是填充槽」;Cys 与 Ser 靠虚拟原子名置换区分,并故意避免「按真实邻居数泄漏残基身份」的局部注意力泄漏。
生物学:侧链 χ 角与骨架耦合决定功能几何;统一 Atom14 让扩散在同一张 track 上同时摆骨架与侧链,无需 RFD2 式「残基帧 + tip 混合」。
核酸、配体、修饰残基:按 token/按原子不同规则(配体常 per-atom tokenize)。
2. 中间处理:从输入到扩散模块的数据流
发布配置通道宽(rfd3_net.yaml):
| 符号 | 维数 | 角色 |
|---|---|---|
| (c_s) | 384 | 令牌条件单轨 |
| (c_z) | 128 | 令牌对 / 进入原子对投影 |
| (c_{\mathrm{atom}}) | 128 | 原子单轨 |
| (c_{\mathrm{atompair}}) | 16 | 原子对 |
| (c_{\mathrm{token}}) | 768 | 扩散主干令牌轨(更宽) |
| (c_{t}) | 256 | 时间 Fourier 嵌入 |
整体两段:
1 | 结构/约束 → AtomWorks featurize → TokenInitializer |
2.1 TokenInitializer(轻量「条件 trunk」)
为什么比 AF3 轻? AF3 有几十层 Pairformer + 三角更新,从 MSA/序列提距离信息;设计问题输入是「长度、靶标、motif」,不需要那套进化通道。RFD3 把 Pairformer 砍到 2 层,并关闭 triangle attention / triangle multiplicative。
主步骤(概念):
- 1D 嵌入:原子/令牌标量与类别特征 → (c_s) / (c_{\mathrm{atom}});
- Downcast:原子特征按
atom_to_token_map交叉注意池化到令牌(替代纯均值池化); - 初始化 (z_{ij}):(s_i) 外积式线性、相对位置编码、键、参考构象对距离嵌入;
- 2× PairformerBlock:更新 (s_i,z_{ij})(无三角更新);
- AtomInitializer 侧:从令牌轨扩回原子对 (P_{LL})、原子条件 (c_L)、初始原子态 (q_{\mathrm{init}})。
对应源码:rfd3.model.layers.encoders.TokenInitializer;n_pairformer_blocks: 2。
2.2 DiffusionModule:U-Net 式 atom ↔ token
与 AF3 扩散模块同构思想:原子精细轨 ↔ 令牌粗轨,中间用可学习 cross-attention down/up-pool(SI Algorithm,Fig. S12)。
![图 1 复用:atom encoder → token transformer → atom decoder]
(A)尺度归一(EDM)
[
r_{\ell}^{\mathrm{noisy}} = \frac{x_{\ell}^{\mathrm{noisy}}}{\sqrt{\sigma^2+\sigma_{\mathrm{data}}^2}},\quad
\sigma_{\mathrm{data}}=16.
]
固定坐标原子:(t_L\leftarrow 0)(掩码 is_motif_atom_with_fixed_coord),保证 (t=0) 时输入原样复现。
源码:scale_positions_in / scale_positions_out,f_pred: edm。
(B)Atom Encoder(下采样支)
- LocalAtomTransformer / SparseTransformer,默认 3 blocks;
- SL² attention(sequence-and-structure local):
- 先保证 序列邻域整 token 的所有原子(Atom14 整组)进入 keys;
- 再按噪声空间(或 recycle 自条件结构)Euclidean 最近原子填满 key 预算(配置默认
n_attn_keys=128)。
生物学:氢键、盐桥、范德华为短程;稀疏近邻逼近物理局域性,又防全原子注意力过拟合。
(C)Downcast → Token 轨
原子特征 (q_L) 经 cross-attention pooling 进入令牌态 (a_i)(维度 (c_{\mathrm{token}}=768))。
(D)DiffusionTokenEncoder + LocalTokenTransformer(主干)
- DiffusionTokenEncoder:把噪声 Cα distogram + 自条件(recycle)预测 distogram(1–30 Å、65 bins)拼进 (z_{ij}),再经 2 层轻量 Pairformer 混合;
- LocalTokenTransformer:18 blocks,带 pair-bias 的稀疏/局部注意力 + ConditionedTransition;dropout 0.10。
这是参数与算力最大头——等价于 U-Net 瓶颈处的「高语义结构推理」。
(E)Atom Decoder(上采样支)
- CompactStreamingDecoder:3 blocks,交织 Upcast(token → atom cross-attn broadcast)与原子稀疏注意力;
- 最终 (q_L \xrightarrow{\mathrm{RMSNorm}+Linear} r_{\ell}^{\mathrm{update}}\in\mathbb{R}^3);
- EDM 合成去噪坐标:
[
\hat x_0
\frac{\sigma_{\mathrm{data}}^{2}}{\sigma_{\mathrm{data}}^{2}+\sigma^{2}},x_{\mathrm{noisy}}
+
\frac{\sigma_{\mathrm{data}},\sigma}{\sqrt{\sigma_{\mathrm{data}}^{2}+\sigma^{2}}},r^{\mathrm{update}}.
]
(F)序列头(辅助输出)
LinearSequenceHead(A_I) → sequence_logits_I(32 类)与 sequence_indices_I。
扩散轨迹终点也常再跑 ProteinMPNN;序列头可作副任务/低噪声恢复。
(G)Recycling
训练/推理对主干做 (n_{\mathrm{recycle}})(配置默认训练调度上限相关,模块默认 2):除最后一轮外 no_grad;自条件回传的是 Cα distogram,不回收全原子特征(省显存)。第二次 recycle 的稀疏索引可基于模型自己的预测几何而非噪声云。
2.3 推理采样环(与训练单步对照)
训练:对一条结构采样一个 (\sigma),单次(或多 recycle)预测 (\hat x_0),算损失。
推理:约 200 步噪声日程
[
\sigma(t)=\sigma_{\mathrm{data}}\Big(s_{\max}^{1/\rho}+t,(s_{\min}^{1/\rho}-s_{\max}^{1/\rho})\Big)^{\rho},
]
(s_{\min}=4\times10^{-4},;s_{\max}=160,;\rho=7);含 AF3 风格 γ/η 噪声调制。固定原子每步不再加噪。
CFG:原子级 classifier-free guidance(条件/无条件两次前向插值),强化约束服从、牺牲多样性。
对称:对输出坐标周期性对称化(默认前 ~90% 步强制对称)。
3. 从中间表示到输出层(端到端「扩展」路径)
用一次 recycle 内部前向串起来(对应 SI Algorithm 5 / 源码 process_):
| 步 | 张量 | 操作 |
|---|---|---|
| 1 | (X_{\mathrm{noisy}}\in\mathbb{R}^{D\times L\times 3}) | EDM 缩放到 (r) |
| 2 | (r\to q_L) | process_r 加到 (q_{\mathrm{init}});时间 Fourier → (c_L,s_I) |
| 3 | (q_L) | Atom Encoder 稀疏自注意(3) |
| 4 | (q_L\to a_I) | Cross-attn Downcast |
| 5 | (s_I,z_{IJ}) | TokenEncoder + distogram/self-cond(2 Pairformer) |
| 6 | (a_I) | Token Transformer(18) |
| 7 | (a_I\to q_L) | Decoder Upcast + 原子稀疏注意(3) |
| 8a | (q_L\to r^{\mathrm{update}}\to\hat X_0) | 坐标输出头(主任务) |
| 8b | (a_I\to \mathrm{logits}) | 序列输出头(辅任务) |
参数规模直觉:
- TokenInitializer:2 Pairformer((c_s{=}384,c_z{=}128))+ 嵌入 MLP;
- DiffusionModule:3+18+3 Transformer 栈 + 双轨 cross-attn pool;
- 合计 ~168M(相对 AF3 ~350M);无三角更新是关键减参/减慢因。
4. 训练数据采用哪些信息
4.1 数据集组成(SI Table S3)
| 数据集 | 约例数 | 内容 | Stage1 采样 | Stage2 采样 |
|---|---|---|---|---|
| PDB(至 2024-12) | (6.95\times10^6) 量级元数据行 | pn_units + interfaces(加权约 20%/80%) |
0.2 | 0.2 |
| AFDB 单体蒸馏 | (7.6\times10^6) | Hsu 等高置信 AF2 | 0.7 | 0.5 |
| 域–域蒸馏 | (5.85\times10^5) | AFDB 域界面 | 0.1 | 0.1 |
| DNA 蒸馏复合物 | (3.83\times10^4) | 高置信蛋白–DNA | 0 | 0.14 |
| PDB DNA interfaces | (2.71\times10^4) | 实验界面子集 | 0 | 0.04 |
| Free DNA | (1.64\times10^4) | DeepDNAshape+X3DNA 重建六聚体 | 0 | 0.01 |
分层训练:Stage1 广谱防过拟合;Stage2 上采样 DNA / PPI 强化相互作用。
4.2 单条样本里写进监督的「信息」
对每个 crop((n_{\mathrm{crop}}{\le}384) token,(n_{\mathrm{atoms}}{\le}5000);开源配置示例可更小):
- 真实坐标 (X^{\mathrm{gt}})(旋转增强 + COM 扰动);
- 若干条件(Table S1/S2):哪些原子/token 固定序列、固定坐标、是否 unindex、是否 tip 子图、是否热点/氢键/rasa;
- 非索引、配体等加权掩码;
- 小分子参考构象:CCD/RDKit ETKDGv3 预计算 30 个构象中均匀采样。
生物学:crop + DNA contact crop 人为制造「短 DNA 特异结合」统计,贴近 binder 任务;PPI full-binder crop 保留完整结合链,贴近接口设计。
5. 损失如何量化、谁在回传梯度
5.1 主损失:坐标 EDM-MSE(+ 平滑 lDDT)
SI 式 (1):
[
\mathcal{L}_{\mathrm{diff}}
\alpha(\sigma),
\frac{1}{3,|w|}
\sum_{\ell}
w_{\ell},\big|\hat x_{0,\ell}-x^{\mathrm{gt}}{0,\ell}\big|{2}^{2}
;+;
\alpha_{\mathrm{lddt}},\mathcal{L}_{\mathrm{smooth_lddt}},
]
[
\alpha(\sigma)=\frac{\sigma^2+\sigma_{\mathrm{data}}^2}{(\sigma,\sigma_{\mathrm{data}})^2},\quad
\sigma_{\mathrm{data}}=16,\quad
\alpha_{\mathrm{lddt}}=0.25.
]
噪声采样:(\sigma=\sigma_{\mathrm{data}}\exp(-1.2+1.5,\mathcal{N}(0,1)))。
权重 (w_\ell)(与 DiffusionLoss 一致):
| 类别 | 处理 |
|---|---|
| 未解析原子 | (w=0)(crd_mask) |
| 配体原子 | (\times 10)(alpha_ligand: 10) |
| 虚拟原子 | 与真实原子等权(alpha_virtual_atom: 1) |
| 非索引相关原子 | 用 (\alpha(\gamma\sigma)/\alpha(\sigma)) 换尺度,(\gamma=0.75),强调低噪声下 tip 对齐 |
| 极性原子 | 配置可再乘 alpha_polar_residues |
注意:与 AF3 不同,RFD3 不对每步预测做最优叠加对齐再算损失(no-align MSE,在输入帧下直接比)。
lddt_weight: 0.25:平滑 lDDT 推局部距离分布,核酸对阈值可用到 30 Å、蛋白 15 Å(见 smoothed_lddt_loss)。
配置总包络:DiffusionLoss.weight: 4.0(标量乘在总扩散损上)。
5.2 辅损失:序列交叉熵
SequenceLoss:对 sequence_logits_I 与真残基索引做 token CE;仅在 (t\in[\mathrm{min}_t,\mathrm{max}_t))(默认 max_t: 1,偏向低噪声)计入;weight: 0.1;CE clamp 上限 4。
5.3 优化器与正则
| 项 | 设置 |
|---|---|
| 优化器 | Adam / AdamW,(\beta=(0.9,0.95)),lr 1.8×10⁻³(线性 1000 step warmup) |
| EMA | decay 0.999;推理只用 shadow |
| Dropout | 多数 attention/transition 输出 10%;原子编码早期 SparseTransformer 除外 |
| 硬件 | 预印本:16× H200 ≈ 7 天 训完公开配方 |
| 训练步形态 | 每例采样 (t),n_recycle 按 schedule;仅最后一轮 recycle 反传 |
5.4 「参与训练的参数」对应哪些层
结论:默认全部可训——没有像「冻住 AF3 trunk 只训头」的拆分;FabricTrainer 对 model.parameters() 整体优化 + EMA。
| 模块(源码类) | 层块 | 主要参数 |
|---|---|---|
TokenInitializer |
1D embedding、RPE、2× PairformerBlock、pair MLP、downcast/cross-attn | 条件编码 |
RFD3DiffusionModule |
LocalAtomTransformer×3、DiffusionTokenEncoder(2 Pairformer)、LocalTokenTransformer×18、CompactStreamingDecoder×3 |
主力 |
| 头 | to_r_update(原子→Δxyz)、LinearSequenceHead |
输出 |
| 辅助 | FourierEmbedding 权重(时间)、各类 LinearNoBias / RMSNorm / Transition |
贯通两轨 |
不参与学习、但影响前向:噪声日程常数、稀疏索引选择启发式、固定原子掩码、HBPLUS 预标注、参考构象采样;EMA 为优化镜像,非独立架构。
重构时对齐检查清单:
- Atom14 + 虚拟原子名置换方案;
- EDM (\sigma_{\mathrm{data}}=16) 与 (\alpha(\sigma));
- 无三角更新的 2+2 Pairformer + 18 token blocks;
- SL² sparse attention key 预算;
- cross-attn 池化而非纯 mean pool;
- 损失:no-align MSE + ligand×10 + unindexed (\gamma) + 0.25 smooth-lDDT + 弱序列 CE。
6. 最小复现 / 自训路径(工程)
1 | # 安装 |
DDP:按 EFFECTIVE_BATCH_SIZE 设 grad_accum_steps;公开配方 diffusion batch 常以 16 为有效目标。微调:任意 AtomWorks 兼容结构集挂进 Hydra datasets;调 training_conditions 频率即等于调任务混合比。
下游建议:RFD3 → ProteinMPNN/LigandMPNN → AF3;designability 仍用 scRMSD / ipTM 等标准过滤。
7. 与 RFD1 / RFD2 / AF3 对照(选型)
| RFD1 | RFD2 | RFD3 | AF3 | |
|---|---|---|---|---|
| 扩散对象 | 残基骨架/帧 | 帧 + 少量 tip | 全原子坐标 | 全原子(预测) |
| 条件输入 | contig/热点 | tip + 残基 | 原子级约束统一 | MSA/序列 |
| Trunk | RF 结构模块 | 专用 | 2 层 Pairformer | 48 层级 Pairformer |
| 参数量级 | 较小专模 | — | ~168M | ~350M |
| 代码血缘 | RF | 独立演进 | 全新 / Foundry | DeepMind |
| 主用途 | 骨架/binder | 酶 tip | 统一多任务设计 | 结构预测 |
8. 小结(给「要能重构」的人)
- 输入:AtomWorks 把 PDB + JSON 约束变成 Atom14 原子/令牌特征 + 固定掩码;训练再随机「出题」(tip/island/ppi/dna…)。
- 中间:轻量 TokenInitializer 编码条件 → U-Net 式 DiffusionModule(原子稀疏注意 ↔ 令牌 18 层主干 ↔ 原子解码);EDM 尺度与固定原子 (t=0)。
- 输出:(\hat X_0) 全原子坐标为主;序列 logits 为辅;推理 200 步采样 (+CFG/对称)。
- 数据:PDB(至 2024-12)+ AF2/DNA 蒸馏,两阶段上采样相互作用。
- 损失:加权 EDM-MSE(配体×10、非索引 (\gamma))+ 0.25 smooth-lDDT + 弱 CE;全网络端到端 + EMA。
能复现这五条,就抓住了 RFD3 的可重构骨架;细部以 Foundry rfd3_net.yaml + SI Algorithms 1–17 为准。
段末注释:designability 指生成骨架经序列设计与折叠预测后仍回到原结构的成功率;RFD3 虽出侧链,公开评估仍常 MPNN 重设计——侧链直接作最终序列身份时需另做 recovery/实验验证。
9. 参考文献
- Butcher J. et al. De novo Design of All-atom Biomolecular Interactions with RFdiffusion3. bioRxiv (2025). doi:10.1101/2025.09.18.676967
- RosettaCommons Foundry — models/rfd3
- Karras T. et al. EDM — NeurIPS 2022
- Abramson J. et al. AlphaFold3 — Nature 2024
- Watson J.L. et al. RFdiffusion — Nature 2023
- Ahern W. et al. RFdiffusion2 — bioRxiv 2025
- Dauparas J. et al. ProteinMPNN / LigandMPNN