返回博客

BoltzGen 的几何编码:连续坐标如何稳定地解出序列?

从十四原子槽与官方计数解码器出发,推导身份稳定性的距离间隔条件,用色氨酸和槽置换反例区分坐标误差、离散身份与化学有效性,并连接去噪、预算和可检验对照。

生成一段蛋白质序列,似乎是在二十种氨基酸之间做选择;生成全原子结构,却需要先知道每个残基究竟有多少原子。这两个问题相互依赖:不知道序列,就不知道坐标张量的形状;只生成主链,又把侧链与目标分子的相互作用留给下一步。BoltzGen 的一个值得拆开的技术选择,是用固定数量的坐标槽承载可变的化学身份。

本文的论点是:几何编码把离散序列纳入连续去噪,但离散决策边界仍然存在。应检查身份对坐标扰动是否稳定、原子槽是否符合解出的模板,以及约束与后续重设计是否一致。单看“能解出一种氨基酸”不足以验收。这里推导一个保守的稳定性条件,并用真实代码表中的反例说明它不能替代化学检查。

本文深读基础报告,不作为今日新发布消息。BoltzGen: Toward Universal Binder Design 首版于 2025 年 11 月 24 日公开,本文采用 2026 年 6 月 16 日的 bioRxiv v2,并核对官方代码提交 \(\mathtt{a07fea1}\)(完整提交见来源)。这是预印本;下文的稳定性推导与建议评估是本文分析,未运行 BoltzGen 权重、蛋白设计或湿实验。

1. 最小基线:为什么只生成主链还不够?

一个直观基线是先采样主链,再用逆折叠模型选择能支持该骨架的序列。它把变量数量固定下来,也便于复用主链生成器。但生成骨架时尚未确定侧链的体积、供受氢键角色和元素位置;第二步可能需要在一个已选骨架上弥补不合适的局部环境。这里指出的是变量之间的接口,不能据此断言主链方法必然较差。

联合生成的目标则是同时决定残基类型和原子位置。对 \(L\) 个待设计残基,固定十四槽可写成 \(X\in\mathbb{R}^{L\times14\times3}\),其中每个残基的前四槽始终表示 N、Cα、C、O。此处“始终”指槽的语义顺序,不表示这些主链坐标在生成过程中固定不动。十四槽表示重原子槽,不包含氢;非设计目标、核酸或配体使用其已有原子表示,不强行变成十四槽。

形状固定只是第一步。余下十槽必须同时容纳真实侧链与占位标记,还要让相同真实原子数的氨基酸可区分。若把所有剩余槽都堆到同一位置,原子数只能区分侧链大小,无法单独区分例如苏氨酸、缬氨酸和脯氨酸。

2. 用七个虚拟槽编码苏氨酸

苏氨酸的真实重原子为四个主链原子与 CB、OG1、CG2 三个侧链原子。因此前七槽有物理原子语义,后七槽作为标记。官方编码表 把第 8–10 槽放在 N 上,把第 11–14 槽放在 O 上;记 \(c=(c_{\mathrm N},c_{\mathrm{C_\alpha}},c_{\mathrm C},c_{\mathrm O})\),得到 \(c_{\mathrm{Thr}}=(3,0,0,4)\)。脯氨酸的七个标记全放到 O,缬氨酸则全放到 N。三者的真实原子数相同,标记分配不同。

训练时标记与指定主链原子坐标重合。这些重合不是分子里多个原子的碰撞,而是信息编码:标记不是额外的氮或氧原子,输出化学结构时需要删除。特征构建代码 同时构造真实原子与虚拟槽,并复制 N/O 的坐标。在对外提供的条件特征中,待设计部分的残基类型及侧链/虚拟槽的身份特征被掩蔽,共有主链槽的语义可以保留;正确标签用于构造训练目标,不应作为已知序列偷偷送入设计条件。

十四原子槽中苏氨酸的真实原子与虚拟标记、最近主链原子计数解码及阈值反例的信息流示意
原创机制示意,非实验数据、非真实分子坐标。苏氨酸的七个虚拟槽分为三个 N 标记和四个 O 标记。0.49 与 0.51 埃仅是阈值两侧的算术例子,不能表示模型误差分布或命中率。

因此,“连续编码”描述的是生成变量所在的空间,不是说氨基酸变成连续化学物种。元素、原子名和侧链拓扑最终仍来自离散残基模板。虚拟槽在去噪后集中到哪里,决定用哪个模板解释这一组坐标。

3. 代码真正做的是最近主链计数

本文核对的 res_from_atom14 并非“选择距离最近的完整残基模板”。对每个残基,它计算后十槽到前四个主链槽的距离:

