基于蒙特卡洛树的反应物推导方法及逆向合成推导方法与流程

文档序号:27905662发布日期:2021-12-11 04:32阅读:254来源:国知局
基于蒙特卡洛树的反应物推导方法及逆向合成推导方法与流程

1.本发明涉及逆向合成技术领域,具体地说是基于蒙特卡洛树的反应物推导方法及逆向合成推导方法。


背景技术:

2.逆向合成分析是一种通常被化学家或计算机拿来合成指定化合物的方法,将目标物一步步分解为中间体或更简单的反应物,直到找到可购买的构建块。逆向合成分析在传统上是通过基于手动编码规则的专家系统来实现,应用范为准、准确率低。
3.基于上述分析,如何提高逆向合成分析的预测准确率,是需要解决的技术问题。


技术实现要素:

4.本发明的技术任务是针对以上不足,提供基于蒙特卡洛树的反应物推导方法及逆向合成推导方法,来解决如何提高逆向合成分析的预测准确率的问题。
5.第一方面,本发明的基于蒙特卡洛树的反应物推导方法,以目标化合物smiles表达式作为根节点构建蒙特卡洛树,基于蒙特卡洛树搜索方法采用模板预测模型预测蒙特卡洛树每个节点中分子对应的逆反应模板,同时得到逆反应模板对应的前级反应,所述模板预测模型为以化学方程中产物为输入、逆反应模板为输出的神经网络模型;所述方法包括如下步骤:
6.在选择阶段,对于当前节点,每次迭代从树的根节点开始,计算每个节点的ucb得分,并选择ucb得分最高的叶子节点作为待扩展叶子节点;
7.在扩展阶段,对于所述待扩展叶子节点的每个分子,通过模板预测模型预测对应的逆反应模板,基于rdkit得到每个逆反应模板对应的前置分子并创建叶子节点;
8.在模拟阶段,由未访问过的叶子节点开始不断进行选择和扩展,直至满足停止条件并到达终止节点,所述停止条件包括:生成的前置分子均存在于可购化合物库中、达到树的最大深度以及逆向反应模板均无效;
9.在回溯阶段,由待扩展叶子节点开始从下至上更新回溯路径上每个节点的q值和n值,直至到达根节点;
10.其中,所述ucb得分的计算公式为:
[0011][0012]
其中,n
‑1表示当前节点的父节点被遍历的次数,c表示用于平衡勘探与开发的超参;
[0013]
计算每个节点的ucb得分过程中,q表示前步价值的总和,n表示当前子节点被遍历的次数。
[0014]
作为优选,在模拟阶段和扩展阶段使用相同的模板预测模型预测对应的逆反应模
板;
[0015]
所述模板预测模型通过如下步骤得到:
[0016]
获取反应方程构建初始数据集,所述反应方程包括反应物smiles表达式和产物smiles表达式;
[0017]
通过rdchiral方法对初始数据集进行逆向反应模板提取,并分别对反应方程和逆向反应模板进行哈希编码,基于所述反应方程哈希编码、反应物smiles表达式、产物smiles表达式、逆向反应模板以及逆向反应模板哈希编码构建初始模板库;
[0018]
对所述初始模板库进行数据清洗后,将所述逆向反应模板哈希编码转换为标签向量,并将产物smiles表达式转换为fingerprint向量,基于所述fingerprint向量和标签向量进行数据集划分,得到训练集、验证集和测试集,所述训练集、验证集和测试集中均包括标签向量和fingerprint向量,且标签向量和fingerprint向量一一对应,并基于不重复的逆向反应模板构建逆向反应模板库;
[0019]
基于keras深度学习框架构建单隐藏层全连接神经网络模型以作为模板预测模型,所述模板预测模型用于以产物为输入、预测并输出逆向反应模板;
[0020]
以训练集为输入、训练所述模板预测模型以优化所述模板预测模型的参数,并以验证集为输入、监控所述模板预测模型的训练过程以防止过拟合,得到训练后模板预测模型,并基于测试集对所述训练后模板预测模型进行测试,得到最终的模板预测模型。
[0021]
作为优选,对所述初始模板库进行数据清洗,包括如下步骤:
[0022]
剔除初始模板库中产物smiles表达式中产物数量大于1的样本数据;
[0023]
基于rdchiral将逆向反应模板作用于对应的产物,若作用无效,剔除对应的样本数据;
[0024]
剔除初始模板库中出现次数少于阈值的逆向反应模板对应的样本数据;
[0025]
根据反应方程哈希编码剔除初始模板库中重复的样本数据。
[0026]
作为优选,基于rdkit得到每个逆反应模板对应的前置分子并创建叶子节点,包括如下步骤:
[0027]
对每个分子得到的所有逆反应模板保留预定数量的逆反应模板;
[0028]
将所有分子相关的逆反应模板存储于父节点,且相关的q值和n值分别进行初始化。
[0029]
作为优选,在模拟阶段和扩展阶段使用相同的模板预测模型预测对应的逆反应模板。
[0030]
作为优选,从待扩展叶子节点开始从下至上更新回溯路径上每个节点的q值和n值,直至到达根节点,包括如下步骤:
[0031]
根据价值更新函数获取终止节点的价值评估值;
[0032]
回溯路径上每个节点的q值均累加一次价值评估值,且n值加1;
[0033]
所述价值更新函数的计算公式为:
[0034][0035]
其中,reward为价值评估值,n
in_stock
为可购化合物的数量,n为终止节点中化合物的数量,transforms为每个化合物从目标化合物开始变化的次数。
[0036]
第二方面,本发明的基于蒙特卡洛树的逆向合成推导方法,包括如下步骤:
[0037]
获取反应方程构建初始数据集,所述反应方程包括反应物smiles表达式和产物smiles表达式;
[0038]
通过rdchiral方法对初始数据集进行逆向反应模板提取,并分别对反应方程和逆向反应模板进行哈希编码,基于所述反应方程哈希编码、反应物smiles表达式、产物smiles表达式、逆向反应模板以及逆向反应模板哈希编码构建初始模板库;
[0039]
对所述初始模板库进行数据清洗后,将所述逆向反应模板哈希编码转换为标签向量,并将产物smiles表达式转换为fingerprint向量,基于所述fingerprint向量和标签向量进行数据集划分,得到训练集、验证集和测试集,所述训练集、验证集和测试集中均包括标签向量和fingerprint向量,且标签向量和fingerprint向量一一对应,并基于不重复的逆向反应模板构建逆向反应模板库;
[0040]
基于keras深度学习框架构建单隐藏层全连接神经网络模型以作为模板预测模型,所述模板预测模型用于以产物为输入、预测并输出逆向反应模板;
[0041]
以训练集为输入、训练所述模板预测模型以优化所述模板预测模型的参数,并以验证集为输入、监控所述模板预测模型的训练过程以防止过拟合,得到训练后模板预测模型,并基于测试集对所述训练后模板预测模型进行测试,得到最终模板预测模型;
[0042]
通过如第一方面任一项所述的基于蒙特卡洛树的反应物推导方法,以目标化合物smiles表达式作为根节点构建蒙特卡洛树,基于蒙特卡洛树搜索方法采用模板预测模型预测蒙特卡洛树每个节点中分子对应的逆反应模板,同时得到逆反应模板对应的前级反应。
[0043]
作为优选,通过rdchiral方法对初始数据集进行逆向反应模板提取之前,通过rxnmapper对反应方程进行原子映射,为反应物和生成物标注上原子序号。
[0044]
作为优选,对所述初始模板库进行数据清洗,包括如下步骤:
[0045]
剔除初始模板库中产物smiles表达式中产物数量大于1的样本数据;
[0046]
基于rdchiral将逆向反应模板作用于对应的产物,若作用无效,剔除对应的样本数据;
[0047]
剔除初始模板库中出现次数少于阈值的逆向反应模板对应的样本数据;
[0048]
根据反应方程哈希编码剔除初始模板库中重复的样本数据。
[0049]
作为优选,通过scikit

