跳转至

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 靶集)的抽样口径见总览