逆合成路线规划
逆合成分析从目标分子出发,反向断开化学键,得到更简单的前体,再对前体继续拆解,直到全部落在可以购买或已有库存的原料上。计算逆合成把这个过程拆成两部分:单步模型负责对一个分子给出若干合理的断键方式和对应前体,搜索算法负责在这些选择里组织出完整的多步路线。常用的开源实现是 AiZynthFinder,它用蒙特卡洛树搜索配合从反应数据库中学到的模板策略来展开路线。输入只需要目标分子的 SMILES 和一份可购原料清单,输出是若干条候选路线及其步数、原料和每步反应类型。结果是化学假设,仍需化学家判断可行性。
什么时候用
- 设计出新分子后想快速判断能不能合成、大致几步
- 一批候选分子需要按合成难度排序,决定先做哪些
- 已有路线步数太多,想看是否存在更短的断键方案
- 想知道某个骨架可以用哪些市售原料搭出来
- 为生成式设计产生的分子做可合成性过滤
- 探索同一分子的多条备选路线,分散合成风险
不适合的情况
- 要求给出可直接执行的实验条件:程序给反应类型和前体,温度、当量、溶剂需查文献
- 含罕见元素或特殊骨架的分子:训练数据覆盖少,常拆不出或给出不合理断键
- 工艺放大与成本优化:需要考虑安全、三废和产能,不在路线搜索的目标里
需要准备的数据
- 目标分子
- SMILES,需标准化并写清立体中心。手性未标注时程序会按平面结构处理,路线可能忽略构型控制
- 可购原料库
- 一份可买到的化合物清单(SMILES 列表)。库的覆盖范围直接决定路线能否判定为已解决
- 单步模型与模板集
- 从反应数据集中提取的反应模板及对应策略模型;需与原料库来自相近的化学空间
- 搜索约束
- 最大步数、搜索时间或展开次数上限,以及需要避开的反应类型或官能团
分析步骤
- 1
准备目标结构
标准化 SMILES:去盐、统一电荷和互变异构写法,确认立体中心和双键构型标注完整。盐型和游离碱会拆出不同路线,建议对游离形式做搜索。结构写错是路线离谱最常见的原因,先把结构画出来核对一遍。
- 2
配置原料库
原料库决定搜索的终止条件。库里只放真正能及时拿到的化合物,把实验室已有库存也加进去。库太小会让大量合理路线被判为未解决,库太宽松会出现把复杂中间体当成可购原料的假性成功路线。
- 3
设置搜索参数
指定最大深度(步数上限)、单次搜索的展开次数或时间上限、每步保留的候选前体个数。深度放得过大容易返回冗长路线,过小则对复杂分子直接搜不到结果。先用较宽松的设置试跑,再按返回情况收紧。
- 4
运行路线搜索
单步模型对当前分子给出排序后的断键方案,搜索算法选择分支继续展开,命中原料库即判为该分支已解决。运行结束后先看是否找到已解决路线、找到几条,以及搜索是否因达到上限而终止。
- 5
检查路线结构
逐条看路线树:步数、每步反应类型、各步前体是否在原料库内。优先关注断键位置是否落在成熟反应上,如酰胺缩合、钯催化偶联、还原胺化、杂环环化。断键发生在骨架中央、能把分子切成两个相近大小片段的收敛式路线通常更实用。
- 6
复核化学合理性
重点检查三件事:官能团兼容性(是否有需要保护的基团被忽略)、立体化学(手性中心如何引入与保持)、化学选择性(分子中多个同类反应位点是否会竞争)。程序对这些约束的处理有限,这一步必须由化学家完成。
- 7
补条件与文献核对
对选定路线的每一步,查同类底物的已报道条件,确认有先例且收率可接受。没有先例的步骤标为风险点,考虑替换断键方式或准备备选路线。这一步决定路线从纸面可行变成实验可做。
关键参数与决策
最大步数(搜索深度)
常规药物分子的目标路线通常控制在较少步数内。深度设得大会让搜索把时间花在长路线上,返回结果难以执行;设得小则复杂分子搜不出结果。实践中先用较小深度试,搜不到再逐步放宽。
每步保留的前体数
单步模型会给出排序后的多个断键方案,保留数(beam 宽度)决定搜索的分支数。保留太少会漏掉需要几步后才显出优势的断键,保留太多会让搜索树爆炸、耗时显著增加。
原料库范围
是否把结构较复杂的商业化合物纳入原料库,会显著改变路线长度。把筛选用的大库全部当原料会得到看似一步完成的路线,实际货期和价格不可接受。建议按货期和价格分级,分级结果写进报告。
搜索时间或展开次数上限
上限太低时搜索未收敛就返回,可能把能解决的分子判为未解决。对一批分子做排序时应统一上限,否则步数和成功率不可比。记录是否因达到上限而终止,是解读结果的前提。
排除的反应类型
可以屏蔽涉及高危试剂、难以放大或实验室不具备条件的反应。屏蔽过多会让搜索难以找到路线,建议只排除确实不可用的类型,其余留在结果中由人工筛除。
常见错误
- 原料库里混入复杂中间体:路线表面只有两三步,实际第一步原料本身就需要多步合成,总步数被严重低估。
- 忽略立体化学:程序按平面结构拆解,路线不包含手性控制步骤,实际合成会得到非对映选择性的混合物。
- 不检查官能团兼容性:路线中一步的条件会破坏分子另一处的敏感基团,纸面可行实验不通。
- 把单步模型的打分当成收率预测:打分反映该断键在训练数据中的常见程度,与实际收率没有对应关系。
- 搜索达到时间上限就判定分子不可合成:换更长的搜索时间或调整参数后常能找到路线,结论取决于设置而非分子。
- 只看返回的第一条路线:排序依据有限,第二、三条往往在原料可得性或步数上更合适,应逐条比较。
结果怎么看
路线树图
从目标分子向下展开到原料的树状图,每个节点是一个中间体,每条边是一步反应。看叶节点是否都在原料库内、树是否过深,以及是否为收敛式。全部断键都集中在分子一端的线性长路线通常效率较低。
路线汇总表
每条候选路线一行,列出步数、原料个数、是否已解决、各步反应类型。用它比较备选路线:步数接近时优先原料易得、反应类型成熟的那条,并关注是否有重复使用同一关键中间体的分支。
单步候选列表
针对某个中间体列出可选断键及其排序。打分高的方案代表在反应数据中更常见,不等于更适合本底物。若靠前的几个方案都断在同一个键上,说明这是模型眼中的主要拆解点,可据此考虑是否人工干预。
可合成性与原料可得性标注
给每条路线标出最难获得的原料及其货期或价格区间。如果已解决路线依赖一个长货期原料,实际推进速度由它决定;此时宁可选步数多一步但原料常备的路线。
和相近方法怎么选
模板法与无模板法单步预测
模板法从反应数据库提取转化规则,给出的断键总是对应已知反应类型,可解释、不易产生不合法结构,但受模板覆盖限制;无模板法用序列或图模型直接生成前体,能提出模板外的断键,但可能输出化学上不成立的结构。实践中模板法更适合要落地的路线。
路线搜索与可合成性打分
可合成性打分(如 SA score 一类指标)只给一个数值,用于在成千上万个分子里快速过滤,速度快但不解释原因;路线搜索给出完整路线和原料,信息量大但耗时。常见组合是先用打分粗筛,再对进入下一轮的少量分子做路线搜索。
计算逆合成与化学家经验设计
程序的优势是穷举断键方式、不遗漏不常想到的拆法,并能批量处理;化学家的优势是把握立体控制、化学选择性、保护基策略和实际操作条件。目前可行的方式是用程序生成候选,由化学家筛选和补条件,而不是直接照单执行。
常见问题
逆合成软件给的路线能直接拿去做实验吗
不建议。程序给出的是断键方式和前体,不包含试剂当量、溶剂、温度和纯化方式,也很少处理保护基与立体控制。合理的用法是把它当作候选方案来源:先核对每步是否有同类底物的文献先例,再补全条件,必要时替换其中风险较高的步骤。
为什么我的分子搜不出路线
常见原因有四个:结构里含训练数据中少见的骨架或元素;原料库太小导致所有分支都无法终止;最大步数或搜索时间上限太紧;SMILES 本身写错或含盐型。依次放宽深度和时间、扩充原料库、检查结构,多数情况能得到结果。
怎么判断哪条路线更好
按三个维度比较:步数与收敛性(收敛式通常优于线性长路线)、原料的可得性与货期、每步反应的成熟度和选择性风险。步数不是唯一标准,一条四步但全用成熟偶联反应和常备原料的路线,往往比三步却含一个无先例转化的路线更可行。
手性分子怎么处理
先确认输入 SMILES 标注了立体中心,再把立体控制当作独立问题处理。多数搜索结果不会专门安排不对称步骤,需要人工决定是用手性原料、不对称催化还是后期拆分。必要时可以对不含立体信息的骨架先搜路线,再在选定路线上插入构型控制步骤。
在 Codar 里怎么做
在生信模式里给出目标分子的 SMILES 和可用原料范围,Codar 会确认搜索深度与原料库设置,运行逆合成路线规划,交付候选路线树图、路线汇总表(步数、原料、反应类型)、关键中间体的单步候选列表和可复现脚本。一批分子可按统一参数批量跑并排序。
这是我设计的一个分子的 SMILES,帮我做逆合成路线规划,限制在五步以内,原料用常见市售试剂,给我三条备选路线和每步的反应类型。