

论文全称:Generative Flows on Synthetic Pathway for Drug Design 发表会议:ICLR 2025 作者机构:KAIST · Simon Fraser University · POSTECH · HITS 通讯作者:Seonghwan Seo、Woo Youn Kim 开源代码:https://github.com/SeonghwanSeo/RxnFlow
结构导向药物发现(Structure-Based Drug Discovery, SBDD)是现代药物研发的核心范式之一。随着 AlphaFold 等蛋白质结构预测工具的普及和高分辨率晶体学技术的成熟,研究者可以更便捷地获取靶标蛋白的三维结构,为基于结构的分子设计提供了前所未有的基础。
传统的虚拟筛选方法(Virtual Screening)虽然有效,但面临巨大的计算代价:化学空间估计包含约 10^60 个类药分子,暴力穷举式筛选在计算上根本不可行。这促使研究者转向深度生成模型,期望通过学习分子-靶标相互作用的分布来直接生成候选分子。
现有深度生成模型(包括扩散模型、VAE、GAN 等)在提升分子对接分数和药物类药性方面已取得显著进展,但普遍存在一个致命弱点:生成的分子往往无法在实验室中被合成。
这一问题的严重性体现在多个层面:
一种从根本上解决合成可及性问题的思路是:将合成路径直接内嵌进分子生成过程。具体而言,将分子生成建模为一个顺序决策过程:从商业可购买的砌块(Building Blocks)出发,按照真实的化学反应模板逐步组装,每一个生成的分子自动附带其合成路径。
这一思路的工业背景是 Enamine REAL 等虚拟库的出现——通过组合枚举商业砌块和反应模板,可以构建出数十亿乃至上百亿规模的"按需可合成"化学空间,其中每个分子都有明确的合成方案。
然而,这条路线也面临一个核心挑战:动作空间规模巨大。当砌块库包含百万级分子时,每一步反应的候选动作空间极其庞大,导致传统方法不得不大幅压缩可用砌块数量,牺牲化学多样性换取计算可行性。
RxnFlow 的核心贡献,正是在不妥协化学多样性的前提下,解决这一规模瓶颈。
类型 | 代表方法 | 原理 | 局限 |
|---|---|---|---|
原子级生成 | TargetDiff, DiffSBDD, DecompDiff | 扩散模型直接生成原子坐标 | 合成可及性差 |
自回归模型 | Pocket2Mol | 逐原子/片段自回归 | 合成可及性差 |
贝叶斯流网络 | MolCRAFT | 连续参数空间生成 | 合成可及性差 |
GFlowNet | TacoGFN | 片段组装 + 奖励比例采样 | SA Score 近似不精准 |
方法 | 核心思想 | 局限 |
|---|---|---|
Bradshaw et al. (2019) | 合成路径建模为 DAG | 规模受限 |
Horwood & Noutahi (2020) | MDP + 强化学习 | 仅优化单一目标 |
SynNet (Gao et al., 2022b) | 遗传算法优化合成树 | 多样性不足 |
BBAR (Seo et al., 2023) | 条件生成模型 | 无法进行在线优化 |
SynFlowNet (Cretu et al., 2024) | 反应基 GFlowNet | 砌块库规模受限(6k-220k),层次化 MDP 适应性差 |
RGFN (Koziarski et al., 2024) | 反应基 GFlowNet | 砌块库规模受限(350-64k),层次化 MDP 适应性差 |
GFlowNet(Bengio et al., 2021)是一种训练随机生成策略的学习框架,使生成对象的概率正比于其奖励函数值。与仅最大化奖励的强化学习不同,GFlowNet 天然支持从多个高奖励模式中采样,这对于需要探索化学多样性的药物发现任务尤为重要。
训练目标方面,本文采用 轨迹平衡(Trajectory Balance, TB)目标(Malkin et al., 2022),其相比流匹配(Flow Matching)和详细平衡(Detailed Balance)具有更好的信用分配特性和收敛稳定性。
GFlowNet 在有向无环图 上定义生成过程,其中 为可达状态空间, 为动作空间。给定终止状态 ,轨迹流定义为 ,即终止状态的奖励值。

