默克AI逆合成软件的一点细节(六)

        掌握单个合成动作的规则是重要的,除此之外还需考虑怎样把他们组合成完整的合成路径。据估计,在数十万的规则模板中,机器在每个合成步骤中需要考虑大约 100 个可能的合成“动作”。在 n 个合成步骤内,有约 100n 条可能的途径通向所需的目标——即使对于相对较短的合成,如此数量的可能性也太大,无法以详尽的方式探索。这个问题在几十年前就已经被认识到,被称为“合成选择的组合爆炸”。避免这种复杂化的唯一方法是教会机器以智能的方式搜索合成可能性的空间,并将搜索引导向最有效、最优雅的步骤序列,而不是探索整个可能的合成路线。本节介绍一下Chematica 开发者在这方面的一些解决办法。

概述

        首先,研发者们将整个可能的合成路线类比成“树”。然后再用计算机能理解的图和超图形式进行简化与计算。最后通过评分函数依次对图和超图进行评分和排序,选择尽可能好的结果。

合成图

        开发者先定义合成图 G = (V, E),将作为搜索合成途径的数学模型。顶点分为两类,称为化学节点(化学物质用SMILES标识)和反应节点(可能的反应)。边集 E 由反应、其底物和产物之间的连接组成。下图是合成图的简单示例,图a表示的是乙醇和乙酸经过简单的酯化反应合成乙酸乙酯,图中包含三个化学节点、一个反应节点和三个有向边。添加反应节点r1,而不是直接连接产物的原因是,不能仅由乙醇或仅由乙酸制备乙酸乙酯。图b是一个较大的合成图,描述了几种制备四氢呋喃衍生物的方法(r2,r3,r4的目标产物)。

        接下来仔细观察下图,会发现两个特殊的循环。首先是红色箭头表示的,这样的和目标产物不相关的循环是无意义的。可能会使得探索时陷入无限循环,所以需要避免。另外一个是紫色箭头和棕色箭头组成的环,他们分别表示分子“d”可以通过不同的路径合成产物a。这个例子说明一个化合物距离目标的合成距离是不唯一的,具体值是多少取决于它所处的合成路径。

        随着探索一直持续,理论上合成图是可以无限大的。但实际上会有一些终端节点会停止这种无限的探索。这些终端节点一般是市售化学品,也可以是文献中报道的可合成的分子,也可以是用户自定义的分子。除了可以自定义分子,用户还可以进一步指定终端节点的属性,例如分子量(“继续合成搜索,直到找到分子量低于特定阈值的终端节点”)或价格( “仅当每克可购买基材的价格低于指定阈值时才停止”)。

        合成图可以直观地显示合成路线,但是在合成规划过程中构建的合成图形非常复杂(数万到数百万个节点),所以还需借助超图进行合成搜索。

合成超图

        超图是由合成图导出的。超图中的节点是物质的集合应于合成节点到目标产物所需的化合物,边对应于一步反应。超图中的节点会被依次遍历,如果出现不是终端则分裂出分支直至所有物质是对应于合成图上的终端。有一点需要注意的是,节点仅是记录的物质的集合,不记录所需物质的量。因此,化学逆合成问题简化为计算图论中广泛研究的最佳路径问题。下图是超图与合成图之间的转换示例。

搜索算法

        由于合成超图的大小和整体结构单独是使用深度优先算法和广度优先算法都很难有好的结果。而且,最短的合成路线也不一定是成本效益最优的。为了量化合成路线的优劣并与其他路线,开发者设置了两种类型的函数都合成路线进行评分——化学评分函数(CSF)来评估合成子的成本,反应评分函数(RSF)评估得到这些合成子反应。

反应评分函数,RSF

        针对的目标是超图中的节点,用于量化执行反应的成本和难度。RSF是通过一些自定义的变量来计算的。例如:

  • 变量 PROTECT 为每个需要保护的反应分配一定的惩罚(额外成本)。
  • 变量 NON_SELECTIVITY 惩罚可以在同一分子的不同位置非选择性地进行的反应(降低所进行的反应的产率)。
  • 变量 CONFLICT 为检测到的每个反应性冲突分配惩罚(通常非常大)。
  • 变量 FILTERS 惩罚不太可能连续的步骤。

        还有其他变量可以促进或惩罚特定类型反应或特定分子的使用(例如,使用带有参数“aldol”的 HIDE_SEEK_NAME 变量将阻止使用任何羟醛类型反应)。最终的结果是这些变量的线性组合。另外,用户也可以使用自定义的函数反映特定的“综合风格”。

化学评分功能,CSF

        这个函数针对的是化学物质,用于计算得到这个物质的成本。理想情况下,CSF 应表达通过最便宜的可能途径合成的物质的精确“成本”。然而,化合物的成本并不是已知的(除了商品)。所以,CSF需要通过化合物的复杂性来估计成本。(具体估算方法,论文没有找到)

搜索

        使用这些评分函数,搜索算法在探索合成超图时会自动找到一组可行的路径。具体来说,算法分成两个并行的子任务:

  1. 智能地探索合成图及其导出的合成超图
  2. 根据合成图的当前“快照”(由资源管理器扩展)选择不同的可行路径集

        如图 S22 所示,用户指定目标分子并设置其他搜索参数(停止点、评分函数)后,查询将发送到模型,模型基于二项式优先级队列迭代探索合成图。同时,路径检索器基于评分函数根据合成图的当前状态(“快照”)提取可行合成路径。

        算法的探索部分类似于其他最短路径搜索算法,不同之处是该算法同时在两个层面上运行,即合成图和相关的合成超图。具体操作如下图所示。

(a)一开始,“当前探索的”超图仅由目标(黄色节点)组成,并扩展到第一代节点。所有传入节点(除非它们是终端节点或不可能的节点)都被插入到优先级队列 PQ(带有黑色边框的节点集合)中,其优先级根据 RSF 和 CSF 计算获得。图中为 1, 2, 15, 22, 33, 65, 67, 75, 81, 88。

(b) 把先前分析/扩展的节点标记为紫色,扩展当前得分最低/优先级最高的节点(1)并从 PQ 中删除。 PQ 现在包含分数为2、5、13、15、22、33、44、65、67、75、81、88 的节点。

(c)把节点 1 标记为已扩展。当前 PQ 中优先级最高的是节点2,对该节点进行分析,将得分为 3、8、19、51 的节点添加到 PQ 中。节点 2 从 PQ 中删除。

(d)当前 PQ 中优先级最高的是节点3。它的扩展节点 38、40、91被添加到 PQ 中; 3 本身已从 PQ 中删除,PQ 现在包含节点 5、8、13、15、22、33、38、40、44、65、67、75、81、88、91。此时,最优节点是3,需要惩罚具有与以下节点相同“探索历史”的替代路径(此处为 +10分,红色)。进行这种惩罚是为了限制超图相同区域中的探索数量。

(e)当前 PQ 中优先级最高的是节点 5,将其从 PQ 中删除,添加到 PQ 节点 9,并惩罚节点 13 和 44(与节点 5 具有相同的“探索历史”)

(f)当前 PQ 中优先级最高的是节点9(此时,节点 8 已经受到 +10 的惩罚,导致其总分增加到 18),并将其从 PQ 中删除。 9 中唯一未扩展的邻居是一个终端节点(例如,一组市售底物)——该停止点完成了穿过节点 1、5、9、10 的第一个合成路径。路径检索器算法保留该路径以供进一步考虑,并进一步继续分析,以找到其他且可能更好的解决方案。

        每个节点扩展步骤都是单步逆合成,其中几个独立运行的主进程,负责通过异步通信通道接收查询,并在准备好时返回结果。用户通过指定的搜索参数(评分函数、停止点等),在并行的任务重得到结果,涉及的任务包含下面几个:

  • 查询的 SMILES 与所有可用模板的 SMARTS 进行匹配
  • 处理立体选择性和区域选择性问题。
  • 应用各种启发法/过滤器来消除“假阳性”反应;
  • 将有关保护和不兼容性的附加信息添加到输出中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值