\[d_{sb}=\lVert x_s-x_b\rVert_2,\qquad b\in\{1,2,3,4\},\ s\in\{5,\ldots,14\}\]

随后为每个槽选最近的主链原子,只把最近距离不超过阈值的槽记入该原子的计数:

\[j_s=\underset{b}{\arg\min}\ d_{sb},\qquad r_s=\min_b d_{sb},\qquad c_b=\sum_{s=5}^{14}\mathbf{1}\{j_s=b,\ r_s\le h\},\quad h=0.5\,\mathrm{\mathring A}\]

计数元组在 \(\mathtt{placement\_count\_to\_token}\) 中查表。不在表里的组合返回 UNK,表内还存在显式的 UNK 编码。代码的阈值判断是大于 0.5 埃才排除,因此恰好位于阈值上也计数;最近原子出现平局时遵循实现的索引规则。预测输出 writer 实际调用这个解码器,不只是保留了一个未使用的工具函数。

这是一个带拒绝项的确定性解码器,而非校准过的残基置信度估计。特别有意思的是色氨酸:它恰好使用全部十四个真实重原子,不需要标记,其计数是 \((0,0,0,0)\)。于是,若后十槽全都离四个主链原子超过阈值,哪怕坐标散得不成分子,也会得到同一个计数并解成色氨酸。合法计数不蕴含合法侧链。

第二个反例来自槽顺序。计数对后十槽的置换不敏感;交换一个真实侧链槽和一个 N 标记,可以保持苏氨酸计数。然而输出原子名按模板的固定槽序分配,并非自动把所有非重合坐标重新排成侧链。计数不变,仍可能把 CB 放到了 N 的位置。这要求验收“类型”和“坐标按类型解释后的化学几何”两件事。

4. 一个可证明的身份稳定性条件

现在问:微小坐标扰动会不会改变上述解码?设原坐标为 \(X\),扰动后为 \(\widetilde X\),十四槽中每个坐标的欧氏改变量都不超过 \(\varepsilon\)。由于主链锚点也会移动,任何槽到锚点的距离变化最多为 \(2\varepsilon\):

\[\left|\lVert\widetilde x_s-\widetilde x_b\rVert_2-\lVert x_s-x_b\rVert_2\right|\le\lVert\widetilde x_s-x_s\rVert_2+\lVert\widetilde x_b-x_b\rVert_2\le2\varepsilon\]

记每个后十槽到四个锚点的最小和次小距离为 \(d_s^{(1)}\)、\(d_s^{(2)}\),其中 \(r_s=d_s^{(1)}\)。要维持最近锚点,需原来的两距离差大于 \(4\varepsilon\);要维持是否在阈值内,需 \(|r_s-h|>2\varepsilon\)。把两个条件写在一起:

\[\delta(X)=\min_{s=5,\ldots,14}\left\{|r_s-h|,\ \frac{d_s^{(2)}-d_s^{(1)}}{2}\right\},\qquad \varepsilon<\frac{\delta(X)}{2}\]

在这些假设下,每槽的最近锚点与是否计数都保持不变,因此计数及解码结果不变。这是本文由反三角不等式得到的保守充分条件,不是模型报告的保证,也不是必要条件。对已经远离所有锚点、根本不计数的槽,要求最近锚点也稳定可能多余;即使若干槽改变归属,计数也可能相互抵消。若只扰动后十槽而保持锚点固定,距离变化界可收紧,不能把两种设置混用。

阈值上的槽使 \(\delta=0\),无法从该界获得正的扰动容忍度。纸上反例:一个 N 标记的最近距离从 0.49 埃变成 0.51 埃,其余槽不动,苏氨酸计数从 \((3,0,0,4)\) 变成 \((2,0,0,4)\);后一个组合在官方表中恰好对应天冬氨酸(ASP),不是 UNK。因此这是“发生错误却仍返回合法身份”的反例。0.02 埃是这个人为例子的位移,不是模型误差测量。

残基平均 RMSD 会稀释单个危险槽的误差。更直接的诊断是阈值距离、最近锚点间隔与扰动后的身份保持率,但三者也不是实验成功率:色氨酸的畸形反例可以远离所有阈值且十分稳定。稳定性检查回答“编码会不会跳变”,化学检查回答“当前解释是否合理”。

5. 去噪均值为什么不必是一种合法氨基酸?

固定槽让结构预测与设计可使用同一类连续噪声过程。报告中的前向过程在某个噪声水平的条件分布可写为:

\[X_t=X_0+tE,\qquad E\sim\mathcal N(0,I),\qquad t>0\]

这里 \(t\) 是坐标噪声尺度,不是分子动力学的物理时间,\(E\) 是同形状的独立标准高斯噪声,\(z\) 表示已知目标与其他条件。对固定坐标系下的纯平方误差去噪问题,最优预测是条件均值:

