基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置

文档序号:1818173 发布日期:2021-11-09 浏览:40次 >En<

阅读说明:本技术 基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置 (Inverse synthetic problem solving method and device based on improved Monte Carlo reinforcement learning method ) 是由 刘娟 张蔷 杨志辉 冯晶 于 2021-07-05 设计创作,主要内容包括:本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置,方法包括:步骤1.将待求解逆合成的目标化合物作为根节点,选择改进的UCT函数值最高的作为最佳子节点;步骤2.执行扩展动作产生新的子节点;步骤3.若迭代产生的所有产物都出现在代谢空间代谢物底盘菌株上,即得到了最终结果,将根据奖励政策返还奖励或罚款;否则,从可用的变换中随机采样反应规则,应用于当前化合物;计算子节点的策略产物和代谢物底盘菌株或可买到的化学产物的集合的Tanimoto得分;剔除排序靠后的反应规则;步骤4.将当前节点获得的Tanimoto得分返回给其父节点;步骤5.循环直到终止,得到逆合成求解结果。(The invention provides an inverse synthetic problem solving method and device based on an improved Monte Carlo reinforcement learning method, wherein the method comprises the following steps: step 1, taking a target compound to be solved and inversely synthesized as a root node, and selecting an improved UCT with the highest function value as an optimal child node; step 2, executing the expansion action to generate a new child node; step 3, if all products generated by iteration appear on metabolic space metabolite chassis strains, a final result is obtained, and rewards or fines are returned according to a reward policy; otherwise, randomly sampling a reaction rule from available transformations, and applying the reaction rule to the current compound; calculating Tanimoto scores for the strategy products and metabolite chassis strains of the sub-nodes or a collection of commercially available chemical products; rejecting reaction rules in the back of the sequence; step 4, returning the Tanimoto score obtained by the current node to the father node of the current node; and 5, circulating until the end, and obtaining an inverse synthesis solving result.)

基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及 装置

技术领域

本发明属于有机化学逆合成求解技术领域,具体涉及一种基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置。

技术背景

有机合成是有机化学领域的核心内容,而逆合成是解决有机合成问题的重要方法。逆向合成计划的目标是寻找一条从目标分子到可获得的原料的逆向合成路径。

近些年,深度学习技术已经逐渐被引入到逆合成分析中,大致可以分为两类:1)基于规则的两步模型;2)完全由数据驱动的端到端的分析。

两种方法都是利用已知反应的训练集合,识别给定产物到未知反应物的合成反应的逆映射。第一种方法可以分为两个独立的步骤:第一步由专家整理反应模板或者利用机器学习方法从数据库中自动提取模板。第二步,基于模板将目标分子逆合成更简单的反应前体。从数据库中自动提取反应规则是当前更主流的方式,2017年,Waller等运用深度神经网络模型对收集的350万个反应数据进行训练并可以自动提取模板。随后,Waller课题组尝试使用蒙特卡罗树搜索和深度神经网络策略,搜索40种药物类似分子的合成路线。

随着社会科学的发展,基于神经网络的完全端到端的方法逐渐发展起来。将产品和反应物的化学结构用(SMILES)化学语言编码,逆合成问题相当于寻找一条从字符编码的产品到字符编码的反应物的转换路径。2017年,Liu等建立了将反应产物SMILES转换为反应物SMILES的端到端的序列模型。对于给定的合成目标分子,反向预测模型可以递归的生成分支反应物序列,直到生长的反向合成树达到规定的可购买化合物集合。常用的蒙特卡罗树搜索可以从无限大的搜索树中有效地识别化学上合理的合成路线。如:2019年Mathilde等将蒙特卡罗树强化学习方法应用到神经网络中,取得了良好的效果。

目前利用蒙特卡罗强化学习的方法来进行求解逆合成问题已经成为热点之一,但采用该方法进行求解存在搜索量大,搜索效率低的问题,大大制约了其发展,亟待解决。

发明内容

本发明是为了解决上述问题而进行的,目的在于提供一种基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置,能够有效降低蒙特卡罗强化学习的搜索空间,大幅提高搜索效率。

本发明为了实现上述目的,采用了以下方案:

<方法>

如图1和2所示,本发明提供基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,其特征在于,包括以下步骤:

步骤1.选择:将待求解逆合成的目标化合物作为根节点,从根节点开始,计算各节点的改进的UCT函数值,选择改进的UCT函数值最高的作为最佳子节点从而确定中间产物,直到到达叶节点,叶节点对应存在于代谢空间代谢物底盘菌株上的产物;改进的UCT函数如下:

式中,节点vi是节点v的第i个子节点,Q(·)是获取节点累计价值的函数,N(·)是获取节点累计访问次数的函数,Ti是该节点的Tanimoto得分,C是比重参数;

