跳转至

SYNC: Measuring and Advancing Synthesizability in Structure-Based Drug Design

会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=y1tPw4Uuzg
代码: https://github.com/XYxiyang/SYNC
领域: 计算生物 / 药物设计 / 扩散模型
关键词: 基于结构的药物设计, 可合成性, SE(3)不变, 引导扩散, DPO

一句话总结

这篇论文先用 8 个经典合成性指标在 11 个 SBDD 模型上做基准测试、揭示这些指标互相打架不可靠,进而提出一个轻量的 SE(3) 不变可合成性分类器 SYNC,并把它当作即插即用模块塞进扩散过程(引导扩散 + DPO),在几乎不损失结合亲和力的前提下让生成分子的可合成性大幅提升。

研究背景与动机

领域现状:基于结构的药物设计(SBDD)的目标是给定一个蛋白口袋,生成能与之高亲和力结合的 3D 配体分子。主流做法把它建模成「以口袋为条件」的生成任务,从早期的自回归模型(逐原子/逐片段生成)发展到如今的扩散模型(TargetDiff、DecompDiff 等同时去噪原子类型、坐标、化学键)。这些方法在 docking score 等结合相关指标上越做越好。

现有痛点:结合得再好,分子合成不出来就无法进入实验验证,这是横在 SBDD 和落地之间最大的障碍。而「一个分子到底好不好合成」本身就难以计算评估。现有合成性评估分三类——规则法(SA、SYBA,快但只能定性、泛化差)、逆合成法(AizynthFinder,给出合成路径因而真阳性率最高,但受限于库存前体且极其耗时,10K 分子要跑 17 万秒)、学习法(RAScore、GASA、FSScore,灵活但大多只用粗粒度特征、完全忽略 3D 构象)。

核心矛盾:作者把 8 个指标在 11 个 SBDD 方法上排名一摆(Figure 1),发现它们之间存在巨大的不一致——比如对 FLAG 的合成性,8 个指标里 3 个说差、5 个说好。指标互相矛盾、各有缺陷,导致根本无法对「合成性」下一个可靠结论,更没法用它去指导生成。同时,SBDD 生成的是 3D 构象,而几乎所有现成指标都是 1D/2D 的,丢掉了键角、空间位阻这些直接决定能否合成的 3D 信息。

本文目标:(1) 建立一个能横向公平比较合成性指标的基准;(2) 造一个又快又准、还能塞进生成过程指导生成的合成性度量;(3) 在不牺牲结合亲和力的前提下,让 SBDD 直接生成可合成分子。

切入角度:可合成性应当对平移/旋转不变(SE(3) 不变),而键角、位阻这些只在 3D 空间才看得见——所以一个「3D 感知 + SE(3) 不变 + 可微 + 快」的分类器,既能当度量、又能当扩散过程的梯度引导信号。

核心 idea:用一个 SE(3) 不变的 EGNN 分类器 SYNC 替代杂乱的传统指标,并把它做成即插即用模块,通过引导扩散和 DPO 两条路把「可合成性」直接灌进生成分子里。

方法详解

整体框架

论文分三块:先做度量基准回答「现有指标到底靠不靠谱」,再造SYNC 分类器作为更好的度量,最后把 SYNC 当插件接到扩散里,用引导扩散DPO 两条路径把可合成性注入生成。

基准这块,难点在于「不可合成」的分子很难标注(要靠昂贵的湿实验),作者退而求其次用「易合成(ES)/难合成(HS)」作为廉价代理:拿 Enamine 库存当 ES,再收集 TS1/TS2/TS3 和 Nonpher-Test 四个含 ES/HS 标注的数据集,共 5 个数据集上跑 8 个经典指标,得出它们泛化差、互相矛盾的结论。

SYNC 这块,输入是分子的 3D 构象(原子坐标 \(x_M\)、原子类型 \(v_M\)、键 \(e_M\)),用 \(L\) 层 EGNN 抽 SE(3) 不变特征,最后一个非线性头输出 ES/HS 二分类概率。由于它可微,就能给扩散过程提供梯度。