\[D^*(x,t;z)=\underset{u}{\arg\min}\ \mathbb E[\lVert u-X_0\rVert_2^2\mid X_t=x,z]=\mathbb E[X_0\mid X_t=x,z]\]

这个恒等式帮助理解机制,但不能当作完整实现的逐项损失:报告的实际训练还包括刚体对齐、原子权重、键长与平滑 lDDT 项。无噪声训练编码集中在合法构型附近,不意味着每个中间预测都在合法编码区域。条件均值是在不确定假设间平均,可能落入不同身份区域,也可能落入 UNK 区域,不能断言它一定非法。

看一个与分子坐标无关的一维教学例子:变量 \(U\in\{-a,+a\}\) 等概率取两值,\(a>0\),观测为 \(Y=U+t\eta\),\(\eta\sim\mathcal N(0,1)\)。由两项高斯似然之比可得:

\[\Pr(U=a\mid Y=y)=\frac{1}{1+\exp(-2ay/t^2)},\qquad \mathbb E[U\mid Y=y]=a\tanh\!\left(\frac{ay}{t^2}\right)\]

当 \(y=0\),两种身份等可能,条件均值是零,既不是 \(-a\) 也不是 \(+a\)。这说明连续 MSE 预测可能在离散状态之间,不能据此宣布扩散采样失败。去噪器提供当前噪声水平的方向,采样器还会沿多个噪声水平更新坐标。对上述高斯加噪及理想的精确均值,有:

\[\nabla_x\log p_t(x\mid z)=\frac{D^*(x,t;z)-x}{t^2},\qquad \frac{\mathrm dx}{\mathrm dt}=\frac{x-D^*(x,t;z)}{t}\]

右边的流在降低 \(t\) 时积分,而不是简单把一次均值作为最终分子。实际随机采样还会注入噪声,启发式步长或噪声缩放会改变采样行为。这里没有证明训练网络、离散积分或带约束的实际输出遵循精确分布。报告对身份集中形成的区间增加采样步骤;该区间是经验调度现象,不能转成所有靶点通用的承诺,更不能理解成化学反应时间。

生成坐标分布经解码器 \(d\) 推到离散序列空间,单个残基可形式化为:

\[q_\theta(a\mid z)=\int_{\{X:\ d(X)=a\}}p_\theta(X\mid z)\,\mathrm dX,\qquad a\in\mathcal A\cup\{\mathrm{UNK}\}\]

其中 \(\mathcal A\) 是二十种标准氨基酸。这提醒我们:没有单独的序列分类头,不等于没有离散决策、拒绝区域或序列偏差。检查输出类型频率,应连同 UNK、模板几何与目标条件一起检查。

6. 成本应算到哪个环节?

令待设计残基数为 \(L_{\mathrm{design}}\),其余输入原子数为 \(A_{\mathrm{given}}\),坐标槽总数为:

\[A=14L_{\mathrm{design}}+A_{\mathrm{given}}\]

坐标存储随 \(A\) 线性增长,但模型工作量不只等于坐标数。报告的 trunk 维护残基等 token 的成对表示,若 token 数为 \(R\),这部分存储通常随 \(R^2\) 增长;三角操作的朴素工作量可呈立方增长。原子层使用局部注意力,不能把整个网络一概写成全局 \(A^2\) 注意力。固定十四槽会增加小侧链残基的槽数,也换来了统一张量形状;其实际代价依赖 crop、batch、实现与硬件。

对一组共享条件、trunk 特征可复用的候选,概念性预算可拆为:

\[C_{\mathrm{campaign}}=C_{\mathrm{trunk}}+N_{\mathrm{gen}}K C_{\mathrm{denoise}}+N_{\mathrm{redesign}}C_{\mathrm{IF}}+N_{\mathrm{refold}}C_{\mathrm{refold}}+C_{\mathrm{rank}}\]

其中 \(K\) 为每条轨迹的去噪调用次数,\(N_{\mathrm{gen}}\) 为生成数量,\(N_{\mathrm{redesign}}\) 与 \(N_{\mathrm{refold}}\) 分别计重设计和复折叠任务,\(C_{\mathrm{IF}}\) 为逆折叠成本。若条件、长度或框架不同,需要分别计 trunk;这是预算账本,不是精确 FLOP 或时间预测。计数解码每残基只需十乘四个距离,复杂度为 \(\mathcal O(L_{\mathrm{design}})\),通常不足以概括整条流程。