步骤2.扩展:将最佳子节点作为需要被扩展的节点,确定当前代谢空间中未被当前子节点扩展过的反应规则作为未被扩展的动作,然后对需要扩展的节点执行扩展动作产生新的子节点;

步骤3.模拟:为迭代过程,从开始状态检查;若逆合成迭代过程中迭代产生的所有产物都出现在代谢空间代谢物底盘菌株上,即为得到了最终结果,将根据奖励政策返还奖励或罚款;若没有得到最终结果,则从可用的变换中随机采样一个反应规则,应用于当前的化合物;计算子节点vi的随机模拟变化得到的策略产物M(对应图2中虚线圈所示节点)和代谢空间中代谢物底盘菌株或者可买到的化学产物的集合S=(S1,S2,…Sn)的Tanimoto得分,对应公式如下:

Ti=min E(Si,M) (2)

式中E(·)是Tanimoto得分函数;

将Tanimoto得分带入改进的UCT函数中,根据改进的UCT函数值高低对反应规则进行排序,剔除排序靠后的那些不太可能发生的反应规则,执行并重复该过程,直到达到最大展开步骤数或树的最大深度;

步骤4.更新:将当前节点获得的改进的UCT函数值或者Tanimoto得分返回给其父节点,以更新其值和访问次数,作为下一轮迭代选择节点的依据;

步骤5.基于步骤1至4进行循环,直到达到循环终止条件(达到最大的循环迭代数或者达到终止时间),得到逆合成求解结果。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,还可以具有以下特征:在步骤3中,Tanimoto得分是使用开源化学信息学工具包RDKit在Python中用直径为4的扩展连接指纹计算得到。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,还可以具有以下特征:在步骤3中,E(·)具体为:

式中,n是化合物使用开源化学信息学工具包RDKit在Python中用直径为4的扩展连接指纹ECFP计算的分子序列的长度。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,还可以具有以下特征:在步骤3中,根据改进的UCT函数值高低对反应规则进行排序,剔除排序在10之后的那些不太可能发生的反应规则(也就是选择分数靠前的10个反应规则)。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,还可以包括:

标准化步骤:对代谢数据库中的所有化合物都进行标准化处理;

首先,对所有给定的目标分子进行标准化,从数据库(例如,MetaNetX数据库)中提取已知的反应信息完整的生化反应。然后确认反应中心(反应中心是指即当发生化学反应时改变其构型的原子。即那些连接到断裂、形成或改变顺序的键上的原子,以及当反应发生时电荷和立体化学发生变化的原子),控制反应底物抽象程度的最简单方法是围绕其中心对反应进行编码。这需要编制属于反应中心的原子的列表,即反应时改变其构型的原子,基于反应解码器软件执行的原子-原子映射来识别反应中心,并以键距离定义反应中心周围的原子。在逆合成方法中并不逆转多产物反应,而是使用反应规则构建一个扩展的代谢空间代谢物底盘菌株。共同物质和共同产物(如水、CO2、ATP、NADP等)可以从规则中忽略,假设它们在细胞中是可用的;

反应规则编码步骤:从标准化处理后的代谢数据库中提取所有已知的反应信息完整的生化反应,然后使用反应解码器软件执行的原子-原子映射来识别反应时改变其构型的原子作为反应中心,并以键距离定义反应中心周围的原子,对化学反应使用SMARTS形式编码成反应规则的集合,反应中心周围的直径范围从2到16(表示反应中心化学键被保留2-16个键);

代谢空间扩展步骤:将反应规则应用于代谢数据库中的所有化合物,生成反应规则的模板,扩展代谢空间。返回的规则的数目,取决于数据库中化合物反应酶乱交(直径)的参数。多个生成的规则可以属于同一个EC类,而且一个规则可以对应多个EC类。

<装置>

进一步,本发明还提供基于改进的蒙特卡罗强化学习方法的逆合成问题求解装置,其特征在于,包括:

选择模块,将待求解逆合成的目标化合物作为根节点,从根节点开始,计算各节点的UCT函数值,选择UCT函数值最高的作为最佳子节点从而确定中间产物,直到到达叶节点,叶节点对应存在于代谢空间代谢物底盘菌株上的产物;UCT函数如下:

式中,节点vi是节点v的第i个子节点,Q(·)是获取节点累计价值的函数,N(·)是获取节点累计访问次数的函数,Ti是该节点的Tanimoto得分,C是比重参数;

扩展模块,将最佳子节点作为需要被扩展的节点,确定当前代谢空间中未被当前子节点扩展过的反应规则作为未被扩展的动作,然后对需要扩展的节点执行扩展动作产生新的子节点;