learn库的labelbinarizer标签二值化方法将逆向反应模板哈希编码转换为标签向量;通过rdkit的morgan算法将产物smiles表达式转换为fingerprint向量。
[0050]
作为优选,所述模板预测模型包括:
[0051]
输入层,所述输入层神经元的个数与fingerprint向量的长度一致;
[0052]
隐藏层,所述隐藏层配置有激活函数elu;
[0053]
输出层,所述输出层神经元的个数与不重复的逆向反应模板的个数一致,并配置有激活函数softmax。
[0054]
本发明的基于蒙特卡洛树的反应物推导方法及逆向合成推导方法具有以下优点:
[0055]
1、基于目标化合物smiles表达式中分子作为根节点构建蒙特卡洛树,通过模板预测模型预测蒙特卡洛树每个节点中分子对应的逆反应模板、并基于蒙特卡洛树搜索方法得到逆反应模板对应的前级反应物,其中逆反应模板为由模板预测模型基于产物预测得到
的,鉴于蒙特卡洛树搜索方法具有智能搜索的优势,该方法可快速、高效且准确地推导出更合理、分子量更小、更易购买到的反应物,且广泛应用于化学反应逆向合成中;
[0056]
2、通过rdchiral方法获取逆向反应模板,反应方程哈希编码、反应物smiles表达式、产物smiles表达式、逆向反应模板以及逆向反应模板哈希编码构建初始模板库,对初始模板库清洗后,划分为训练集、验证集和测试集,并基于不重复的逆向反应模板构建逆向反应模板库,并基于keras深度学习框架构建单隐藏层全连接神经网络模型以作为模板预测模型,基于上述训练集、验证集和测试集训练上述模板预测模型,得到最终模板预测模型,通过该模板预测模型可以产物为输入预测得到逆向反应模板,从而实现了快速、高效的得到逆向反应模板,进而与蒙特卡洛树搜索结合,可快速、高效且准确的实现逆向合成推导;
[0057]
3、在对模板预测模型进行训练之前,对初始模板库进行数据清洗,剔除无效、重复的样本数据,提高了样本的有效性,提高了模板预测模型的准确性,且提高了运算效率;
[0058]
4、将产物smiles表达式转换为高维的fingerprint向量有利于神经网络模型学习到smiles表达式中的化学结构特征,构建产物smiles表达式中的反应中心特征与对应逆向反应模板之间的映射关系;
[0059]
5、采用简单的单隐藏层全连接神经网络结构作为模板预测模型结构有利于在训练过程中减轻出现次数较少的逆向反应模板的过拟合现象,提升模板预测模型的泛化能力;
[0060]
6、该逆向合成推导方法具有持续学习的能力。可通过更新反应方程数据集后重新训练模板预测模型来持续学习新化学反应知识进而更新逆向合成路径。
附图说明
[0061]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0062]
下面结合附图对本发明进一步说明。
[0063]
图1为实施例1基于蒙特卡洛树的反应物推导方法的流程框图;
[0064]
图2为实施例2基于蒙特卡洛树的逆向合成推导方法流程框图。
具体实施方式
[0065]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0066]
本发明实施例提供基于蒙特卡洛树的反应物推导方法及逆向合成推导方法,用于解决如何提高逆向合成分析的预测准确率的技术问题。
[0067]
实施例1:
[0068]
本发明基于蒙特卡洛树的反应物推导方法,以目标化合物smiles表达式作为根节点构建蒙特卡洛树,基于蒙特卡洛树搜索方法采用模板预测模型预测蒙特卡洛树每个节点中分子对应的逆反应模板,同时得到逆反应模板对应的前级反应物,模板预测模型为以化
学方程中产物为输入、逆反应模板为输出的神经网络模型。
[0069]
本实施例中,该方法包括如下步骤:
[0070]
s100、在选择阶段,对于当前节点,每次迭代从树的根节点开始,计算每个节点的ucb得分,并选择ucb得分最高的叶子节点作为待扩展叶子节点;
[0071]
s200、在扩展阶段,对于所述待扩展叶子节点的每个分子,通过模板预测模型预测对应的逆反应模板,基于rdkit得到每个逆反应模板对应的前置分子并创建叶子节点;
[0072]
s300、在模拟阶段,由未访问过的叶子节点开始不断进行选择和扩展,直至满足停止条件并到达终止节点,所述停止条件包括:生成的前置分子均存在于可购化合物库中、达到树的最大深度以及逆向反应模板均无效;
[0073]
s400、在回溯阶段,由待扩展叶子节点开始从下至上更新回溯路径上每个节点的q值和n值,直至到达根节点其中,q表示前步价值的总和,n表示当前子节点被遍历的次数。
[0074]
本实施例中模板预测模型通过如下步骤得到:
[0075]
(1)获取反应方程构建初始数据集,反应方程包括反应物smiles表达式和产物smiles表达式;
[0076]
(2)通过rdchiral方法对初始数据集进行逆向反应模板提取,并分别对反应方程和逆向反应模板进行哈希编码,基于反应方程哈希编码、反应物smiles表达式、产物smiles表达式、逆向反应模板以及逆向反应模板哈希编码构建初始模板库;
[0077]
(3)对初始模板库进行数据清洗后,将逆向反应模板哈希编码转换为标签向量,并将产物smiles表达式转换为fingerprint向量,基于fingerprint向量和标签向量进行数据集划分,得到训练集、验证集和测试集,训练集、验证集和测试集中均包括标签向量和fingerprint向量,且标签向量和fingerprint向量一一对应,并基于不重复的逆向反应模板构建逆向反应模板库;
[0078]
(4)基于keras深度学习框架构建单隐藏层全连接神经网络模型以作为模板预测模型,模板预测模型用于以产物为输入、预测并输出逆向反应模板;
[0079]
(5)以训练集为输入、训练模板预测模型以优化模板预测模型的参数,并以验证集为输入、监控模板预测模型的训练过程以防止过拟合,得到训练后模板预测模型,并基于测试集对所述训练后模板预测模型进行测试,得到最终的模板预测模型。
[0080]
步骤(2)通过rdchiral方法对初始数据集进行逆向反应模板提取之前,通过rxnmapper对反应方程进行原子映射,为反应物和生成物标注上原子序号,以进一步提取逆向反应模板。
[0081]
基于rdchiral进行反应方程逆向反应模板提取后,分别对反应方程及逆向反应模板进行哈希编码,得到反应方程哈希编码和逆向反应模板哈希编码两个新字段,前者是用于剔除初始模板库中重复的样本数据,后者一方面是用于剔除初始模板库中出现次数过少的逆向反应模板对应的样本数据,另一方面是为了便于进一步转换成标签向量,作为训练的目标。
[0082]
步骤(3)首先对初始模板库进行数据清洗,得到无异常样本数据的初始模板库,其具体包括:
[0083]
(3

1)剔除初始模板库产物smiles字段中产物数量大于1的样本数据;
[0084]
(3

2)基于rdchiral将逆向反应模板作用于对应的产物,若作用无效,则剔除对应
的样本数据;
[0085]
(3

3)得到无异常样本数据的初始模板库。
[0086]
然后,对无异常样本数据的初始模板库进一步进行数据预处理,包括:
[0087]
(3

4)剔除初始模板库中出现次数过少的逆向反应模板对应的样本数据(为了保证训练模型的泛化能力,一般设置阈值为3);
[0088]
(3

5)根据反应方程哈希编码剔除初始模板库中重复的样本数据。
[0089]
对无异常样本数据的初始模板库进一步进行数据预处理后,通过scikit