下游两条路径都以 SYNC 输出 \(p_\phi(y\mid M)\) 为信号:引导扩散在采样时把 SYNC 对预测干净分子 \(\hat M_0\) 的梯度加到原子坐标和类型上,把分子往「易合成」方向推;DPO 则先用引导扩散造出成对的 (易合成 \(M^+\), 难合成 \(M^-\)) 偏好数据,再用扩散版 DPO 损失去微调生成模型。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
    A["蛋白口袋 + 3D 配体"] --> B["合成性度量基准<br/>5 数据集 × 8 指标<br/>揭示指标互相矛盾"]
    B --> C["SYNC 分类器<br/>SE(3) 不变 EGNN<br/>ES/HS 二分类"]
    C -->|梯度引导| D["引导扩散<br/>多步引导 + KNN 建边"]
    C -->|造偏好对 M+/M-| E["DPO 微调<br/>扩散版偏好优化"]
    D --> F["高可合成 + 保亲和力<br/>3D 配体"]
    E --> F

关键设计

1. ES/HS 合成性度量基准:用易/难合成代理「能不能合成」

要评估「合成性指标准不准」,得有一批标注了「能合成 vs 不能合成」的分子,但「绝对不能合成」几乎无法廉价标注。作者的巧办法是用「易合成(ES)/ 难合成(HS)」作为替代——可购买的分子天然是 ES,而 HS 比「绝对不可合成」好收集得多。基于此搭起 5 个数据集(Enamine 库存作 ES,TS1/TS2/TS3 与 Nonpher-Test 含 ES/HS 标注),在上面跑 8 个经典指标做分类准确率对比。结论很扎实:规则法在特定数据集上塌方(SA、SYBA 在 TS3 上准确率掉到 0.57 左右),逆合成法 AizynthFinder 虽真阳性高却会漏判、且 10K 分子要 17 万秒不可用于大规模筛选,学习法整体更好但算力重。这套基准既是后文 SYNC 的擂台,也第一次把「指标互相矛盾」量化了出来。

2. SYNC:SE(3) 不变 3D 分类器,把键角与位阻这些 3D 信息纳入合成性判断

针对现有学习法忽略 3D 构象的痛点,作者论证一个好的合成性分类器应同时满足四条性质:(能大规模筛选)、可微(能接进扩散做引导)、3D 感知(键角、空间位阻这类决定可合成性的因素只在 3D 才看得见)、SE(3) 不变(合成性本就不该随平移旋转改变)。SYNC 用 \(L\) 层 EGNN(EGCL 层)作骨干:每层以 \(x_M^{(l)}, v_M^{(l)}, e_M\) 为输入更新坐标与类型特征,最终从 \(x_M^{(L)}\) 经非线性变换预测合成性,满足 \(\mathrm{SYNC}(T_g(x_M,v_M,e_M))=\mathrm{SYNC}(x_M,v_M,e_M)\) 对任意 SE(3) 变换 \(T_g\) 成立。作者刻意没把网络做复杂,优先保证推理速度。效果上 SYNC 在 5 数据集平均排名第 1(2.0),既胜过规则/逆合成法,也因 3D 信息超过传统学习法——消融里把它换成 1D 指纹、1D SMILES、2D 图都明显变差,验证了 3D 的价值。

3. 引导扩散:用 SYNC 梯度把采样推向「易合成」,并解决扩散里的键缺失问题

把 SYNC 当作预训练分类器 \(p_\phi(y\mid M_t)\) 接进去噪过程:\(p_{\theta,\phi}(M_{t-1}\mid M_t,P,y)\propto p_\theta(M_{t-1}\mid M_t,P)\,p_\phi(y\mid M_t)\)。但 SYNC 只在真实构象上训过、没见过扩散中间态,条件分数难算,于是用去噪网络预测的干净分子 \(\hat M_0=p_\theta(M_0\mid M_t,t,P)\) 来近似 \(\nabla p_\phi(y\mid M_t)\approx\nabla p_\phi(y\mid \hat M_0)\),再把这个梯度分别加到连续原子坐标采样和(经 Gumbel-softmax 的)离散原子类型采样上,强度由 \(\lambda_x,\lambda_v\) 控制。

这里有两个关键工程设计。其一是多步引导:扩散步 \(t\to 0\) 时模型会「扩散固化」、原子被钉死在某些空间模式,单纯放大 \(\lambda_x\) 又会把原子推得太远导致键断裂、分子碎成孤立原子——所以改为在单个扩散步内做多次引导,在后期把合成性猛拉一把。其二是 KNN 建边:扩散过程本身不含化学键,而 SYNC 需要键。作者训练 SYNC 时只用真实键的连接、忽略键类型(消融证明无害),引导时按每个原子的最大化合价找 K 近邻连边、过滤掉长于 2.0 Å 的键并保证双向,从而解决扩散生成里的原子-键不一致。

