1.本发明涉及一种判断子结构活性的方法及系统,尤其是判断图神经网络模型中子结构活性的方法及系统。
背景技术:
2.近年来,图神经网络模型能够有效地学习图数据中节点之间的复杂关系,已经被广泛应用于计算毒理学领域预测毒性化合物。然而,尽管图神经网络模型在准确度方面表现出色,但理解图神经网络模型模型的决策过程以及其对输入的解释仍然是一个具有挑战性的问题。这限制了图神经网络模型在一些关键应用中的可解释性和可靠性。
3.目前已经提出了许多可解释的人工智能方法来解决图神经网络模型中普遍缺乏可解释性的问题,然而,基于化合物构建的图神经网络模型的大多数现有解释方法都侧重于将模型预测归因于单个节点,边缘或片段,这些节点,边缘或片段不一定来自具有化学意义的分子分割。这种可解释性充其量只能部分地与化学家的直觉相容,化学家更习惯于从化学上有意义的子结构(例如官能团)而不是单个原子或键来理解分子结构和性质之间的因果关系。现有技术中无法实现对图神经网络模型中的子结构进行解释。
技术实现要素:
4.发明目的:本发明的目的是提供一种能够解释神经网络模型中化合物子结构活性的方法及系统。
5.技术方案:本发明所述的判断图神经网络模型中子结构活性的方法,判断待计算子结构在图神经网络模型中是否为活性子结构,其中所述待计算子结构为第一子结构;该方法包括如下步骤:
6.步骤1,在图神经网络模型中匹配含有第一子结构的所有化合物的集合;
7.步骤2,提取在所述化合物中含有该第一子结构的第二子结构集合;所述图神经网络模型用于预测化合物的活性或毒性预测值;
8.步骤3,利用所述图神经网络模型计算每个第二子结构的活性或毒性预测值,以及每个第二子结构掩蔽第一子结构的活性或毒性预测值;
9.步骤4,计算第一子结构对于该化合物的活性的贡献值;
10.步骤5,重复步骤2至步骤4得到第一子结构对于每个化合物的活性的贡献值,计算所有所述贡献值的均值,将该均值与阈值比较,判断所述第一子结构在所述图神经网络模型中是否为活性子结构。
11.进一步地,步骤4所述计算第一子结构对于该化合物的活性的贡献值包括:
12.计算每个第二子结构的活性或毒性预测值与第二子结构掩蔽第一子结构的活性或毒性预测值的差值,计算所述差值的平均值,得到第一子结构对于该化合物的活性的贡献值。
13.进一步地,步骤5所述计算所有所述贡献值的均值,将该均值与阈值比较,判断所
述第一子结构在所述图神经网络模型中是否为活性子结构包括:
14.计算所有所述贡献值的均值,若所述均值大于0,则所述第一子结构在所述图神经网络模型中是活性子结构;否则所述第一子结构在所述图神经网络模型中不是活性子结构。
15.进一步地,步骤3所述利用所述图神经网络模型计算每个第二子结构的活性或毒性预测值,以及每个第二子结构掩蔽第一子结构的活性或毒性预测值包括:
16.在所述图神经网络中提取每个第二子结构的表征,输入到所述图神经网络中得到第二字结构的活性或毒性预测值;
17.在所述图神经网络中提取每个第二子结构掩蔽第一子结构的表征,输入到所述图神经网络中得到第二字结构掩蔽第一子结构的活性或毒性预测值。
18.进一步地,所述在所述图神经网络中提取每个第二子结构的表征包括:在所述图神经网络模型对化合物的原子表征中,将不属于该第二子结构的原子特征值变为0。
19.进一步地,在所述图神经网络中提取每个第二子结构掩蔽第一子结构的表征,在所述图神经网络模型对化合物的原子表征中,将不属于该第二子结构的原子特征值变为0,并将该第一子结构的原子特征值变为0。
20.本发明所述判断图神经网络模型中子结构活性的系统,所述系统用于判断待计算子结构在图神经网络模型中是否为活性子结构,其中所述待计算子结构为第一子结构;包括:
21.化合物匹配单元,用于在图神经网络模型中匹配含有第一子结构的所有化合物的集合;
22.第二子结构提取单元,用于提取在所述化合物中含有该第一子结构的第二子结构集合;所述图神经网络模型用于预测化合物的活性或毒性预测值;
23.预测值获取单元,用于利用所述图神经网络模型计算每个第二子结构的活性或毒性预测值,以及每个第二子结构掩蔽第一子结构的活性或毒性预测值;
24.贡献值计算单元,用于计算第一子结构对于每个化合物的活性的贡献值,以及用于计算第一子结构对于所有化合物的活性的贡献值的均值;
25.活性子结构判断单元,用于将第一子结构对于所有化合物的活性的贡献值的均值与阈值比较,判断所述第一子结构在所述图神经网络模型中是否为活性子结构。
26.进一步地,贡献值计算单元中,所述计算第一子结构对于每个化合物的活性的贡献值包括:计算每个第二子结构的活性或毒性预测值与第二子结构掩蔽第一子结构的活性或毒性预测值的差值,计算所述差值的平均值,得到第一子结构对于该化合物的活性的贡献值。
27.本发明所述的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的判断图神经网络模型中子结构活性的方法。
28.本发明所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的判断图神经网络模型中子结构活性的方法。
29.有益效果:与现有技术相比,本发明的优点在于:(1)本发明将图神经网络模型的预测归因于化合物子结构来解释图神经网络模型预测,提供有效的化合物结构-活性关系
的信息,为相关人员对化合物构效关系的探究提供新的思路,有助于药物化学家对化合物进行结构优化和从头设计;(2)本发明通过提出一级子结构和二级子结构以及扰动特征的计算过程,将shap值法有效融合在图神经网络模型中计算活性子结构,使模型结果可解释,且计算结果准确可信。
附图说明
30.图1为本发明的判断图神经网络模型中子结构活性的方法流程图。
31.图2为本实施例中的一级子结构、化合物集合、二级子结构示意图。
具体实施方式
32.下面结合附图对本发明的技术方案作进一步说明。
33.如图1所示,所述判断图神经网络模型中子结构活性的方法,包括如下步骤:
34.s1:构建用于预测化合物活性的图神经网络模型,模型输入为化合物smiles式,模型预测基本过程为在模型内部将化合物转化为分子图的表征,进而通过神经网络进行拟合,模型输出结果时先将内部参数映射为两个值,这两个值分别对应模型预测的类别,其中活性类别对应的值为预测值,模型输出结果为两个值中较大的值所对应的类别。
35.本实施例中构建的图神经网络模型用于预测化合物雌激素活性,该图神经网络模型的输入为化合物smiles式子,首先将化合物smiles式用rdkit转化为分子图,分子的每个图表示为g=(v,ε),其中v是原子的集合,ε是键的集合,原子和键依次编码,结合原子和键的编码信息,得到分子向量,作为模型的输入;然后,将分子向量嵌入48维向量空间,并考虑其相邻信息进行更新,从而逐渐在图上收集更多的全局信息,此更新由六个隐藏层实现,每个输入和输出层的大小为48。其次,将分子信息的总和值输入到六个输出层,以获得有意义的化学分子表示。输出层的激活函数是relu。输入形状和输出形状均为48。最后,将48维的向量映射为2个值,这两个值分别对应模型对该化合物预测为活性和非活性的数值,将活性类别对应的值提取出来作为预测值,模型输出结果为两个值中较大的值所对应的类别。
36.本实施例的图神经网络基于7000个收集好的雌激素活性数据构建,将数据集以8:1:1的比例随机划分训练集、验证集和测试集,所述训练集用于训练该模型,验证集用于在训练过程中评估模型训练情况,以二分类交叉熵损失作为目标优化函数,用adam(自适应矩估计)优化器作为下降方法,并用测试集对所述模型进行性能评估。用贝叶斯参数优化直至在验证集上达到最优效果,该模型在验证集和测试集上的准确度达到99%和92%。
37.本实施例中待计算子结构的smart式子为cc(c=o)(ccc)n,称为一级子结构,实际使用中可选择其他感兴趣的子结构,例如从pubchem数据库中提取,pubchem数据库包含物质属性和毒性数据,物质属性包括可溶性、脂水分配系数、熔点;毒性包括肝毒性、急性毒性、长期毒性、遗传毒性、致癌与生殖毒性。
38.将一级子结构匹配图神经网络模型训练集中含有该一级子结构的化合物,获取化合物集合m,本实施例通过rdkit包中hassubstructmatch指令实现匹配化合物是否包含一级子结构,本实施例中化合物集合m中共有5个化合物,其smiles分别为:
39.ccccccc(=o)ccccccc=ccc(o)c(o)c(n)(co)c(=o)o、
40.o=c(o)ccn(c1(c(=o)no)cccc1)s(=o)(=o)c1ccc(oc2ccc(f)cc2)cc1、
41.ncccc(n)(c(=o)o)c(f)f、
42.ccccc1=nc2(cccc2)c(=o)n1cc1ccc(-c2ccccc2-c2nnn[nh]2)cc1、
[0043]
cc1(c)sc2c(nc(=o)c3(n)ccccc3)c(=o)n2c1c(=o)o。
[0044]
s2:提取化合物集合中,每个化合物中包含该一级子结构的二级子结构,二级子结构是指其结构中包含一级子结构的子结构,本实施例通过rdkit包中chem.recap.recapdecompose指令提取二级子结构。
[0045]
以smiles为cc1(c)sc2c(nc(=o)c3(n)ccccc3)c(=o)n2c1c(=o)o的化合物m为例,提取其中包含一级子结构的二级子结构集n,其中包含30个二级子结构,如图2所示。
[0046]
s3:对于每个二级子结构n,提取图神经网络模型对化合物m中的每个二级子结构n的表征,并且获取每个二级子结构n掩蔽一级子结构特征值的表征。以smiles为cc1(c)sc2c(nc(=o)c3(n)ccccc3)c(=o)n2c1c(=o)的二级子结构为例,该二级子结构在化合物m中的表征为:
[0047]
tensor([41,150,41,106,158,49,27,64,43,40,124,5,5,5,5,5,64,43,50,49,59,43,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],device='cuda:0');
[0048]
该二级子结构掩蔽一级子结构的表征为:
[0049]
tensor([41,150,41,106,158,49,27,0,0,0,0,0,5,0,0,0,64,43,50,49,59,43,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],device='cuda:0')。
[0050]
s4:将两种数据表征输入模型得到预测数据,每个二级子结构的预测值为:
[0051]
{-23.649773,-23.649773,-29.577137,-23.649773,-16.384274,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-29.577137,-29.577137,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-23.649773,-29.577137,-29.577137,-23.649773,-23.649773,23.649773,-23.649773,-23.649773,-29.577137,-23.649773};
[0052]
二级子结构掩蔽一级子结构的预测值为:
[0053]
{-22.436596,-22.436596,-27.871496,-22.436596,-11.651032,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-27.871496,-27.871496,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-27.871496,-27.871496,-22.436596,-22.436596,-22.436596,-22.436596,-22.436596,-27.871496,-22.436596};
[0054]
二级子结构的预测值与二级子结构掩蔽一级子结构的预测值的差值为:
[0055]
{-1.2131767,-.2131767,-1.7056408,-1.2131767,-4.733241,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.7056408,-1.7056408,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.7056408,-1.7056408,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.2131767,-1.7056408,-1.2131767};
[0056]
计算所有差值的平均值,得到一级子结构在化合物m中的贡献值为-1.43。
[0057]
s5:重复进行s2~s4过程,直至计算得到一级子结构在化合物集合m中所有化合物的贡献值集v{-6.48、7.77、-9.72、6.58、-1.43},计算这些贡献值集的数值均值为-0.66,由于该值小于0,即可判断一级子结构cc(c=o)(ccc)n在图神经网络模型中不是活性子结构。
[0058]
本发明所述判断图神经网络模型中子结构活性的系统,所述系统用于判断待计算子结构在图神经网络模型中是否为活性子结构,其中所述待计算子结构为第一子结构;包括:
[0059]
化合物匹配单元,用于在图神经网络模型中匹配含有第一子结构的所有化合物的集合;
[0060]
第二子结构提取单元,用于提取在所述化合物中含有该第一子结构的第二子结构集合;所述图神经网络模型用于预测化合物的活性或毒性预测值;
[0061]
预测值获取单元,用于利用所述图神经网络模型计算每个第二子结构的活性或毒性预测值,以及每个第二子结构掩蔽第一子结构的活性或毒性预测值;
[0062]
贡献值计算单元,用于计算第一子结构对于每个化合物的活性的贡献值,以及用于计算第一子结构对于所有化合物的活性的贡献值的均值;
[0063]
活性子结构判断单元,用于将第一子结构对于所有化合物的活性的贡献值的均值与阈值比较,判断所述第一子结构在所述图神经网络模型中是否为活性子结构。
[0064]
进一步地,贡献值计算单元中,所述计算第一子结构对于每个化合物的活性的贡献值包括:计算每个第二子结构的活性或毒性预测值与第二子结构掩蔽第一子结构的活性或毒性预测值的差值,计算所述差值的平均值,得到第一子结构对于该化合物的活性的贡献值。
[0065]
本发明所述的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的判断图神经网络模型中子结构活性的方法。
[0066]
本发明所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的判断图神经网络模型中子结构活性的方法。
[0067]
所述计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。
[0068]
处理器用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。