learn库的labelbinarizer标签二值化方法将逆向反应模板哈希编码转换为标签向量,该标签向量组成标签向量样本集;使用rdkit的morgan算法将产物smiles转换为半径为2,长度为2048的ecfp,fingerprint向量组成fingerprint向量样本集,将标签向量和fingerprint向量样本集组合为一个样本数据集,由于固定了随机种子,在该样本数据集中标签向量和fingerprint向量是一一对应的,然后对样本数据集进行数据集划分,得到训练集、验证集及测试集,训练集、验证集、测试集划分比例为90%、5%、5%。并根据不重复的逆向反应模板构建逆向反应模板库。
[0090]
该实施例中模板预测模型为基于keras深度学习框架构建单隐藏层全连接神经网络模型,神经网络输入层神经元个数设为fingerprint向量长度,神经网络输出层神经元个数设为训练集中不重复的逆向反应模板数,隐藏层、输出层激活函数分别设为elu、softmax,损失函数设为交叉熵损失函数,然后对上述模板预测模型进行训练,得到最终模板预测模型。模板训练过程中,使用dropout及l2正则化防止过拟合,隐藏层神经元节点数设置为512,使用adam优化器,初始学习率设为0.001。采用上述超参数设置在训练集上训练神经网络模型。验证集用于监控模型训练效果,防止训练过拟合。测试集用于训练完成后检验模型的泛化能力。
[0091]
步骤s100中,在选择阶段选择当前节点最有进一步开发希望的叶子节点为待扩展叶子节点,每次迭代从树的根节点开始,计算每个节点的ucb得分,选择ucb得分最高的叶子节点进行进一步扩展,ucb得分的计算公式为:
[0092][0093]
其中,q表示前步价值的总和,n表示当前子节点被遍历的次数,n
‑1表示当前节点的父节点被遍历的次数,c表示用于平衡勘探与开发的超参,默认值为1.4。
[0094]
步骤s200中,扩展阶段,对所选待扩展叶子节点的每个分子通过模板预测模型给出的反应模板生成前置分子并创建叶子节点,具体操作如下:
[0095]
(1)对待扩展叶子节点的每个分子依据模板预测模型得到一系列逆向反应模板;
[0096]
(2)基于rdkit得到每个逆向反应模板对应的前置分子并创建叶子节点。
[0097]
具体地,对每个分子得到的所有模板只保留前50个得分最高的模板,或者保留的模板的累积概率达到0.995。所有分子的反应模板存储在父节点,且相关的q值与n值分别初始化为0.5与1。
[0098]
步骤s300中,从未访问过的叶子节点开始不断进行选择与扩展,直到满足停止条件到达终止节点,在上述操作步骤中,在模拟阶段和扩展阶段使用相同的模板预测模型预
测对应的逆反应模板。
[0099]
步骤s400中,在回溯阶段,从待扩展叶子节点开始从下至上更新回溯路径上每个节点的q值和n值,直至到达根节点,包括如下步骤:
[0100]
(1)根据价值更新函数获取终止节点的价值评估值;
[0101]
(2)回溯路径上每个节点的q值均累加一次价值评估值,且n值加1。
[0102]
其中,价值更新函数的计算公式如下:
[0103][0104]
其中,reward为价值评估值,n
in_stock
为可购化合物的数量,n为终止节点中化合物的数量,transforms为每个化合物从目标化合物开始变化的次数。
[0105]
在具体实施过程中模板预测模型可根据现有技术构建并训练模板预测模型,以产物为输入,通过该模板预测模型预测并输出逆向反应模板。本实施例中模板预测模型的构建和训练为一种选择。
[0106]
实施例2:
[0107]
本发明基于蒙特卡洛树的逆向合成推导方法,包括如下步骤:
[0108]
s100、获取反应方程构建初始数据集,反应方程包括反应物smiles表达式和产物smiles表达式;
[0109]
s200、通过rdchiral方法对初始数据集进行逆向反应模板提取,并分别对反应方程和逆向反应模板进行哈希编码,基于反应方程哈希编码、反应物smiles表达式、产物smiles表达式、逆向反应模板以及逆向反应模板哈希编码构建初始模板库;
[0110]
s300、对初始模板库进行数据清洗后,将逆向反应模板哈希编码转换为标签向量,并将产物smiles表达式转换为fingerprint向量,基于fingerprint向量和标签向量进行数据集划分,得到训练集、验证集和测试集,训练集、验证集和测试集中均包括标签向量和fingerprint向量,且标签向量和fingerprint向量一一对应,并基于不重复的逆向反应模板构建逆向反应模板库;
[0111]
s400、基于keras深度学习框架构建单隐藏层全连接神经网络模型以作为模板预测模型,模板预测模型用于以产物为输入、预测并输出逆向反应模板;
[0112]
s500、以训练集为输入、训练模板预测模型以优化模板预测模型的参数,并以验证集为输入、监控模板预测模型的训练过程以防止过拟合,得到训练后模板预测模型,并基于测试集对训练后模板预测模型进行测试,得到最终模板预测模型;
[0113]
s600、通过实施例1公开的基于蒙特卡洛树的反应物推导方法,以目标化合物smiles表达式作为根节点构建蒙特卡洛树,基于蒙特卡洛树搜索方法采用模板预测模型预测蒙特卡洛树每个节点中分子对应的逆反应模板,同时得到逆反应模板对应的前级反应物。
[0114]
其中,步骤s200中,通过rdchiral方法对初始数据集进行逆向反应模板提取之前,通过rxnmapper对反应方程进行原子映射,为反应物和生成物标注上原子序号,以进一步提取逆向反应模板。
[0115]
基于rdchiral进行反应方程逆向反应模板提取后,分别对反应方程及逆向反应模板进行哈希编码,得到反应方程哈希编码和逆向反应模板哈希编码两个新字段,前者是用
于剔除初始模板库中重复的样本数据,后者一方面是用于剔除初始模板库中出现次数过少的逆向反应模板对应的样本数据,另一方面是为了便于进一步转换成标签向量,作为训练的目标。
[0116]
最后,得到由反应方程哈希编码、反应物smiles、产物smiles、逆向反应模板及逆向反应模板哈希编码五个字段组成的初始模板库。
[0117]
步骤s300中,首先对初始模板库进行数据清洗,得到无异常样本数据的初始模板库,其具体包括:
[0118]
(1)剔除初始模板库产物smiles字段中产物数量大于1的样本数据;
[0119]
(2)基于rdchiral将逆向反应模板作用于对应的产物,若作用无效,则剔除对应的样本数据;
[0120]
(3)得到无异常样本数据的初始模板库。
[0121]
然后,对无异常样本数据的初始模板库进一步进行数据预处理,包括:
[0122]
(1)剔除初始模板库中出现次数过少的逆向反应模板对应的样本数据(为了保证训练模型的泛化能力,一般设置阈值为3);
[0123]
(2)根据反应方程哈希编码剔除初始模板库中重复的样本数据,
[0124]
对无异常样本数据的初始模板库进一步进行数据预处理后,通过scikit

