本发明涉及化学分子结构的多层级表征,尤其涉及一种基于多层级可解释性表征的最优分子子结构选取方法。
背景技术:
1、基于分子图的混合表征是指将消息传递神经网络学习得到的分子图表征与分子级别的固定描述符(rdkit计算得到的200维分子描述符)进行集成的混合表征方式。消息传递神经网络学习得到的分子图表征主要提取分子结构的局部信息,而分子级别的固定描述符主要保留分子结构的全局信息。将这两种表征方式进行集成得到的分子图混合表征将可以同时保留分子结构的局部和全局信息。
2、目前,虽然基于分子图的混合表征方法取得了丰硕的成果,但仍有几个问题值得进一步研究。
3、首先,现有的基于分子图的混合表征仅包含基于2d信息的原子级、化学键级或分子级特征,忽略了分子空间几何特征(也称为3d空间结构信息),而这些3d信息这对于确定分子性质也至关重要,尤其是对于区分手性分子的性质至关重要。
4、此外,现有的基于分子图的混合表征缺乏化学领域的知识,然而,大多数方法本质上将图神经网络的预测归因于单个原子、化学键或原子特征。这种可解释性充其量只能部分地与化学家的直觉相容。化学家更习惯于从有化学意义的分子子结构(如官能团、化学可合成的分子碎片)而不是单个原子或键的角度来理解分子结构和性质之间的因果关系。
技术实现思路
1、针对现有技术存在的上述问题,本发明要解决的技术问题是:如何及时准确地找的最优分子子结构。
2、为解决上述技术问题,本发明采用如下技术方案:一种基于多层级可解释性表征的最优分子子结构选取方法,包括如下步骤:
3、s1:从现有公开数据中获取若干条smiles字符串和对应的性质标签,将每条smiles字符串转化为分子图,所述性质标签即目标性质;
4、s2:将分子图作为输入,通过有向消息传递神经网络对分子图进行表征得到分子图表征;
5、s3:将分子图作为输入,通过brics方法将分子图拆分为若干个分子子结构,以分子子结构为节点,将分子结构重新表示为基于分子子结构的树状结构,并通过有向消息传递神经网络对基于分子子结构的树状结构进行表征获得化学可合成的子结构表征;
6、s4:将smiles字符串作为输入,通过uni-mol预训练模型获取smiles字符串对应的分子结构的分子3d空间结构表征;
7、s5:将分子图表征、化学可合成的子结构表征、分子3d空间结构表征进行拼接获得分子多层级表征,每个分子多层级表征对应一个smiles字符串和一个性质标签;
8、s6:以前馈神经网络fnn作为预测器,分子多层级表征和其性质标签作为预测器的输入对预测器进行训练,通过贝叶斯优化算法对预测器的超参数进行优化,计算预测器的10则交叉验证预测结果,当预测器收敛函数不变小则得到训练好的预测器;
9、s7:将待测的分子结构的smiles字符串转化为待测分子图,使用s3中的方法将待测分子图分解为若干个待测分子子结构,将若干个待测分子子结构输入训练好的预测器,输出为每个分子子结构相对于性质标签的回归值,回归值越大表示分子子结构对目标性质的贡献越大。
10、作为优选,所述s2中通过有向消息传递神经网络对分子图进行表征得到分子图表征的步骤包括:对于给定的分子图g,原子特征和键特征分别表示为xv和hvw,有向消息传递神经网络包括消息传递阶段和读出阶段,消息传递阶段由如下公式表示:
11、
12、
13、其中表示t+1次更新后的消息,分别表示t,t+1次更新后的键向量,表示不包括原子w的相邻原子v,τ表示relu激活函数,w表示一个训练好的权重矩阵,表示初始键特征;
14、在最后一层t层,根据公式(3)和(4)对输入的键向量求和,返回分子图g的节点隐特征;
15、
16、
17、其中表示t次更新后的消息,表示t次更新后的键向量,xv表示输入原子v的特征,hv表示隐藏原子v的特征,wa表示训练好的权重矩阵;
18、最后,最后一层每个原子的特征将通过读出函数r(·)输出一个固定大小的向量,即得到分子图g的分子图表征hg如公式(5):
19、
20、其中hv表示隐藏原子v的特征。
21、相对于现有技术,本发明至少具有如下优点:
22、1.分子多层级表征在同时保留分子结构的局部和全局信息同时,还能提供分子结构的3d空间结构信息;
23、2.相比于现有技术,本发明采用了brics算法,将分子结构拆分为若干个化和学科合成的分子子结构,并对其进行表征,这在提取分子结构的全局信息的同时,还可以为预测模型提供更多的可解释性,即寻找到对目标性质贡献最大的化学可合成分子子结构。
1.一种基于多层级可解释性表征的最优分子子结构选取方法,其特征在于:包括如下步骤:
2.如权利要求1所述的一种基于多层级可解释性表征的最优分子子结构选取方法,其特征在于:所述s2中通过有向消息传递神经网络对分子图进行表征得到分子图表征的步骤包括:对于给定的分子图g,原子特征和键特征分别表示为xv和hvw,有向消息传递神经网络包括消息传递阶段和读出阶段,消息传递阶段由如下公式表示: