A Genetic Algorithm for Navigating Synthesizable Molecular Spaces¶
会议: ICLR 2026
arXiv: 2509.20719
代码: https://github.com/alstonlo/synga
领域: 分子设计 / 优化
关键词: 遗传算法, 可合成分子设计, 合成路线, 贝叶斯优化, 构建块过滤
一句话总结¶
提出 SynGA,一种直接在合成路线(合成树)上操作的遗传算法,通过自定义的交叉和变异算子将搜索严格约束在可合成分子空间内,结合 ML 驱动的构建块过滤实现 SOTA 的可合成类似物搜索和属性优化性能。
研究背景与动机¶
- 领域现状:分子设计中的生成模型 (VAE, RL, GFlowNet, LLM) 发展迅速,但经典的遗传算法因其简洁性、样本效率和探索能力仍然极具竞争力。
- 现有痛点:大多数分子生成模型不考虑可合成性,可能提出不稳定或无法合成的设计,这是实际应用的主要障碍。事后使用逆合成模型虽可缓解但计算开销大(每次评估需数分钟)。现有的合成约束 GA 方法需先训练 ML 投影模型将分子映射回合成空间,有前期训练成本且受限于投影质量。
- 核心矛盾:需要在庞大的离散组合分子空间中高效搜索,同时保证生成的分子有可行的合成路线。
- 本文要解决什么? 设计一个轻量级的、通过构造保证可合成性的遗传算法,作为独立基线和模块化组件使用。
- 切入角度:不是先生成再验证,而是直接在合成树上定义遗传算子,使搜索空间自始至终限制在可合成分子中。
- 核心 idea 一句话:通过在合成树上定义交叉/变异算子,让 GA 搜索天然受限于可合成空间,再用 ML 引导的构建块过滤加速聚焦。
方法详解¶
整体框架¶
输入为构建块集合 \(\mathcal{B}\)(约 20 万个可购买分子)和反应模板集合 \(\mathcal{R}\)(91 个),输出为优化目标下的最优可合成分子及其合成路线。核心 pipeline:GA 在合成树空间 \(\mathcal{T}\) 上迭代进化,每棵合成树叶节点为构建块、内部节点为反应。
关键设计¶
- 合成树上的遗传算子:
- 做什么:定义直接在合成树上操作的交叉和变异算子
- 核心思路:交叉——枚举两棵亲本树的子树,找到可通过某个双分子反应连接的兼容子树对,在新根节点处用随机兼容反应连接。变异——5 种操作:Grow(用新反应扩展)、Shrink(取子树)、Rerun(保持结构重采样产物)、Change Internal(换反应)、Change Leaf(换构建块)
-
设计动机:由于合成树的每个节点都满足"叶节点是构建块,内部节点是有效反应"的约束,任何遗传操作产生的后代都自动是有效的合成路线。无需事后验证或投影
-
ML 引导的构建块过滤(类似物搜索):
- 做什么:训练一个轻量 MLP 分类器预测哪些构建块可能用于合成目标分子的类似物
- 核心思路:学习 \(\pi_\theta: \mathcal{M} \times \mathcal{B} \to (0,1)\),将 20 万构建块过滤到相关子集。使用 \(\varepsilon\)-过滤策略:以概率 \(1-\varepsilon\) 从过滤后的集合采样,以概率 \(\varepsilon\) 从全集采样
-
设计动机:20 万构建块的搜索空间巨大,ML 过滤可有效聚焦相关区域而不牺牲搜索完整性
-
块加性模型 + 贝叶斯优化 (SynGBO):
- 做什么:用神经加性模型 (NAM) 为每个构建块打分来过滤,嵌入贝叶斯优化外循环
- 核心思路:NAM 建模 \(\rho_\theta(\mathcal{B}_M) = (\alpha + (1-\alpha)|\mathcal{B}_M|^{-1})\sum_{B \in \mathcal{B}_M} s_\theta(B)\),用排序损失而非回归损失训练。外循环用 GP 代理模型引导 SynGA 最大化采集函数
- 设计动机:属性优化中不知道目标分子,无法用分类方式过滤,但 NAM 的可解释性允许直接为构建块排序实现过滤
损失函数 / 训练策略¶
类似物搜索的过滤器用二元交叉熵训练;属性优化的 NAM 用 pairwise ranking loss 训练;GP 代理用高斯过程标准训练。GA 使用精英选择策略,种群大小 500,后代大小 5。
实验关键数据¶
主实验¶
可合成类似物搜索 (ChEMBL, 100 分子):
| 方法 | Morgan Sim↑ | Scaffold Sim↑ | Gobbi Sim↑ | Subset Sim↑ |
|---|---|---|---|---|
| SynGA (无过滤) | 0.313 | 0.372 | 0.536 | 0.397 |
| SynGA + MLP | 0.380 | 0.452 | 0.607 | 0.465 |
| SynGA + MLP+Mine | 0.393 | 0.465 | 0.617 | 0.475 |
| SynNet | 0.325 | 0.383 | 0.549 | 0.427 |
| Pasithea | 0.278 | 0.310 | 0.491 | 0.361 |
属性优化 (PMO Benchmark, GuacaMol 子集):
| 方法 | Top-10 AUC↑ | 合成可行性 |
|---|---|---|
| SynGBO | SOTA | 保证可合成 |
| Graph GA | 高但无合成保证 | 不保证 |
| REINVENT | 较高 | 不保证 |
消融实验¶
| 配置 | Morgan Sim↑ | 说明 |
|---|---|---|
| SynGA 无过滤 | 0.313 | 基线 |
| + Sim 启发式过滤 | 0.336 | 简单启发式有一定帮助 |
| + MLP 过滤 | 0.380 | ML 过滤显著提升 |
| + MLP + Hard Negative Mining | 0.393 | 难负样本挖掘进一步提升精度 |
关键发现¶
- SynGA 无需任何 ML 组件即可作为强基线,加入构建块过滤后达到 SOTA
- Rerun 变异是独特的设计——固定合成树结构但重新采样产物,能高效探索同一骨架的变体
- 20 万构建块的过滤可将有效搜索空间缩小数个数量级,对性能提升至关重要
- SynGBO 在属性优化中表现优异,NAM 的排序损失比回归损失更适合过滤用途
亮点与洞察¶
- 构造式可合成保证:不是"生成-验证"范式,而是搜索空间本身就是可合成空间,这是方法论上的根本优势。搜索过程中生成的每个分子都自带合成路线
- 模块化设计哲学:SynGA 是轻量级的无 ML 基础组件,可以方便地嵌入更大的工作流(如贝叶斯优化),体现了好的工程设计——简单核心 + 可选增强
- Rerun 变异的巧妙:在保持合成骨架不变的前提下探索化学空间,相当于"同一条合成路线可以产出不同的分子",利用了合成路线中的歧义性
局限性 / 可改进方向¶
- 依赖预定义的反应模板库(91 个模板),可能错过模板外的合成路线
- 构建块集合固定为 Enamine 商业目录,限制了化学空间的覆盖范围
- NAM 的加性假设对复杂的非线性属性建模能力有限
- 合成路线最多 5 步,可能无法覆盖需要更长合成路线的复杂分子
相关工作与启发¶
- vs Graph GA: 传统分子图 GA 搜索能力强但不保证可合成性;SynGA 通过在合成树上操作自动保证可合成,性能相当
- vs SynNet/Pasithea: 这些基于 ML 的投影方法需要训练额外的投影模型;SynGA 核心是无 ML 的,更简单且可靠
- vs RetroGNN (Gao et al., 2024): 也做合成感知 GA 但用训练好的投影网络做约束;SynGA 直接在合成空间中搜索,避免了投影误差
评分¶
- 新颖性: ⭐⭐⭐⭐ 在合成树上定义 GA 算子的想法虽非首创但实现精良,构建块过滤的 ML/GA 融合方式新颖
- 实验充分度: ⭐⭐⭐⭐⭐ 类似物搜索 + 属性优化 + 2D/3D 目标,全面覆盖分子设计任务,消融详尽
- 写作质量: ⭐⭐⭐⭐⭐ 方法描述清晰精确,形式化定义严谨,代码开源
- 价值: ⭐⭐⭐⭐ 为分子设计提供了实用的可合成搜索工具,开源代码可直接使用