386

ASKCOS:MIT 合成规划平台介绍

ASKCOS 是 MIT 的开源合成规划平台,覆盖逆合成、反应预测与条件推荐。这篇讲清它的模块构成、部署方式与适用场景。

ASKCOS(MIT)是功能最全面的开源合成规划平台。与 AiZynthFinder 专注逆合成不同,ASKCOS 把逆合成、正向反应预测、条件推荐、可行性评估整合在一起,是理解「合成 AI 全链」的好载体。

模块构成

模块 功能
逆合成规划 树搜索 + 模板/无模板策略
正向反应预测 给定反应物预测产物(见 388《反应产物预测》
条件推荐 预测催化剂、溶剂、试剂、温度(见 389《反应条件与产率预测》
产率预测 估计反应产率
杂质预测 预测可能的副产物
位点选择性 预测反应发生在哪个位点
可购买性查询 判断化合物是否可得
SCScore 合成复杂度评分(见 390《合成可及性再讨论》

「逆合成 + 正向验证」的闭环是它的特色:逆合成提出一个切断后,可以用正向反应模型检验「这两个前体真的能反应生成目标产物吗」,从而剔除不合理的建议。

部署

# 推荐用 Docker 部署(依赖较多)
git clone https://github.com/ASKCOS/askcos-base.git
cd askcos-base

# 按官方文档配置并启动各服务
# 包含:Web 界面、API 服务、模型服务、数据库
docker compose up -d

# 访问 http://localhost 使用 Web 界面

# 部署较重:需要较大磁盘(模型与数据)与内存
# 若只需逆合成,AiZynthFinder(见 385)轻量得多

API 调用

import requests

BASE = "http://localhost/api/v2"

# 1) 逆合成树搜索
r = requests.post(f"{BASE}/tree-builder/", json={
    "smiles": "CC(=O)Oc1ccccc1C(=O)O",
    "max_depth": 5,
    "max_branching": 25,
    "expansion_time": 60,
    "template_count": 100,
    "filter_threshold": 0.75,
})
task_id = r.json()["task_id"]

# 轮询结果
result = requests.get(f"{BASE}/celery/task/{task_id}/").json()

# 2) 正向反应预测
r = requests.post(f"{BASE}/forward/", json={
    "reactants": "CC(=O)O.OCC",
    "reagents": "",
    "solvent": "",
    "num_results": 5,
})
for p in r.json()["output"]:
    print(f"{p['smiles']}  概率 {p['prob']:.3f}")

# 3) 条件推荐
r = requests.post(f"{BASE}/context/", json={
    "reactants": "c1ccc(Br)cc1.OB(O)c1ccccc1",
    "products": "c1ccc(-c2ccccc2)cc1",
    "num_results": 5,
})
for ctx in r.json()["output"]:
    print(f"温度 {ctx['temperature']:.0f}°C")
    print(f"  溶剂: {ctx['solvent']}")
    print(f"  试剂: {ctx['reagent']}")
    print(f"  催化剂: {ctx['catalyst']}")

与 AiZynthFinder 怎么选

维度 AiZynthFinder ASKCOS
功能范围 专注逆合成 全链条
部署难度 pip install 即可 需 Docker 多服务
资源需求 较重
集成难度 易嵌入 Python 流程 需通过 API
条件预测
正向验证 有过滤模型 完整的正向预测
批量处理 方便 需自建队列

选择建议:只需要「这个分子能不能合成」的批量筛选 → AiZynthFinder;需要完整的合成规划辅助(含条件推荐)→ ASKCOS。

正向反应预测的价值

这是 ASKCOS 相对逆合成专用工具的关键增量:

  • 验证逆合成建议:逆合成说「A + B → C」,正向模型检验这个反应是否真的会给出 C(而不是别的产物);
  • 预测副产物:反应可能生成什么杂质,有助于提前规划纯化;
  • 位点选择性:分子有多个反应位点时,反应会发生在哪个——这是合成规划中很实际的问题
  • 官能团兼容性:分子中的其它官能团会不会干扰。

用于教学与理解

ASKCOS 的一个被低估的价值是它把合成 AI 的各个环节都摆出来了

  • 想理解「模板是怎么从反应数据中提取的」→ 看它的模板提取代码;
  • 想理解「树搜索怎么工作」→ 看它的搜索实现;
  • 想理解「条件预测建模成什么问题」→ 看它的条件推荐模块;
  • 对要自建合成 AI 能力的团队,它是很好的参考实现。

局限

  • 部署门槛:多服务架构,维护成本不低;
  • 训练数据同样有偏:主要基于 USPTO 反应,与 AiZynthFinder 面临同样的「只见过成功反应」问题;
  • 条件预测精度有限:给出的是「统计上常见的条件」,不是「针对这个具体底物的最优条件」;
  • 产率预测参考价值低:这是整个领域的共同短板;
  • 仍需化学家评审:所有输出都是建议而非方案。

上手提示

  • 它的特色是「逆合成 + 正向验证 + 条件推荐」的完整闭环
  • 部署较重,只需逆合成批量筛选时用 AiZynthFinder 更省事;
  • 正向反应预测能检验切断合理性、预测副产物与位点选择性;
  • 作为自建合成 AI 能力的参考实现,它的价值被低估。

延伸资源