模拟模块,从开始状态检查,执行迭代过程;若迭代过程中产生的所有产物都出现在代谢空间代谢物底盘菌株上,即为得到了最终结果,将根据奖励政策返还奖励;若没有得到最终结果,则从可用的变换中随机采样一个反应规则,应用于当前的化合物;计算子节点vi的随机模拟变化得到的策略产物M和代谢空间中代谢物底盘菌株或者可买到的化学产物的集合S=(S1,S2,…Sn)的Tanimoto得分,对应公式如下:

Ti=min E(Si,M) (2)

式中E(·)是Tanimoto得分函数;

然后将Tanimoto得分带入UCT函数中,根据UCT函数值高低对反应规则进行排序,剔除排序靠后的那些不太可能发生的反应规则,执行并重复该过程,直到达到最大展开步骤数或树的最大深度;

更新模块,将当前节点获得的UCT函数值或者Tanimoto得分返回给其父节点,以更新其值和访问次数,作为下一轮迭代选择节点的依据;以及

控制模块,与选择模块、扩展模块、模拟模块、更新模块均通信相连,并控制它们循环运行处理,直到达到循环终止条件,得到求解的逆合成结果。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法,还可以具有以下特征:在模拟模块中,Tanimoto得分是使用开源化学信息学工具包RDKit在Python中用直径为4的扩展连接指纹计算得到。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解装置,还可以具有以下特征:多在模拟模块中,E(·)具体为:

式中,n是化合物使用开源化学信息学工具包RDKit在Python中用直径为4的扩展连接指纹ECFP计算的分子序列的长度。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解装置,还可以包括:输入显示器,与控制模块通信相连,让用户输入操作指令,并根据操作指令对求解的逆合成结果进行显示。

优选地,本发明提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解装置,还可以包括:预处理模块:对代谢数据库中的所有化合物都进行标准化处理;从标准化处理后的代谢数据库中提取所有已知的反应信息完整的生化反应,然后使用反应解码器软件执行的原子-原子映射来识别反应时改变其构型的原子作为反应中心,并以键距离定义反应中心周围的原子,对化学反应使用SMARTS形式编码成反应规则的集合;将反应规则应用于代谢数据库中的所有化合物,生成反应规则的模板。

发明的作用与效果

本发明所提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置,通过在蒙特卡罗强化学习的模拟策略中返回分子Tanimoto评分,并将其应用于UCT评分中,能排除被认为不可信的反应规则,降低蒙特卡罗强化学习的搜索空间,大幅提高搜索效率。

现有技术手段的方法虽然一定程度上取得了较好的效果,但在算法复杂度和求解精度上仍然存在较大的缺陷和局限性。如果用蒙特卡罗强化学习来解决逆合成问题,蒙特卡罗强化学习从纯随机的角度进行搜索,将造成大量无效搜索,降低算法效率,甚至会导致所得结果没有化学反应意义。仅通过蒙特卡洛实验次数来提高算法精度的方法是不够的。

对于蒙特卡罗强化学习中UCT函数,假设搜索前是空树,则蒙特卡罗强化学习搜索的时间复杂度是O(O(P)log(N)+N O(V)),其中N是搜索的次数,也就是搜索完成后树中节点的数量,O(P)蒙特卡罗强化学习扩展操作的复杂度,O(V)是蒙特卡洛模拟操作的复杂度。

如下表1所示,由于本发明中改进的蒙特卡罗强化学习方法降低了蒙特卡罗强化学习扩展操作的复杂度O(P)。在有限次搜索N中,改进的UCT函数保证算法能够进行更多次有效搜索,也就是改进的蒙特卡罗强化学习算法降低了算法的时间复杂度,提高了算法的求解精度。

表1.算法时间复杂度分析

附图说明

图1为本发明涉及的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法的流程图;

图2为本发明涉及的改进的蒙特卡罗树的搜索过程图。

具体实施方式

以下结合附图对本发明涉及的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法的具体实施方案进行详细地说明。

<实施例>

本实施例所提供的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法包括如下步骤:

步骤1.化合物标准化。

(1a)使用RDKit的SanitizeMol方法对化合物进行处理

(1b)去除同位素

(1c)中和电荷

(1d)去除立体

(1e)将化合物转化为国际化合物标识(InChI),确保结构的统一性。

步骤2.编码反应规则。

(2a)从代谢数据库中提取了已知的生化反应。

(2b)使用反应解码器软件执行的原子-原子映射来识别反应中心。

(2c)SMARTS形式编码,提取反应规则。

步骤3.扩展代谢空间。

将反应规则一次应用于代谢数据库中的所有化合物,生成一个反应规则的模板。