几何联合生成也没有消除后处理。官方流程仍包含可选逆折叠、复折叠、过滤、排序与多样性选择。如果比较实验命中率,只把最终送实验的分子数量对齐,却允许一方多生成数万候选、多尝试若干序列或人工挑选,比较的是整个不同预算的流程。调密身份变化区间的步骤,必须在相同去噪调用预算下比较,才回答调度分配是否更有效。

7. 怎样检验“几何编码更可靠”这一论点?

下面是建议实验协议,不是本文已完成的模型实验。主链加逆折叠可作为流程基线;几何编码的不同调度可作为机制对照。应分别固定靶点信息、候选数、去噪调用、重设计数量、复折叠模型和最终实验预算,并记录是否人工介入。要隔离编码的作用,还需训练或系统性消融;只对两个预训练模型看命中率,不能把差异归因给编码。

检查层可检验读数它不能单独证明什么
身份解码UNK 比例、阈值间隔、规定幅度扰动后的身份保持率模板键长、手性或侧链顺序正确
模板几何删除标记并按模板命名后检查键长、键角、手性、碰撞、约束残差复折叠能复现界面
序列再解释保存原始解码序列及重设计序列,比较结构与受约束位点变化差异来自几何编码而非后处理
靶点泛化按靶点/界面同源簇与时间分层,报告每靶点完整候选漏斗和实验读数未知靶点上的稳定收益已被普遍证明

模板几何验收需先把虚拟槽剔除;若把重合标记当真实原子计算碰撞或能量,会得到没有物理意义的坏分数。另一方面,删除标记也不能掩盖真实槽错位。对二硫键或固定功能位点,重设计后重新核对身份与键约束;不能默认第二步遵守第一步全部条件。

泛化划分也要检查训练结构、目标序列、已知结合界面及自蒸馏数据来源。目标序列低相似性并不自动排除相似界面或结构先验的帮助;使用目标结构是输入设定,应清楚写出,不能混成无结构目标设计。报告指出,在某些靶点、73–76 残基长度范围内会发生泛素样设计的多样性坍缩。这是一个具体警示:可解码、可折叠和高频采样可以同时存在,而目标条件未被充分利用。应对靶点条件做移除、错配或替换对照,检查目标相关的界面变化;此类对照也是建议实验。

8. 可迁移的结论:验收编码的三个接口

BoltzGen 的技术价值之一,是让未知序列对应的可变原子拓扑进入固定形状的连续生成问题。由此可以复用连续去噪,并在几何上下文中联合建模。这个选择是否提升某个设计任务,需要公平预算和目标划分来验证,不能仅凭编码看起来简洁决定。

实现上值得逐一验收三个接口:坐标到计数是否远离危险决策边界;计数到模板是否正确处理 UNK、槽顺序及非物理标记;模板到后续流程是否在删除标记、重设计与复折叠后仍保持约束。本文的充分界解决第一个接口的一小部分,畸形色氨酸与置换反例解释第二个接口为何必须单独检查。

因此,连续坐标误差、离散身份稳定性和模板化学有效性应分别报告。它们彼此相关,但没有一个单独读数可以替代另两个。把这三个读数与计算预算、目标依赖及最终验证连接起来,才能判断一个几何编码到底在什么条件下帮助设计。

工具说明:本文用 citation-management 核验文献元数据,相关 Scientific Agent Skills 列入来源仅用于工具归属,不作为蛋白设计机制的证据。

参考资料

  1. Stark et al. — BoltzGen: Toward Universal Binder Design (bioRxiv v2; first posted 2025-11-24, revised 2026-06-16) · 2026-06-16 · 查阅 2026-10-09
  2. BoltzGen official code — fixed fourteen-slot residue codebook, commit a07fea1153111ef453aaea7a15697ee05de9291f · 查阅 2026-10-09
  3. BoltzGen official code — feature construction and res_from_atom14 count decoder, commit a07fea1153111ef453aaea7a15697ee05de9291f · 查阅 2026-10-09
  4. BoltzGen official code — prediction writer and template output, commit a07fea1153111ef453aaea7a15697ee05de9291f · 查阅 2026-10-09
  5. BoltzGen official README — design, redesign, refolding and filtering pipeline, commit a07fea1153111ef453aaea7a15697ee05de9291f · 查阅 2026-10-09
  6. Kassis et al. — Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents (tool attribution only; current arXiv version) · 2026-08-30 · 查阅 2026-10-09
利友诚

关于作者

利友诚 · Youcheng Li

北京大学智能学院人工智能专业博士研究生,导师为王立威教授;Isoplex Intelligence(壹索智能)联合创始人兼 CTO。

研究关注医疗人工智能、生成式基础模型、诊断推理与科学智能体。以第一作者或共同第一作者身份在 Nature Biomedical Engineering、Scientific Data、KDD 和 PLOS Computational Biology 发表研究。