核心问题:结构预测的"单一构象陷阱"
AlphaFold 3 和 Boltz-2 是当今最强的蛋白质结构预测模型,但它们有一个共同的盲区:倾向于只输出一个"最可能"的构象。
现实中的蛋白质远非静态。RfaH 蛋白的 C 端结构域可以在 α-螺旋和 β-桶之间切换折叠态;μ-阿片受体(μ-OR)在激动剂和拮抗剂结合时呈现完全不同的活性/非活性构象。这些双态系统(dual-state systems)是药物设计的核心靶点——但你用 AlphaFold 3 跑 100 次,它可能 100 次都只给你同一个构象。
现有的解决方案要么需要大量计算(如 AFsample2 的多 MSA 采样),要么需要修改训练流程(如 Boltz-1 的 diffusion seed 扫描)。而 Suzuki 和 Amagasa 在 2026 年 1 月发表于 bioRxiv 的这篇预印本,提出了一个优雅到近乎"朴素"的方案:在 Pairformer 堆栈之前,把 pair representation 乘以一个标量 (1 + β)。
一句话总结:z := (1 + β)·z,在 Pairformer stack 之前。β = 0 复现原始推理,β > 0 放大 pair 信号,β < 0 抑制 pair 信号。扫描 β 网格即可生成构象系综。
技术原理:为什么改一个乘数就够了
Pairformer 的双轨道架构
要理解 PRS 为什么有效,需要先理解 AlphaFold 3 / Boltz-2 的核心引擎——Pairformer。Pairformer 维护两条信息轨道:
- Single representation (s):每个残基/ token 的特征向量,编码"这个位置是什么"
- Pair representation (z):残基对之间的特征矩阵,编码"位置 i 和位置 j 之间的关系"
在 48 层(Boltz-2)或 48 层(AlphaFold 3)的 Pairformer 堆栈中,s 和 z 通过 TriangleAttention 和 AttentionPairBias 相互更新。z 主导了空间约束的传递——它告诉模型"残基 i 和 j 应该靠多近"。
β-scaling 的直觉
PRS 的核心洞察是:pair representation z 编码了模型对"哪种空间约束更重要"的先验信念。当你把 z 乘以 (1 + β):
- β > 0(放大):增强了模型对已有空间约束的信心,倾向于强化当前最显著的结构信号——可能推开次优构象的"竞争",让模型更坚定地走向某个方向
- β < 0(抑制):削弱了 pair 信号的主导地位,让 single representation 有更大话语权——相当于"放松"了空间约束,允许模型探索替代折叠态
- β = 0:精确复现原始推理
关键在于,这个操作发生在 Pairformer 堆栈之前,只执行一次。它不改变模型权重,不改变训练数据,不改变网络结构——仅通过一个标量乘法,就改变了对称性破缺的起点,从而引导模型走向不同的构象盆地。
z 从哪里来:Pair Representation 的构建过程
要理解 β-scaling 为什么有效,还需要理解 z 是怎么被构建出来的。在 Boltz-2 的 Boltz2.forward() 中(boltz2.py:413-429),pair representation 的构建经历了以下步骤:
这意味着 z 的初始值由三部分构成:(1) single representation 的外积(编码"每对残基各自的特征")、(2) 相对位置编码(编码"残基 i 和 j 在序列中的距离")、(3) 化学键信息(编码"哪些残基之间有共价键连接")。PRS 的 β-scaling 作用于这个合成后的 z,即在所有这些信号汇总之后、进入 Pairformer 之前——因此它等比例地放大/抑制了所有 pair 信号来源。
在 recycling 循环中(boltz2.py:449-455),每一轮的 z 还会加上上一轮的回收信号:z = z_init + self.z_recycle(self.z_norm(z))。β-scaling 作用于回收后的 z,意味着它也间接影响了回收信号的表达强度。
源码解析:改动量不到 5 行
Boltz-2 的修改
在 Boltz-2 的 PairformerModule.forward() 中,改动只有一行:
β 值通过 CLI 参数 --beta 传入,经由 PairformerArgs(scale_uniform_beta=beta) 到达模型。Boltz-1 和 Boltz-2 共享同一 Pairformer 架构,因此同一补丁同时适用。
AlphaFold 3 的修改
AlphaFold 3 使用 JAX/Haiku,修改同样简洁。在 evoformer.py 的 Pairformer 堆栈之前:
AF3 的实现通过环境变量 PRS_BETA 传递 β 值,避免了在 JAX 的函数式编程模型中穿针引线地传递配置参数——这是一个务实的工程选择。
统一 CLI:prs predict
作者提供了一个统一的命令行工具 prs,自动扫描 β 网格:
每个 β 值生成一个子目录(如 beta_neg0p30/),包含完整的预测输出。β = 0 的子目录即为原始模型的基线结果。
完整数据流:从 CLI 到模型前向
通过 codemap 追踪,PRS 的完整调用链可以清晰地分为两条路径——Boltz-2(PyTorch)和 AlphaFold 3(JAX),它们共享相同的 CLI 入口但走完全不同的参数传递机制。
Boltz-2 路径:CLI → PairformerArgs → 模型实例
Boltz-2 的参数传递是类型安全的:β 从 CLI flag → 函数参数 → dataclass 字段 → nn.Module 实例变量,全链路类型标注清晰。这得益于 PyTorch 的 OOP 设计。
AlphaFold 3 路径:CLI → 环境变量 → Evoformer 读取
AF3 的路径使用环境变量作为参数传递桥梁。这不是设计缺陷,而是 JAX/Haiku 函数式编程的务实选择——在 Haiku 的 hk.experimental.layer_stack 包装下,将配置参数线程化穿过整个调用栈极其笨重。环境变量方案虽然不够优雅,但在单进程推理场景下完全可行。
| 维度 | Boltz-2 (PyTorch) | AlphaFold 3 (JAX) |
|---|---|---|
| 参数传递 | CLI → dataclass → Module 属性 | CLI → 环境变量 → Evoformer 读取 |
| 类型安全 | ✅ 全链路类型标注 | ⚠️ 字符串 → float 转换 |
| 多进程安全 | ✅ 进程隔离 | ⚠️ 环境变量可能竞争 |
| 代码改动量 | ~3 行 (pairformer.py) | ~4 行 (evoformer.py + run_alphafold.py) |
| 应用位置 | PairformerModule.forward() 入口 | pairformer_stack 调用之前 |
基准测试:两个经典双态系统
| 系统 | 类型 | 状态 A | 状态 B | β 偏好 |
|---|---|---|---|---|
| RfaH CTD | 折叠切换蛋白 | α-螺旋 (2OUG) | β-桶 (6C6S) | β=+0.60 → α / β=-0.45 → β-barrel |
| μ-OR | GPCR | 非活性 (4DKL) | 活性 (5C1M) | β=-0.45 → inactive / β=+0.45 → active |
RfaH:从 α-螺旋到 β-桶的折叠切换
RfaH(抗转录因子 H)的 C 端结构域是蛋白质折叠切换的经典案例。在游离状态下,它是一个 α-螺旋发夹;当 RfaH 结合到 RNA 聚合酶时,C 端会完全重折叠为 β-桶——同一序列,两种完全不同的折叠态。
标准 Boltz-2 倾向于预测 β-桶态(因为 PDB 中 β-桶结构更多)。PRS 的结果表明:β = +0.60 时模型更倾向 α-螺旋态,β = -0.45 时则偏向 β-桶态。通过扫描 β 网格,可以在一次运行中同时获得两种折叠态的结构系综。
μ-阿片受体:GPCR 的活性/非活性切换
μ-OR 是疼痛信号传导的核心受体,也是吗啡等阿片类药物的靶点。它的活性态(5C1M,激动剂结合)和非活性态(4DKL,拮抗剂结合)在跨膜螺旋 TM6 的位移上有显著差异——这正是 GPCR 药物设计的关键构象。
PRS 的结果展示了一个有趣的模式:负 β 值(-0.45)倾向于非活性态,正 β 值(+0.45)倾向于活性态。这意味着 pair representation 的放大/抑制可以直接影响 GPCR 的构象偏好——对药物设计而言,这是一个极其有用的推理时工具。
为什么这比你想的更深
1. 推理时干预,零训练成本
PRS 不需要重新训练模型,不需要修改权重,不需要额外的训练数据。它纯粹是一个推理时(inference-time)干预——你只需要在预测命令中加一个 --beta 参数。这意味着任何已经部署了 Boltz-2 或 AlphaFold 3 的团队,可以在不改变现有基础设施的情况下立即使用 PRS。
2. 模型无关(Model-Agnostic)
同一个 β-scaling 原理同时适用于 Boltz-2(PyTorch)和 AlphaFold 3(JAX)。这两个模型共享 Pairformer 架构,但实现完全不同。PRS 的跨模型适用性说明,pair representation scaling 触及的是 Pairformer 架构的本质特征,而非某个模型的具体实现细节。
3. 与现有方法正交
PRS 可以与 AFsample2 的多 MSA 采样、Boltz 的 diffusion seed 扫描等方法叠加使用。你可以先用 PRS 扫描 β 网格,再在每个 β 值下用不同 MSA 或 seed 进一步采样——形成二维构象系综。这种正交性使 PRS 成为结构预测工具箱中一个灵活的新维度。
4. 计算开销极小
每个 β 值就是一次标准推理。5 个 β 值的网格扫描 = 5 次推理,没有额外开销。相比之下,AFsample2 需要数百次 MSA 子采样才能覆盖构象空间。PRS 的性价比令人印象深刻。
技术生态与上下游
| 组件 | 说明 |
|---|---|
src/prs/ |
统一 CLI (prs predict),解析 β 网格,调度后端 |
third_party/boltz/ |
Boltz-2 源码(vendored),含 β 补丁 |
third_party/alphafold3/ |
AlphaFold 3 源码(vendored),含 β 补丁 |
example/rfah/ |
RfaH 折叠切换基准 + marimo 可视化 |
example/muor/ |
μ-OR GPCR 基准 + marimo 可视化 |
docker/ |
两个后端各自的 Docker 镜像 |
项目依赖的关键上游工作包括 Boltz-2(Passaro et al. 2025)、Boltz-1(Wohlwend et al. 2024)、AlphaFold 3(Abramson et al. 2024),以及用于评估的 AFsample2(Kalakoti & Wallner 2025)和 IOMemP 膜转运蛋白基准(Xie & Huang 2024)。作者将 Boltz-2 和 AlphaFold 3 的完整源码 vendor 在 third_party/ 下,并直接在源码中应用了 β 补丁——这种"自带补丁的 vendor"策略确保了可复现性。
对研究者的实用启示
🔑 三个关键信号
- 如果你在做 GPCR / 膜蛋白 / 折叠切换蛋白的结构预测——立即试试 PRS。在标准预测命令中加
--beta "-0.6,-0.3,0,0.3,0.6",5 次推理即可获得构象系综。对于药物设计中的"活性 vs 非活性"构象筛选,这可能是最低成本的方案。 - 如果你在开发新的结构预测模型——Pairformer 之前的 pair representation 是一个被忽视的"控制旋钮"。PRS 证明了仅通过缩放这个信号就能改变构象偏好,这意味着模型在训练时可能过度依赖 pair signal 来"锁定"单一构象。在训练时引入 pair representation 的随机缩放(类似 dropout)可能提升多构象采样能力。
- 如果你在评估结构预测的构象多样性——PRS 提供了一个干净的基线。β 网格扫描 + TM-score 到参考构象的散点图,是评估模型构象覆盖率的标准化方法。开源的 marimo notebook 可以直接复用。
局限与展望
PRS 的局限同样值得注意:
- β 值的选择是经验性的——目前没有理论指导"对于某个蛋白应该用哪个 β 范围"。作者推荐的 -0.6 到 +0.6 是基于两个基准系统的经验值,对于其他蛋白可能需要调整。
- 不保证找到所有构象——PRS 扩大了构象采样的范围,但不能保证覆盖所有可能的折叠态。对于高度柔性的无序蛋白(IDP),效果可能有限。
- AF3 的补丁通过环境变量传递——这是一个工程上的妥协。在 JAX 的函数式编程模型中,穿针引线地传递配置参数确实不便,但环境变量方案在多进程/多线程场景下可能存在竞争条件。
作者在 README 中提到,一篇更新的预印本正在准备中,将报告 AlphaFold 3 的完整基准结果。考虑到 AF3 与 Boltz-2 在架构上的差异(AF3 有 MSA 模块,Boltz-2 有 diffusion module),β-scaling 在两个模型上的表现对比将非常有启发性。
论文信息
标题:Steering Conformational Sampling in Boltz-2 via Pair Representation Scaling
作者:Suzuki, Shosuke & Amagasa, Toshiyuki(筑波大学)
发表:bioRxiv, 2026年1月23日
DOI:10.64898/2026.01.23.701250
代码:github.com/suzuki-2001/pair-representation-scaling
许可证:MIT