286

Iktos Spaya:逆合成规划平台如何辅助合成

Iktos Spaya 是逆合成规划平台,帮助把设计的分子落到可执行的合成路线。这篇讲清逆合成 AI 的工作方式、路线评估标准与开源替代。

Spaya 是 Iktos 的逆合成规划平台:输入一个目标分子,输出可能的合成路线。它解决的是 AI 分子设计的「最后一公里」问题——设计出来的分子必须能被合成,否则没有任何价值

逆合成 AI 怎么工作

  • 单步逆合成模型:给定目标分子,预测可能的前体与反应类型。通常用基于模板(从反应数据库提取的规则)或无模板(序列到序列 / 图到图)的方法。
  • 路线搜索:递归应用单步模型,用蒙特卡洛树搜索(MCTS)或 A* 等算法探索路线树,直到所有叶节点都是可购买的起始原料
  • 路线打分:按步数、预估产率、原料成本与可得性、反应可靠性排序。
  • 可得性判断:需要一个采购化合物数据库来判断什么算「起点」,这是路线搜索的终止条件。

怎么评估一条路线

维度 关注点
步数 线性步数越少越好;汇聚式路线优于线性路线
起始原料 是否现货可得?价格如何?(见 232《Mcule》233《eMolecules》
反应可靠性 是否为成熟的常规反应?有无文献先例?
官能团兼容性 分子中其他官能团是否会干扰?需不需要保护基?
立体化学 手性中心怎么构建?需要拆分还是不对称合成?
放大可行性 是否涉及危险试剂、极端条件、难以放大的操作?

汇聚式(convergent)路线是关键概念:把分子拆成两个大片段分别合成再连接,比线性地一步步加长要好得多——线性路线的总产率是各步产率的连乘,步数一多总产率就极低。

开源替代方案

# AiZynthFinder(阿斯利康开源,见 385)
pip install aizynthfinder
download_public_data .        # 下载公开的模板与库存数据

aizynthcli --config config.yml --smiles "目标分子 SMILES"
from aizynthfinder.aizynthfinder import AiZynthFinder

finder = AiZynthFinder(configfile="config.yml")
finder.stock.select("zinc")
finder.expansion_policy.select("uspto")
finder.filter_policy.select("uspto")

finder.target_smiles = "Cc1ccc(cc1)S(=O)(=O)Nc1ccc(cc1)C(=O)O"
finder.tree_search()
finder.build_routes()

stats = finder.extract_statistics()
print("是否找到完整路线:", stats["is_solved"])
print("最短路线步数:", stats["number_of_steps"])
for i, route in enumerate(finder.routes[:3]):
    print(f"路线 {i}: 得分 {route['score']:.3f}")

其他选项:ASKCOS(MIT,见 395《共晶 Cocrystal》,功能更全但部署较重)、RXN for Chemistry(IBM,在线免费额度)、Retro* 等学术实现。

逆合成 AI 的能力边界

  • 训练数据偏向已发表反应:模型从 USPTO 专利反应等数据学习,失败的反应不会被发表,所以模型对「什么行不通」了解有限。这导致它可能自信地给出实际不可行的路线。
  • 不理解真实的反应条件细节:温度、溶剂、催化剂用量、加料顺序等对成败至关重要的细节,模型的把握有限。
  • 官能团兼容性判断不足:复杂分子中多个官能团的相互干扰、保护基策略,是模型的弱项。
  • 产率预测不可靠:预估产率的参考价值有限。
  • 结论把它当作「给合成化学家提供思路的工具」,而不是「自动生成可执行方案的系统」。最终路线必须由有经验的合成化学家评审。

在 AI 设计流程中的位置

最有价值的用法是把逆合成评估前置到生成阶段:不是先生成一千个分子再挨个查合成路线,而是把「能否找到合理路线」作为生成时的打分项之一。这样产出的分子从一开始就偏向可合成的区域,大幅减少无效设计。

提示

商业平台功能与定价变动较快,本文为方向性介绍,采购前请核对官方最新信息。逆合成 AI 的产出必须经合成化学家评审——模型没见过失败的反应,可能自信地给出行不通的路线。

延伸资源