4. DPO with SYNC:用 SYNC 造高质量偏好对,再微调生成模型

引导扩散是免训练的,DPO 则把可合成性「固化」进模型权重。DPO 的命门是偏好数据从哪来——直接用扩散模型采样不行,因为绝大多数生成分子都是难合成的。作者的做法是复用上面的引导机制:对同一口袋,加梯度生成易合成的 \(M^+\)、减梯度生成难合成的 \(M^-\),凑成成对偏好数据。与「直接拿分类器当 reward」的旧路线不同,这里 SYNC 是用来「造数据」的。随后用扩散版 DPO 损失微调:

\[L_\theta=-\mathbb{E}_{(P,M^+,M^-)\sim D,\,t\sim U(0,T)}\log\sigma\Big(-\beta T\omega(\lambda_t)\big[L_D(M^+,p_\theta)-L_D(M^+,p_{\mathrm{ref}})-L_D(M^-,p_\theta)+L_D(M^-,p_{\mathrm{ref}})\big]\Big)\]

其中 \(L_D\) 是原始扩散损失,\(p_{\mathrm{ref}}\) 是冻结的原模型防止跑偏,\(\beta\) 控制 DPO 强度。直觉上它鼓励模型在 \(M^+\) 上比在 \(M^-\) 上有更高生成概率,从而整体提升合成性。相比引导扩散,DPO 推理时不必反复算梯度,因此更快;代价是 SYNC 指标上的提升不如直接梯度引导那么猛。

损失函数 / 训练策略

SYNC 在一个含数百万 3D 分子、且剔除测试分子的独立数据集上训练。DPO 微调用 CrossDocked2020 训练集采样的成对数据(为防泄露从训练集采 10K 对、过滤出 TargetDiff 的 3431 对、DecompDiff 的 1991 对),batch size 4,约 1800 次迭代(≈2 个 epoch)达到峰值,再训会因过拟合偏好集而生成碎裂分子。

实验关键数据

主实验

合成性度量基准(5 数据集分类准确率,越高越好;SYNC 平均排名第 1):

指标 TS1 TS2 TS3 Nonpher-Test Enamine 平均排名
AizynthFinder(逆合成) 0.9535 0.7509 0.7511 0.5688 0.8061 6.0
SA(规则) 0.9853 0.8090 0.5667 0.8313 0.9844 4.0
GASA(学习) 0.9850 0.8010 0.7590 0.9188 0.9538 3.0
SYNC(本文) 0.9911 0.8406 0.7564 0.9313 0.9520 2.0

把 SYNC 接进 SBDD 范式后,生成分子的合成性几乎在所有指标上一致提升(以 TargetDiff 为骨干,SYNC 指标提升尤为显著):

方法 SYNC↑ SA↑ Aizynth↑ SYBA↑
TargetDiff(骨干) 0.1958 0.601 0.1124 -41.991
TargetDiff-Guide 0.3977 (+100.3%) 0.626 (+4.2%) 0.1365 (+21.4%) -33.123 (+21.1%)
TargetDiff-DPO 0.2385 (+21.8%) 0.626 (+4.2%) 0.1283 (+14.1%) -34.396 (+18.1%)

结合亲和力基本不掉甚至偶有提升(Vina Dock,越负越好):TargetDiff 平均 -7.42 → Guide -7.75(-0.33)、DPO -7.58(-0.16),即合成性大涨的同时亲和力还略好。

消融实验

配置 关键观察 说明
SYNC (3D) 5 数据集多数第一 完整模型
SYNC-1D-FPS / 1D-SMILES / 2D-Graphs 普遍下降(如 1D-FPS 在 Nonpher-Test 仅 0.825) 去掉 3D 信息明显变差
SYNC-Edge 与 SYNC 差距极小 建模键类型对合成性不关键
引导:Constant 比 vanilla 还差 早期分子未成形,引导有害
引导:Strong 合成性升但分子碎裂 \(\lambda\) 过大把原子推太远
引导:Multi-Step 后期合成性陡升 本文主设置(step 600 起)