流匹配条件(中间状态):
边界条件:
前向/后向策略:
满足上述条件时,生成策略自动实现 。
轨迹平衡损失(本文训练目标):
本文遵循 Cretu et al. (2024) 的框架,将化学反应建模为状态转移,合成路径建模为轨迹。动作空间定义如下:
初始状态 :执行 AddFirstReactant,从砌块集合 (120万个 Enamine 商业砌块)中选择起始分子。
后续状态 :可选动作为:
Stop:终止当前轨迹ReactUni:执行单分子反应(13种模板)ReactBi:执行双分子反应,选择模板 (58种,考虑反应物顺序后为116种)及对应砌块 形式化为:
其中,与当前分子不相容的反应模板会被掩码(masking)。整个动作空间规模约为 数量级(模板-砌块对),这是导致计算瓶颈的直接原因。
对于后续状态,双分子反应的动作数量级为 ,在 GPU 显存和计算时间上均不可承受。SynFlowNet 和 RGFN 通过限制砌块库大小(6k-220k)来规避这一问题,代价是丧失化学多样性。
RxnFlow 引入辅助子采样策略,在每步转移时从完整动作空间 中采样一个子集 :
Stop 和 ReactUni 动作(数量少,不能丢弃稀有动作类型);对每个双分子模板 ,均匀采样子集 计算复杂度从 降至 。
为从子集 无偏地估计状态流 ,对每个动作赋予权重:
估计状态流:
可以严格证明,该估计是无偏的:
子采样引入的轨迹平衡损失偏差可以量化为:
关键结论:偏差与采样数量()强相关,与采样比例()弱相关。这意味着只要保证足够的绝对采样量,即使面对百万级砌块库,偏差也可控。玩具实验验证了在 1% 采样比下, 的偏差小于 0.005,轨迹平衡损失与真实值几乎一致。
SynFlowNet 和 RGFN 采用层次化 MDP:先选择反应模板 ,再从 中选择砌块 :
问题在于:模板选择概率在训练后固定。若修改砌块库(如排除含有特定官能团的砌块),模板的流量估计会出现系统性偏差——某些模板下可用砌块大幅减少,但模板本身的选择概率却无法相应调整(如图 2(a) 所示)。

RxnFlow 联合选择(模板, 砌块)对:
当砌块库发生变化时,分母自动重新归一化,无需重训练即可获得准确的策略估计。这一特性使 RxnFlow 能够:
当然,非层次化 MDP 的代价是计算开销更大(分母需要遍历所有模板-砌块对),但动作空间子采样恰好弥补了这一不足。
为避免为每个砌块维护独立参数(这在百万级砌块下不可行),RxnFlow 使用一个共享网络 将砌块 编码为连续向量,输入特征包括:
边流计算(以双分子反应为例):
其中 为反应模板的 one-hot 编码, 表示向量拼接。
不同于简单均匀后向策略,本文设计的后向转移概率正比于沿该入边到达当前状态的期望轨迹数量,以鼓励较短的合成路径(对应于更低的合成复杂度和成本)。
命中率(Hit Ratio):分子同时满足合成可及性(AiZynthFinder 验证)且对接分优于已知参考配体的比例
方法 | ADRB2 | ALDH1 | ESR_ago | ESR_antago | FEN1 |
|---|---|---|---|---|---|
FragGFN | 4.00 | 3.75 | 0.25 | 0.25 | 0.25 |
SynFlowNet | 52.75 | 57.00 | 30.75 | 11.25 | 53.00 |
RGFN | 46.75 | 39.75 | 4.50 | 1.25 | 19.75 |
RxnFlow | 60.25 | 63.25 | 71.25 | 46.00 | 65.50 |