learn库的labelbinarizer标签二值化方法将逆向反应模板哈希编码转换为标签向量;使用rdkit的morgan算法将产物smiles转换为半径为2,长度为2048的ecfp,fingerprint向量组成fingerprint向量样本集,将标签向量和fingerprint向量样本集组合为一个样本数据集,由于固定了随机种子,在该样本数据集中标签向量和fingerprint向量是一一对应的,然后对样本数据集进行数据集划分,得到训练集、验证集及测试集,训练集、验证集、测试集划分比例为90%、5%、5%。并根据不重复的逆向反应模板构建逆向反应模板库。
[0125]
在步骤s400中,基于keras深度学习框架构建单隐藏层全连接神经网络模型,本实施例中神经网络输入层神经元个数设为fingerprint向量长度,神经网络输出层神经元个数设为训练集中不重复的逆向反应模板数,隐藏层、输出层激活函数分别设为elu、softmax,损失函数设为交叉熵损失函数,然后通过步骤s500对上述模板预测模型进行训练,得到最终模板预测模型。
[0126]
在步骤s500模板训练过程中,使用dropout及l2正则化防止过拟合,隐藏层神经元节点数设置为512,使用adam优化器,初始学习率设为0.001。采用上述超参数设置在训练集上训练神经网络模型。验证集用于监控模型训练效果,防止训练过拟合。测试集用于训练完成后检验模型的泛化能力。
[0127]
在得到最终模板预测模型后,执行步骤s600,以目标产物为输入,通过最终模板预测模型预测并输出对应的逆向反应模板,基于产物smiles表达式构建蒙特卡洛树,并通过蒙特卡洛树搜索得到所述逆反应模板对应的前级反应物。
[0128]
本方法通过先后采用深度学习算法及蒙特卡洛树搜索算法进行逆合成分析可以有效提高预测准确率并扩大应用领域。
[0129]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1