SynOmega¶
SynOmega 涵盖有机小分子反应相关的多种预测功能,包括单步正向反应预测、单步逆向反应预测、多步反应路径规划、可合成性评分等。
为什么分三层¶
SynOmega 的核心是三个解耦的层,每层只认一个很窄的接口,因此可以各自替换、各自评测:
flowchart TD
A["可合成性评分<br/>synthesizability"] --> B["多步搜索<br/>search(Retro* / MCTS / best-first)"]
B --> C["单步模型<br/>single-step:product SMILES → 候选反应物"]
A -.问.-> A1["目标能否在 N 步内<br/>由可购原料到达?"]
B -.在.-> B1["AND-OR 图上搜索路径"]
C -.答.-> C1["一次拆一步"]
层与层之间只通过一个刻意收窄的接口相接——单步后端只需实现
predict(smiles, top_k) -> [Prediction]——所以规划器(planner)和评分器
(scorer)不关心候选到底来自图神经网络、Transformer 还是纯模板匹配。
上面的逆向单步、多步搜索、可合成性评分三者构成 SynOmega 的主线;另外两项功能与它们共享同一套反应模板与图模型:
- 单步正向反应预测(forward):反应物 → 产物,是逆合成单步模型的"镜像",复用同一套反应模板库。
- 反应合理性评分(plausibility):给一个反应打一个"它在化学上合不合理"的分数。
技术栈一览¶
| 能力 | 方法内核 |
|---|---|
| 单步逆合成 | D-MPNN 神经模板分类器(也可退化为纯模板规则后端,无需 torch) |
| 单步正向预测 | 同一 D-MPNN 模板分类器的镜像 + RDKit 模板正向应用 |
| 多步路径规划 | Retro* 为默认,另含 MCTS、best-first,均在 AND-OR 图上搜索 |
| 可合成性评分 | 基于最优路径中"不可购起始物数量"的连续 SynScore |
| 反应合理性 | 双塔(dual-tower)D-MPNN,无原子映射,反应物图 vs 产物图对比 |
| 分子身份 | 全流程统一用 InChIKey(去重、库存判定、缓存跨工具一致) |
文档导航¶
- 功能介绍 —— 每个功能一章,讲安装、命令行 / Python API 的使用方法(与研究报告各章一一对应)。
- 研究报告 —— 按功能模块逐章给出模型/算法架构、伪代码、训练集、评测指标与配图。评测协议、术语与数据口径集中在该章的总览里定义,各功能章引用。
用 AI agent(Claude Code / OpenClaw 等)?
装 SynOmega skill,agent 就能直接调用全部六项能力:clawhub install synomega。
源码与手动安装见 github.com/zbc0315/synomega-skill。
关于训练数据的口径
文中所有模型均训练于一份大规模原子映射反应语料(atom-mapped commercial reaction corpus)。原始反应不随软件分发;对外发布的是训练好的模型权重。各评测 集(ZINC 可购砌块集、ChEMBL 靶集)的抽样口径见总览。