关键发现

  • 3D 信息是 SYNC 的胜负手:换成 1D/2D 模态全面掉点,印证键角、空间位阻只能在 3D 体现。
  • 引导时机比强度更重要:早期(Constant)引导反而有害,因为分子还没成形;只在后半程做多步引导才能在最后阶段把合成性拉起来,单纯加大强度会撕碎分子。
  • Guide vs DPO 的取舍:引导扩散在 SYNC 指标上提升最猛(直接吃梯度),但推理慢;DPO 提升温和却推理快、且把能力固化进权重,1800 迭代(≈2 epoch)后过拟合开始生成碎裂分子。
  • 骨干越复杂收益越小:DecompDiff 生成更大分子、天然更难合成,提升幅度低于 TargetDiff。

亮点与洞察

  • 用 ES/HS 代理「可合成性」绕开标注难题:绝对不可合成的分子几乎无法廉价标注,改用易/难合成对比,既能建基准又务实,是可迁移到任何「难标注负样本」场景的思路。
  • 一个分类器三用:SYNC 既是评估度量、又是扩散梯度引导信号、还是 DPO 偏好数据的生成器——「可微 + SE(3) 不变」这两条性质让它身兼数职。
  • 「造数据」而非「当 reward」喂 DPO:用引导机制主动合成正负偏好对,绕开了「直接采样几乎全是难合成分子」的数据困境,这点比把分类器直接当 reward 更聪明。
  • 合成性与亲和力非零和:可合成分子往往构象更稳定、更贴合口袋,所以提升合成性时亲和力没掉甚至略升,挑战了「优化合成性必牺牲结合」的直觉。

局限与展望

  • 作者明确承认这是一项探索性工作,缺少湿实验验证,留作未来工作——SYNC 再准也只是计算代理。
  • 度量基准建立在「ES/HS 代理不可合成性」的假设上,ES/HS 标签本身来自前人不同工作,可能引入标注偏差;SYNC 也是在这些代理标签上学的,存在「评估者和被评估范式同源」的隐忧。
  • 只在 TargetDiff、DecompDiff 两个骨干上验证,且对更复杂、生成更大分子的 DecompDiff 提升明显变小,方法对「天然难合成」骨干的适用性有限。
  • 引导扩散推理慢、强度敏感(Strong 撕碎分子、Weak 几乎无效、Constant 有害),实际部署需要小心调 \(\lambda_x,\lambda_v\) 和引导时机。

相关工作与启发

  • vs 传统合成性指标(SA / AizynthFinder / GASA 等):它们要么只定性(规则法)、要么极慢(逆合成法)、要么忽略 3D(学习法)且互相矛盾;SYNC 用 SE(3) 不变 3D 分类器在准确率和速度间取得最佳折中,还可微可引导。
  • vs building-block / GFlowNet 类可合成分子设计:那些方法基于可购买片段和反应模板生成,大多只产 2D 分子、要额外把 2D docking 进 3D 口袋;本文直接在 3D 生成、一步出可合成且高亲和力的构象,无需 2D→3D 映射和多次 docking。
  • vs ChemProjector(把分子投影到可购买片段):ChemProjector 逐片段投影会大改结构;本文主要通过对原子类型/坐标的局部微调提升合成性,结构改动更小、更保亲和力。
  • vs DecompOPT / 直接拿分类器当 reward 的 DPO:本文不把 SYNC 当 reward,而是用它生成高质量偏好对再做扩散版 DPO,绕开了偏好数据全是难合成分子的困境。

评分

  • 新颖性: ⭐⭐⭐⭐ 「分类器即度量 + 即引导 + 即数据生成器」三位一体的设计很巧,但单个组件(EGNN、引导扩散、DPO)都是已有积木的组合。
  • 实验充分度: ⭐⭐⭐⭐ 5 数据集基准 + 8 指标 + 11 SBDD 方法 + 9 合成性指标 + 亲和力 + 多项消融,相当扎实;缺湿实验验证。
  • 写作质量: ⭐⭐⭐⭐ 动机清晰、基准→度量→范式三段递进,公式与图表完整。
  • 价值: ⭐⭐⭐⭐ 直指 SBDD 落地的可合成性瓶颈,即插即用、不损亲和力,对实际药物设计有现实意义。