步骤4.如图1和2所示,采用改进的蒙特卡罗强化学习递归得到逆反应路径。

(4a)选择:从根节点开始,根据改进的UCT函数选择最佳子节点。本专利中UCT函数的主要形式如公式:

上式中,节点vi是节点v的第i个子节点,Q(·)是获取节点累计价值的函数,N(·)是获取节点累计访问次数的函数,Ti是该节点的Tanimoto得分,C是用于调整加号前后两部分在整体中的比重参数。

(4b)扩展:基于上面给出的排序方案选择的一个最需要被扩展的节点,及该节点未被扩展的动作,执行产生新的子节点。

(4c)模拟:这是一个迭代过程,从开始状态检查。如果是最终结果,将根据奖励政策返还奖励(或罚款)。如果不是终端,则从可用的变换中随机采样一个变换,通过计算子节点叶的随机模拟变化得到的化合物M和代谢空间中代谢物底盘菌株或者可买到的化学产物的集合S=(S1,S2,…Sn)的Tanimoto得分,对应公式如下所示:

Ti=min E(Si,M) (2)

其中,E(·)是Tanimoto得分函数,是使用开源化学信息学工具包RDKit在Python中用直径为4的扩展连接指纹计算的。并重复该过程。这将一直执行,直到达到最大展开步骤数或树的最大深度。

(4d)更新:当前节点获得的分数将返回给其父节点,以更新其值和访问次数。

另外,本实施例还提供了能够自动实现上述方法得到逆合成求解结果的逆合成问题求解装置,该装置包括预处理模块、选择模块、扩展模块、模拟模块、更新模块、输入显示器以及控制模块。

预处理模块:对代谢数据库中的所有化合物都进行标准化处理;从标准化处理后的代谢数据库中提取所有已知的反应信息完整的生化反应,然后使用反应解码器软件执行的原子-原子映射来识别反应时改变其构型的原子作为反应中心,并以键距离定义反应中心周围的原子,对化学反应使用SMARTS形式编码成反应规则的集合;将反应规则应用于代谢数据库中的所有化合物,生成反应规则的模板。

选择模块:将待求解逆合成的目标化合物作为根节点,从根节点开始,计算各节点的UCT函数值,选择UCT函数值最高的作为最佳子节点从而确定中间产物,直到到达叶节点,叶节点对应存在于代谢空间代谢物底盘菌株上的产物;UCT函数如下:

式中,节点vi是节点v的第i个子节点,Q(·)是获取节点累计价值的函数,N(·)是获取节点累计访问次数的函数,Ti是该节点的Tanimoto得分,C是比重参数。

扩展模块:将最佳子节点作为需要被扩展的节点,确定当前代谢空间中未被当前子节点扩展过的反应规则作为未被扩展的动作,然后对需要扩展的节点执行扩展动作产生新的子节点。

模拟模块:从开始状态检查,执行迭代过程;若迭代过程中产生的所有产物都出现在代谢空间代谢物底盘菌株上,即为得到了最终结果,将根据奖励政策返还奖励;若没有得到最终结果,则从可用的变换中随机采样一个反应规则,应用于当前的化合物;计算子节点vi的随机模拟变化得到的策略产物M和代谢空间中代谢物底盘菌株或者可买到的化学产物的集合S=(S1,S2,…Sn)的Tanimoto得分,对应公式如下:

Ti=min E(Si,M) (2)

式中E(·)是Tanimoto得分函数;

然后将Tanimoto得分带入UCT函数中,根据UCT函数值高低对反应规则进行排序,剔除排序靠后的那些不太可能发生的反应规则,执行并重复该过程,直到达到最大展开步骤数或树的最大深度。

更新模块:将当前节点获得的UCT函数值或者Tanimoto得分返回给其父节点,以更新其值和访问次数,作为下一轮迭代选择节点的依据。

控制模块:与选择模块、扩展模块、模拟模块、更新模块均通信相连,并控制它们循环运行处理,直到达到循环终止条件,得到求解的逆合成结果。

输入显示器:与控制模块通信相连,让用户输入操作指令,并进行相应显示。例如,输入显示器可以根据相应的操作指令对求解得到的逆合成结果进行显示,还可以对求解进展进行显示,并且能够对求解过程中各模块生成的相应信息进行显示。

以上实施例仅仅是对本发明技术方案所做的举例说明。本发明所涉及的基于改进的蒙特卡罗强化学习方法的逆合成问题求解方法及装置并不仅仅限定于在以上实施例中所描述的内容,而是以权利要求所限定的范围为准。本发明所属领域技术人员在该实施例的基础上所做的任何修改或补充或等效替换,都在本发明的权利要求所要求保护的范围内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于HITRAN数据库的吸收光谱快速获取方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!