合成步骤数(越少越好,关联合成成本和产率):
方法 | 平均步骤数 |
|---|---|
FragGFN | ~3.7 |
SynFlowNet | ~2.55 |
RGFN | ~2.80 |
RxnFlow | ~2.15 |
关键发现:RxnFlow 在使用更多砌块(120万 vs SynFlowNet 的 6千)的同时,反应步骤数却更少(平均约 2.15 步 vs SynFlowNet 约 2.55 步)。这验证了核心论点:更大的砌块库允许以较少步骤组装出同等复杂的分子,从而降低整体合成复杂度。
同时,RxnFlow 甚至超越了不施加合成约束的 FragGFN,表明 Enamine 砌块库作为类药化学空间的天然约束,以及较短轨迹对轨迹平衡目标的优化优势,共同带来了性能提升。
方法 | Vina (avg) | Vina (med) | QED (avg) | 合成可及率 | 多样性 | 生成时间(s) |
|---|---|---|---|---|---|---|
参考配体 | -7.71 | -7.80 | 0.48 | 36.1% | — | — |
Pocket2Mol | -7.60 | -7.16 | 0.57 | 29.1% | 0.83 | 2504 |
TargetDiff | -7.37 | -7.56 | 0.49 | 9.9% | 0.87 | 3428 |
DecompDiff | -8.35 | -8.25 | 0.37 | 0.9% | 0.84 | 6189 |
MolCRAFT | -8.05 | -8.05 | 0.50 | 16.5% | 0.84 | 141 |
MolCRAFT-large | -9.25 | -9.24 | 0.45 | 3.9% | 0.82 | >141 |
TacoGFN | -8.24 | -8.44 | 0.67 | 1.3% | 0.67 | 4 |
RxnFlow | -8.85 | -9.03 | 0.67 | 34.8% | 0.81 | 4 |

这一结果揭示了一个极为重要的现象:RxnFlow 是唯一在活性、药物性和合成可及性三个维度上同时达到实用水准的方法。
多样性方面,RxnFlow(0.81)显著优于 TacoGFN(0.67),接近基于分布学习的模型(0.83-0.87),这一优势来源于 Enamine 砌块库的化学多样性远超片段集合。
靶标特异性(Delta Score):RxnFlow 在靶标特异性上与 TacoGFN 持平(-1.13),略低于 MolCRAFT(-2.08),表明其生成的分子对目标口袋具有合理的特异性,但仍有提升空间。
以在 Sec 4.2 预训练模型上额外引入溶解性目标为例:针对 KRAS-G12C 靶标,通过将 AddFirstReactant 和 ReactBi 的可用砌块限制为 TPSA 后 15% 的低极性砌块,无需任何模型参数更新,生成的分子 TPSA 分布显著下移(更疏水),而总体奖励分布(Vina + QED)几乎不变。
这一能力依赖于非层次化 MDP 的设计:排除部分砌块后,策略估计自动重新归一化,无需重训练。相比之下,层次化 MDP 方法在修改砌块库后会出现策略估计偏差(图 13 对比结果)。

将 100 万砌块分为 50 万"已见"和 50 万"未见"两部分,仅用"已见"砌块训练。实验结果显示,在多个奖励指数()设置下,使用"未见"砌块生成的分子奖励分布与"已见"砌块几乎完全一致,证明动作嵌入实现了对化学结构的有效泛化。

进一步实验(图 15)中,将"未见"砌块限制为与训练砌块 Tanimoto 相似度 < 0.5 的结构差异较大的砌块,结果同样稳定,验证了模型对分布外砌块的鲁棒性。

砌块库大小的影响(图 6,OPRK1 靶标):

随着砌块库从 100 个扩展至 100 万个:
3D 交互建模(探索性实验):使用对接构象构建 3D 复合图作为状态输入,相比 2D 图有显著提升(图 7),验证了引入 3D 空间信息的潜力,但该功能目前仍处于探索阶段,因计算开销较大未纳入主实验。
对于均匀子采样策略,设 为大小 的集合, 为大小 的均匀子集,则估计量 的方差为:
对应 的方差(通过 Delta 方法近似):
这说明偏差随采样数量 线性可控,当 时方差趋于零。
在合成路径 DAG 中,每个状态的出边远多于入边(向前探索的可能性远多于反应物来源),且从初始状态到某状态的轨迹数量随距离增加而指数增长。均匀后向策略会导致长路径轨迹的流量被系统性低估,从而偏向短路径。RxnFlow 的后向策略设计正比于期望轨迹数量,纠正了这一偏差,有效支持不同长度的合成路径。
论文作者指出两个明确的改进方向:
此外,潜在的扩展方向还包括:多步逆合成约束(确保合成路径在每一步都满足实际合成条件)、与实验数据的主动学习结合、以及对非 Enamine 砌块库的适配。