一种基于双模态的药物靶标多标签分类方法

未命名 07-27 阅读:70 评论:0


1.本发明涉及药物靶标分类技术领域,尤其涉及一种基于双模态的药物靶标多标签分类方法。


背景技术:

2.随着生物领域不断有新的药物以及靶标(蛋白质)被发现,如果用人力判断药物和靶标之间是否存在相互作用会花费大量人力物力。所以如果对药物以及靶标进行有效的分类,可以省去大量人力物力。因此,设计一种有效的分类体系进行药物靶标的自动分类十分重要。药物靶标分类问题的关键在于从药物与靶标是否存在相互作用的数据中提取能够尽可能表达药物以及靶标信息的特征表示。传统的药物靶标分类方法主要分为两种,即基于深度学习的药物靶标分类方法和基于图神经网络的药物靶标分类方法。常见的基于深度学习的药物靶标分类方法其思路是利用特征工程进行药物以及靶标表示,再通过将药物的特征信息与靶标的特征信息拼接后接linear层后进行sigmoid函数进行二分类。相较于基于深度学习的药物靶标分类方法,基于图神经网络的药物靶标分类方法通常利用药物与靶标之间的关系建模图,将每个药物与靶标看成不同属性的图节点,药物与靶标之间的关系作为边。通过学习图中的邻居信息来学习节点表示。常见的基于图学习的药物靶标分类模型有卷积神经网络(convolutional neural networks,cnns)模型、循环神经网络(recurrent neural networks,rnns)模型,transformer模型等。例如,cnn模型将药物以及靶标分别构建两个不同的cnn模型,利用不同大小的卷积核对其进行卷积,然后通过池化层对卷积后的结果进行特征提取,后将药物以及靶标的特征信息进行拼接通过线性层和dropout层后进行sigmoid二分类。zhang等人使用transformer结构对药物进行建模,先将药物转成图结构通过图神经网络得到药物信息表示,将药物信息表示作为transformer输入得到最后的药物表示;靶标使用cnn模型得到靶标的信息表示。再将药物预靶标的信息表示拼接输入到fully connected layer中进行二分类。xu等人先将药物转成图结构,并通过gin(图同构网络)得到药物的特征信息;再将靶标通过cnn模型得到靶标的特征信息;再将数据集中所有药物以及靶标看成节点,通过药物和靶标的编码器获得对应的特征信息,将整个数据集构建成一张大图;通过在图上使用gcn以及随机游走等策略进行图上的信息的更新;最后将更新后的药物以及靶标的信息进行拼接进行sigmoid二分类。近年来使用图神经网络框架将药物靶标数据集建模成一张图再进行后续预测受到广泛关注。例如,yang等人使用不同尺度的编码器进行编码,药物使用多尺度的图卷积神经网络(gcn),通过对多尺度邻居融合获得不同尺度的药物结构信息,靶标使用不同尺度的卷积核获得靶标的不同尺度的特征信息;将两种信息进行拼接之后进行二分类得到最后的分类结果。zhou等人提出将gat(图注意网络)应用到药物靶标的分类中,将药物与靶标分别看成不同属性的节点,如果节点间存在相互作用则用边相连,药物的属性使用分子指纹用神经网络的编码器获取,靶标的属性使用一级序列也用神经网络的编码器获取;这样将数据集构建成一张图,通过使用gat在图上进行信息更新,将更新后的节点信息进行拼接之后进行二分类得到最后的分类结果。
shao等人提出使用异构图建模药物靶标分类问题,通过构建药物-药物相似性,药物-靶标相互作用,靶标-靶标相似性构建整体的异构图,分别使用gcn以及gat进行图中节点信息的更新,最后预测药物节点与靶标节点之间是否存在边相连。
3.传统的基于深度学习的药物靶标分类方法和基于图神经网络的药物靶标分类方法通常采用单示例单标签框架,即将每个药物靶标以及对应的标签数据同时通过特征工程或特征学习的方式将药物或者靶标表示为一个特征向量(示例)的形式,并假设这个特征向量(示例)可以包含药物或者靶标的整体信息,再将两种特征信息拼接后进行常规的二分类。然而,药物靶标数据往往具有复杂的空间结构特征,仅以序列方式提取特征信息来表示药物以及靶标,无法准确表达药物靶标数据的结构信息,会造成信息损失。此外,基于深度学习的模型例如cnn等,通常药物或者靶标数据都是现实中的分子,这些分子通常都由若干个其他子结构组成,所以药物以及靶标通常都是大分子结构,使用cnn模型来建模长序列更加难以获得药物以及靶标的整体信息。近年来,所提出的基于图神经网络的药物靶标分类方法,采用单图学习框架,是单示例学习框架的一个扩展,以单个图代替单个示例(特征向量)进行表示。即假设每个药物数据都可以被表示为一个图结构的数据。对于靶标数据由于都是大的蛋白质分子,依然使用靶标的一级序列进行特征提取。然而,单图学习框架将每个药物表示为一个单图的形式,每个原子被表示为一个节点,原子之间的关系作为边,将药物表示成图结构。再通过将药物图输入图神经网络模型,靶标使用一级序列输入到cnn中构建二分类模型,药物分子一般都比较大,对于图神经网络难以学习到药物的整体信息。所以对于使用药物smiles序列进行编码或者使用图神经网络编码药物图结构都难以表示药物的整体信息。
4.此外,现有的药物靶标分类任务中,由于药物与靶标存在相互作用的本质是由于药物中含有某一子结构,该子结构可以与靶标有相互作用。所以对于多个药物与同一靶标存在相互作用的情况,考虑药物中共存的子结构的特征信息对于判别药物与靶标之间的相互作用是合理的。但是大多数药物靶标分类方法仅能进行药物整体信息与靶标之间是否存在相互作用,这种分类方法没有考虑不同药物同时含有相同的子结构导致这些药物表现出一定的相似性。此外,在以往的药物靶标相互作用的分类中,大多是药物与靶标的二分类,在现实的数据中,多个药物可能与同一个靶标存在相互作用;多个靶标也可能与同一个药物存在相互作用。二分类没有考虑靶标标签之间的相关性,而且对于药物靶标来说相同的药物同时会与多个不同的靶标有相互作用的本质是多个靶标存在相似的某些性质导致同一药物和多个靶标有相互作用,所以在药物靶标分类中考虑标签相关性是十分重要且有必要的。
5.药物研发以及制药业突破的主要目标是发现与治疗疾病相关的药物分子,然而关于传统的药物靶标相互作用预测方法由于需要在巨量药物分子合成空间进行实验搜索和测定,需要大量的时间和昂贵的成本开销。近年来,许多研究人员考虑到可以采用具有不存在样品的限制优势的计算机虚拟筛选,先进行计算机虚拟大量有效筛选后,然后再进行药物靶标相互作用预测的实际生物实验,这样的研究策略与传统的直接进行随机的药物蛋白质靶标相互作用预测实验的策略比较,将显著地缩短新药的研发周期、降低研发费用。然而目前的学习方法都是基于单模态下的学习框架的药物靶标预测分类方法,也就是首先将药物smiles序列数据或者图数据表示为一个单一特征向量的形式,第一种将药物smiles序列
数据下的特征向量学习方法是无法有效保留药物和靶标的内在结构关系,极易造成信息损失;第二种图数据下的特征向量学习方法是需要先将药物的smiles序列数据转换成图数据,然后再对图数据进行相应的学习处理,目前由于序列数据转换成图数据是有多种不同转换方式,所以仅使用一种转换方式得到的图数据也无法真正体现和有效保留原药物和靶标的内在结构关系。此外,序列数据和图数据的方法仅能进行单标签预测,就是预测一种药物和一种蛋白质靶标是否相互作用,完全没有考虑一种药物可以和多种蛋白质靶标相互作用的标签间关系,并且也无法确定药物分子与蛋白质靶标结合作用的具体药物分子的子结构。


技术实现要素:

6.本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于双模态的药物靶标多标签分类方法,实现药物靶标的多标签分类。
7.为解决上述技术问题,本发明所采取的技术方案是:一种基于双模态的药物靶标多标签分类方法,
8.获得药物靶标数据集,药物靶标数据集中包括药物smiles序列、靶标一级序列以及药物与靶标的标签;
9.通过药物靶标数据集中药物smiles序列、靶标一级序列以及药物与靶标的标签训练transformer编码器,得到药物整体的向量表示;
10.构建整个药物靶标数据集的靶标标签共现图,对得到的标签共现图进行社区检测生成若干个标签子空间;
11.将药物smiles序列转换成图结构,按照可合成键的位置将药物分割成多个药物子结构图构成一个药物图包;
12.对于每个标签子空间中的若干靶标标签,在药物靶标的数据集中获得所有与该靶标存在相互作用的药物,并计算得到整个标签子空间的特征向量;
13.在每个标签子空间中,通过计算药物图包中每个子结构的特征与当前标签子空间的特征的相似性,获取药物图包的代表子结构特征向量;
14.将药物图包的特征向量与药物smiles序列的特征向量拼接后通过多标签分类器进行分类;
15.将所有标签子空间上分类结果进行集成作为药物靶标的分类结果。
16.具体包括以下步骤:
17.步骤1:获得药物靶标数据集;
18.步骤2:根据药物靶标数据集,构建完整药物smiles序列特征提取模型;
19.所述完整药物smiles序列特征提取模型将药物靶数据集中的药物smiles序列和靶标的一级序列作为输入;并构建两个transformer编码器,分别提取药物smiles序列以及靶标的一级序列的特征向量,获得药物smiles序列以及靶标的特征向量;再将药物smiles序列的特征向量以及靶标的特征向量进行拼接输入到神经网络中并使用sigmoid函数进行二分类;
20.每个transformer编码器如下公式所示:
21.f
encoder
(x)=encoder(x)
22.encoder(x)=add(feedforward(add(multihead(pe(x)+x))))
23.其中,x为transformer编码器的输入,两个transformer编码器的输入分别是药物smiles序列以及靶标一级序列;pe(x)为位置编码;multihead()表示多个自注意力头head的集成,如下公式所示
24.multihead(x)=concat(head1,...,headh)wo25.其中,wo是可学习的参数,headi表示第i个自注意力头的结果,h表示所定义的自注意力头的个数;headi表示为:
[0026][0027]
其中,w
iq
,w
ik
,w
iv
表示第i个自注意力头中可学习的参数,dk是xwi的维度;
[0028]
add()表示残差层,用于将将上一层输入与上一层输出相加,避免出现梯度消失的现象;
[0029]
feedforward()为前馈神经网络,由两层全连接神经网络组成,如下公式所示:feedforward(x)=(relu(xw1+b1))w2+b2[0030]
relu(x)=max(0,x)
[0031]
其中,w1和b1为第一层全连接神经网络的参数,w2和b2为第二层全连接神经网络的参数,relu()为激活函数;
[0032]
步骤3:将药物靶标数据集中药物smiles序列转换为药物图,构建药物图结构的特征提取模型gin;
[0033]
药物靶标数据集中药物的smiles序列由若干个原子组成,将药物smiles序列中每个原子作为节点,原子之间的关系作为边将smiles序列转换为药物图,并进行药物图结构特征和靶标特征的提取;最后将药物图的特征向量以及靶标的特征向量拼接输入到神经网络中并使用sigmoid函数进行二分类;
[0034]
靶标特征的提取使用transformer编码器,药物图结构特征的提取使用图同构网络(gin);
[0035]
所述图同构网络如下公式所示:
[0036]fgin
(h)=concat(readout({h
vk
|v∈g})|k=0,1,...,k)
[0037]
其中,f
gin
(h)是图同构网络得到的特征向量,h为输入的药物图结构,g为药物图中所有节点的集合,h
vk
为图中迭代第k次的v节点表示,如下公式所示:
[0038]hvk
=mlpk((1+εk)h
vk-1
+∑
u∈n(v)huk-1
)
[0039]
其中,初始时h
v0
是v节点的特征向量,n(v)为v节点的邻居节点,εk为一个可学习的参数,mlp为多层感知机;
[0040]
readout为图同构网络gin的读出函数,readout函数为同层迭代所有节点的求和操作;
[0041]
concat表示拼接操作;
[0042]
步骤4:构建整个药物靶标数据集的靶标标签共现图,并使用社区检测的方法进行标签子空间的划分;
[0043]
根据每个药物与靶标之间存在相互作用的靶标集合构建标签共现图,再使用社区检测方法根据标签共现图来划分不同的标签子空间,各个标签子空间中的标签是互斥的,
所有标签子空间中的标签聚合在一起就是完整的标签空间;
[0044]
将药物靶标数据集中与相同药物有相互作用的不同靶标进行聚合,将靶标看成标签,将每个靶标标签看成一个节点,如果两个靶标节点同时和同一个药物存在相互作用,那么两个节点间的边权值加一,以此构建整个药物靶标数据集的靶标标签共现图,再根据标签共现图使用社区检测的方法进行标签子空间的划分;
[0045]
标签子空间的划分方法采用fastgreedy社区检测方法;
[0046]
步骤5:将药物靶标数据集中的药物smiles序列按照可合成键的位置进行药物子结构分割,将每个药物子结构以原子为节点转成图结构,得到由多个子结构图所构成的多图包;
[0047]
使用brics算法将药物按照可合成键的位置拆解之后的分子在可合成键的断裂处会出现缺少氢原子化合价不平的问题,对此对每个分割后的小分子在断键处进行补氢,使得分割后的结构是正常的分子结构;将药物进行子结构分割补氢之后获得药物子结构集合,将每个药物子结构看成小分子进行转图,获得药物的多图包,图包中每个图是药物子结构转图后的图结构,如下公式所示:
[0048]
b=convertgraph(x,x∈(update_h(brics(s))))
[0049]
其中,b为将药物分割成子结构转图之后的多图包,s为药物的smiles序列,brics表示将药物按照可合成键分割的算法,药物是由若干个小分子结构进行结合构成的大分子结构,小分子结构结合的位置即为可合成键的位置,药物可以通过可合成键的位置拆解成若干个小分子,也可以由若干个小分子重新组合成药物大分子,updata_h表示将分割的子结构进行补氢操作,convertgraph表示将每个药物子结构以原子为节点,原子之间关系为边进行转图的操作;
[0050]
步骤6:获取药物靶标数据集中所有与各标签子空间中标签有相互作用的药物,确定各标签子空间的特征向量;
[0051]
分别药物靶标数据集中获取所有与各标签子空间中标签有相互作用的药物并进行药物子结构分割以及补氢,再将所有药物子结构分子转图后输入到步骤3中得到的药物图结构特征提取的gin模型中获得特征向量,将所有特征向量进行相加再取平均后得到的特征作为该标签子空间的特征向量;
[0052]
步骤7:根据多图包中每个药物子结构图和标签子空间的特征向量,确定各标签子空间上的代表图;
[0053]
将多图包中每个药物子结构图输入到步骤3中得到的药物图结构特征提取的gin模型中获得每个药物子结构图的特征向量;将每个药物子结构图的特征向量与每个标签子空间的特征向量做相似度匹配,取相似度最高的药物子结构图作为该药物在该标签子空间上的代表图,如下公式所示:
[0054]
r={max(cos(x,emb(l))|x∈b(x))|l∈l}
[0055]
其中,r为标签子空间上的代表图,l为标签空间划分后的集合,b(x)为将药物按照子结构进行划分之后的多图包,emb(l)为每个标签子空间所得到的特征向量,cos表示相似度计算。
[0056]
步骤8:根据各标签子空间上的代表图与药物smiles序列,确定药物在各标签子空间下的特征向量;
[0057]
将完整的药物smiles序列输入到步骤2中的transformer编码器以获得完整药物smiles序列的特征向量;再将在该药物构成的多图包在各标签子空间中选择出来的代表图输入到步骤3中得到的药物图结构特征提取的gin模型中获得各代表图的特征向量;将得到的药物smiles序列的特征向量和各代表图的特征向量做concat拼接操作,得到药物数据在各标签子空间下的特征向量;
[0058]
步骤9:在不同的标签子空间中构建独立的多标签分类器,通过多标签分类器对药物数据在各标签子空间下的特征向量进行分类;将所有标签子空间上的分类结果进行集成作为药物靶标的分类结果;
[0059]
所述多标签分类器选择选择分类器链算法进行分类。
[0060]
采用上述技术方案所产生的有益效果在于:本发明提供的一种基于双模态的药物靶标多标签分类方法,(1)通过对药物靶标存在相互作用的本质出发,将药物进行子结构分割,在药物子结构图集合中寻找代表子结构,对于两个不同的药物分子可能包含某一个相同的子结构,如果该子结构恰好被选中成为代表子结构进行后续分类的话,在分类时并不能体现这两个药物的差异性,通过引入药物smiles序列特征来解决这个问题。使得到的药物特征既包含整体药物的特征,又包含药物中子结构的独有的特性。从而提高分类的准确率。(2)结合社区检测算法,将靶标标签按照标签共现性进行标签子空间划分,并且将药物划分好的子结构图集合按照不同的标签子空间进行不同的代表子结构的选择,使得对于不相似的靶标标签,判断该标签是否与同一药物存在相互作用时,药物所选择的代表子结构图不同,这符合药物与靶标存在相互作用的本质,并且使用社区检测进行标签子空间的划分可以更好的考虑靶标标签之间的标签依赖关系。能够提高药物与靶标之间分类的准确性。
附图说明
[0061]
图1为本发明实施例提供的一种基于双模态的药物靶标多标签分类方法的流程图;
[0062]
图2为本发明实施例提供的药物smiles序列编码器训练的流程图;
[0063]
图3为本发明实施例提供的药物smiles序列转特征向量的示意图;
[0064]
图4为本发明实施例提供的药物图结构编码器训练的流程图;
[0065]
图5为本发明实施例提供的中药物图结构转特征向量的示意图;
[0066]
图6为本发明实施例提供的药物子结构分割转图结构的示意图。
具体实施方式
[0067]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0068]
本发明的核心思路,提供一种基于双模态的药物靶标多标签分类方法,首先在药物靶标数据集中得到药物的smiles序列,靶标的一级序列,以及药物是否与靶标存在相互作用的标签。构建transformer编码器对药物的smiles序列进行特征提取,通过药物靶标数据得到可以编码药物smiles序列特征的transformer模型;将药物smiles序列转成图结构,构建药物图结构编码器gin模型,通过药物靶标数据得到可以编码药物图结构特征的gin模
型。在现实世界中,同一个药物可能会同时与多个不同的靶标存在相互作用,同一个靶标可能同时与多个不同的药物存在相互作用。在药物靶标数据集中,由于每个药物同时会与多个不同靶标存在相互作用(即标签为1),将每个靶标标签看成一个节点,如果两个靶标节点同时和同一个药物存在相互作用,那么两个节点间的边权值加一。以此构建整个药物靶标数据集的靶标标签共现图,对得到的标签共现图进行社区检测生成若干个标签子空间;将药物的smiles序列通过上述transformer编码器得到药物smiles序列的特征向量。因为药物与靶标存在相互作用的本质是药物中某一子结构与靶标存在相互作用,将药物的smiles序列按照药物可合成键进行切割,再将切割得到的子结构进行转图操作,得到药物的多图包,根据药物的多图包在不同的标签子空间中进行药物多图包代表图的选择,并将得到的子结构图通过药物图结构编码器得到特征向量,再与药物的smiles序列的特征向量进行拼接并进行多标签分类,将所有的标签子空间上的分类结果进行集成作为输出。
[0069]
本实施例中,一种基于双模态的药物靶标多标签分类方法,如图1所示,包括以下步骤:
[0070]
步骤1:获得药物靶标数据集,药物靶标数据集中包括药物smiles序列、靶标一级序列以及药物与靶标的标签;
[0071]
本实施例使用三个真实药物靶标数据集:biosnap,binddb,davis数据集。
[0072]
步骤2:根据药物靶标数据集,构建完整药物smiles序列特征提取模型,如图2所示;
[0073]
本实施例中完整药物smiles序列特征提取模型是将药物靶数据集中的药物smiles序列和靶标的一级序列作为输入;并构建两个transformer编码器,分别提取药物smiles序列以及靶标的一级序列的特征向量,获得药物smiles序列以及靶标的特征向量;将药物smiles序列的特征向量以及靶标的特征向量进行拼接输入到神经网络中并使用sigmoid函数进行二分类;使用完整的药物靶标数据集进行迭代,可以得到对药物smiles序列有效的特征提取的transformer编码器。
[0074]
每个transformer编码器如下所示:
[0075]fencoder
(x)=encoder(x)
[0076]
encoder(x)=add(feedforward(add(multihead(pe(x)+x))))
[0077]
其中,x为transformer编码器的输入,两个transformer编码器的输入分别是药物smiles序列以及靶标一级序列;pe(x)为位置编码;multihead()表示多个自注意力头head的集成,如下公式所示:
[0078]
multihead(x)=concat(head1,...,headh)wo[0079]
其中,wo是可学习的参数,headi表示第i个自注意力头的结果,h表示所定义的自注意力头的个数;headi表示为:
[0080][0081]
其中,w
iq
,w
ik
,w
iv
表示第i个自注意力头中可学习的参数,dk是xwi的维度;
[0082]
add()表示残差层,用于将将上一层输入与上一层输出相加,避免出现梯度消失的现象;
[0083]
feedforward()为前馈神经网络,由两层全连接神经网络组成,如下公式所示:
feedforward(x)=(relu(xw1+b1))w2+b2[0084]
relu(x)=max(0,x)
[0085]
其中,w1和b1为第一层全连接神经网络的参数,w2和b2为第二层全连接神经网络的参数。relu()为激活函数。
[0086]
本实施例中,药物smiles序列通过transformer编码器得到特征向量如图3所示。
[0087]
步骤3:将药物靶标数据集中药物smiles序列转换为药物图,构建药物图结构的特征提取模型gin,如图4所示;
[0088]
药物靶标数据集中药物的smiles序列由若干个原子组成,将药物smiles序列中每个原子作为节点,原子之间的关系作为边将smiles序列转换为药物图,并将药物图以及靶标的一级序列进行药物图结构特征和靶标特征的提取;靶标特征的提取使用transformer编码器,药物图结构特征的提取使用图同构网络(gin);图同构网络如下所示:
[0089]fgin
(h)=concat(readout({h
vk
|v∈g})|k=0,1,...,k)
[0090]
其中,f
gin
(h)是图同构网络得到的特征向量,h为输入的药物图结构,g为药物图中所有节点的集合,h
vk
为图中迭代第k次的v节点表示,如下公式所示:
[0091]hvk
=mlpk((1+εk)h
vk-1
+∑
u∈n(v)huk-1
)
[0092]
其中,初始时h
v0
是v节点特征向量,n(v)为v节点的邻居节点,εk为一个可学习的参数,mlp为多层感知机。
[0093]
readout为图同构网络gin的读出函数,gin的节点表示会随着迭代次数的增加而越发精炼和全局,然而,早期迭代的特征有时会取得更好的泛化效果。为考虑全部的结构信息,使用全部迭代信息来进行建模。所以readout函数为同层迭代所有节点的求和操作。再进行concat拼接操作。
[0094]
通过得到药物图的特征向量以及靶标的特征向量,将药物图的特征向量以及靶标的特征向量concat拼接输入到神经网络中并使用sigmoid函数进行二分类;
[0095]
使用完整的药物靶标数据集进行迭代,可以得到对药物图结构有效的特征提取的图同构网络gin模型,本实施例中,将药物图结构通过图同构网络gin模型得到的特征向量如图5所示。
[0096]
步骤4:构建整个药物靶标数据集的靶标标签共现图,并使用社区检测的方法进行标签子空间的划分;
[0097]
根据每个药物与靶标之间存在相互作用的靶标集合构建标签共现图,再使用社区检测方法根据标签共现图来划分不同的标签子空间,得到的每个标签子空间都由若干个靶标标签组成,所有标签子空间中的靶标标签为互斥的,每个标签子空间内的靶标标签更加相似,不同标签子空间中靶标标签更加不相似,所有标签子空间中的标签聚合在一起就是完整的标签空间;
[0098]
将药物靶标数据集中与相同药物有相互作用的不同靶标进行聚合,将靶标看成标签,将每个靶标标签看成一个节点,如果两个靶标节点同时和同一个药物存在相互作用,那么两个节点间的边权值加一,以此构建整个药物靶标数据集的靶标标签共现图,再按照标签共现图使用社区检测的方法进行标签子空间的划分;
[0099]
本实施例中,标签子空间的划分方法采用fastgreedy社区检测方法,以自下而上贪婪的方式优化模块度质量函数,质量函数为评价划分的社区质量的函数,模块度质量函
数为社区内部的总边数和网络中总边数的比例减去一个期望值,该期望值是将网络设定为随机网络时同样的社区分配所形成的社区内部的总边数和网络中总边数的比例的大小。最初,标签共现图中每个节点都属于一个单独的社区,社区以迭代的方式合并,使得每次合并都是局部最优的(即模块化当前值的最大增加)。当无法再增加模块度时,该算法迭代完成。
[0100]
步骤5:将药物靶标数据集中药物smiles序列按照可合成键的位置进行药物子结构分割,将每个药物子结构以原子为节点转成图结构,得到由多个子结构图所构成的多图包;图包中的子结构图使用图同构网络gin进行特征提取;
[0101]
本实施例中,药物靶标数据集中的药物结构都是由若干个小分子结构(苯环,羟基,羧基等)合成一个大的药物分子,该药物分子所具有的一些属性大多来源于药物中的某个小分子结构。判断药物与靶标是否存在相互作用的本质其实是在判断药物中是否包含与该靶标有相互作用的某个小分子结构。所以需要将药物分子按照可合成的键进行分割,按照可合成的键进行分割后的子结构也可以按照原本的方式重新组合成原始的药物分子。本实施例中,使用brics算法将药物按照可合成键的位置拆解之后的分子在可合成键的断裂处会出现缺少氢原子化合价不平的问题,对此对每个分割后的小分子在断键处进行补氢,使得分割后的结构是正常的分子结构。将药物进行子结构分割补氢之后获得药物子结构集合,将每个药物子结构看成小分子进行转图,获得药物的多图包,图包中每个图是药物子结构转图后的图结构,如下公式所示:
[0102]
b=convertgraph(x,x∈(update_h(brics(s))))
[0103]
其中,b为将药物分割成子结构转图之后的多图包,s为药物的smiles序列,brics表示将药物按照可合成键分割的算法,药物是由若干个小分子结构进行结合构成的大分子结构,小分子结构结合的位置即为可合成键的位置,药物可以通过可合成键的位置拆解成若干个小分子,也可以由若干个小分子重新组合成药物大分子,updata_h表示将分割的子结构进行补氢操作,这是由于药物大分子在拆解成小分子结构时可合成键断裂,断裂的位置没有原子存在,所以会导致拆解到的小分子不稳定,所以需要进行补加氢原子得到完整的小分子结构,convertgraph表示将每个药物子结构以原子为节点,原子之间关系为边进行转图的操作;
[0104]
其中,图6为药物进行子结构分割后转成图结构的示意图。
[0105]
步骤6:获取药物靶标数据集中所有与各标签子空间中标签有相互作用的药物,确定各标签子空间的特征向量;
[0106]
分别从药物靶标数据集中获取所有与各标签子空间中标签有相互作用的药物并进行药物子结构分割以及补氢,再将所有药物子结构分子转图后输入到步骤3中得到的药物图结构特征提取的gin模型中获得特征向量,将所有特征向量进行相加再取平均后得到的特征作为该标签子空间的特征向量;
[0107]
步骤5中转化的多图包中的图为药物的子结构图,在步骤4中将靶标按照标签共现图进行标签子空间的划分,对于每个标签子空间,认为该标签子空间中的靶标标签具有一定的标签相关性,不同标签子空间中的靶标标签相关性较低。所以对于不同的标签子空间需要通过药物构成的多图包找到最适合的代表图(即药物子结构),而不是用一个多图包在所有标签子空间上进行后续分类。
[0108]
步骤7:根据多图包中每个药物子结构图和标签子空间的特征向量,确定各标签子
空间上的代表图;
[0109]
将多图包中每个药物子结构图输入到步骤3中得到的药物图结构特征提取的gin模型中获得每个药物子结构图的特征向量;将每个药物子结构图的特征向量与每个标签子空间的特征向量做相似度匹配,取相似度最高的药物子结构图作为该药物在该标签子空间上的代表图,如下公式所示:
[0110]
r={max(cos(x,emb(l))|x∈b(x))|l∈l}
[0111]
其中,r为标签子空间上的代表图,l为标签空间划分后的集合,b(x)为将药物按照子结构进行划分之后的多图包,emb(l)为每个标签子空间所得到的特征向量,cos表示相似度计算,可以表示为
[0112]
步骤8:根据各标签子空间上的代表图与药物smiles序列,确定药物在各标签子空间下的特征向量;
[0113]
将药物在不同的标签子空间中找到对应的子结构图作为该药物在该标签子空间上的代表图后,将完整的药物smiles序列输入到步骤2中的transformer编码器以获得完整药物smiles序列的特征向量;再将在该药物构成的多图包在各标签子空间中选择出来的代表图输入到步骤3中得到的药物图结构特征提取的gin模型中获得各代表图的特征向量;将得到的药物的药物smiles序列的特征向量和各代表图的特征向量做concat拼接操作,得到药物数据在各标签子空间下的特征向量。
[0114]
这里的concat操作是指将其中一个特征向量拼接到另一个特征向量的后面,拼接后的向量的维度为原本两个特征向量的维度之和。
[0115]
使用完整药物smiles序列的特征以及代表子结构图的特征的意义是区别那些含有同一个子结构的不同药物分子,在相同的标签子空间下,对于含有相同子结构的不同药物来说,选择最后代表子结构图也很可能是同一子结构,为了区分这种情况,需使用完整的药物特征,由于药物分子一般很大,使用图神经网络很难学习到完整的药物特征,所以使用药物的smiles序列作为输入,使用attention的方法学习药物完整的特征向量并与从药物构成的多图包中选择的代表子结构向量做拼接,得到最后的特征向量。
[0116]
步骤9:在不同的标签子空间中构建独立的多标签分类器,通过多标签分类器对药物数据在各标签子空间下的特征向量进行分类;将所有标签子空间上分类结果进行集成作为药物靶标的分类结果;
[0117]
本实施例中,多标签分类器选择分类器链算法(classifier chains)进行分类,该算法的基本思想是将多标签学习转化为一个链的二分类问题,其中链路上后续的二分类器建于前面二分类器的预测之上。对于每个标签子空间上的q个分类标签{y1,y2,...,yq},令τ:{1,...,q}

{1,...,q}为一个排列函数,用于为标签定义一个顺序,即y
τ(1)
>y
τ(2)


>y
τ(q)
。对于排序列表的第j个标签y
τ(j)
,相应的二分类训练集的构建方式是在药物的特征向量后面拼接前j-1个二分类器的分类结果标签:
[0118]
设定[xi,pre
iτ(j)
]表示xi和pre
iτ(j)
的拼接,pre
iτ(j)
表示第j个标签之前的标签是否与xi相关,相关的位置是1,不相关的位置是0。然后,某个二分类学习算法β(比如逻辑回归算法)用来训练一个二分类器其中,χ为该药物的特征信息,为经过二分类器的输出。
[0119]
对于新样本药物数据x,它的标签集合通过迭代遍历分类器链来得到。令λ
xτ(j)
∈{-1,+1}表示标签y
τ(j)
在x上预测出的标签结果,它可以递归推导:
[0120]
λ
xτ(1)
=sign[g
τ(1)
(x)]
[0121]
λ
xτ(j)
=sign[g
τ(j)
([x,λ
xτ(1)
,...,λ
xτ(j-1)
])](2≤j≤q)
[0122]
相应地,标签集合是:
[0123]
y={y
τ(j)

xτ(j)
=+1,1≤j≤q}
[0124]
其中,λ
xτ(j)
为第j个二分类器的分类标签,sign为激活函数,y为最后所有分类器分类的标签集合。
[0125]
所以药物数据的分类很大程度上受排列τ影响。分类器链以随机的方式考虑所有标签的相互关系。与二元相关性相比,分类器链的优点是利用了标签相关性。对于每个标签子空间来说,子空间中的各个标签相关性程度较高,所以使用分类器链来对标签子空间进行分类。最后将所有标签子空间上的分类结果集成。
[0126]
本发明的步骤2-4均是独立进行的,步骤2,3使用药物与靶标的一级序列以及是否存在相互作用进行独立训练,步骤4是通过统计药物靶标数据中的信息,将每个靶标看成一个标签,通过统计相同药物分子与多少不同靶标同时存在相互作用构建标签共现图。再使用社区检测算法进行标签子空间的划分。步骤5-7是训练每个标签子空间上的多标签分类器,通过将药物按照可合成键分割成不同子结构再进行补氢后转图,将每个药物构成一个多图包。获得药物子结构的特征向量以及完整药物的smiles的特征向量拼接后在当前标签子空间上进行多标签分类。
[0127]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

技术特征:
1.一种基于双模态的药物靶标多标签分类方法,其特征在于:获得药物靶标数据集,药物靶标数据集中包括药物smiles序列、靶标一级序列以及药物与靶标的标签;通过药物靶标数据集中药物smiles序列、靶标一级序列以及药物与靶标的标签训练transformer编码器,得到药物整体的向量表示;构建整个药物靶标数据集的靶标标签共现图,对得到的标签共现图进行社区检测生成若干个标签子空间;将药物smiles序列转换成图结构,按照可合成键的位置将药物分割成多个药物子结构图构成一个药物图包;对于每个标签子空间中的若干靶标标签,在药物靶标的数据集中获得所有与该靶标存在相互作用的药物,并计算得到整个标签子空间的特征向量;在每个标签子空间中,通过计算药物图包中每个子结构的特征与当前标签子空间的特征的相似性,获取药物图包的代表子结构特征向量;将药物图包的特征向量与药物smiles序列的特征向量拼接后通过多标签分类器进行分类;将所有标签子空间上分类结果进行集成作为药物靶标的分类结果。2.根据权利要求1所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述方法包括以下步骤:步骤1:获得药物靶标数据集;步骤2:根据药物靶标数据集,构建完整药物smiles序列特征提取模型;所述完整药物smiles序列特征提取模型将药物靶数据集中的药物smiles序列和靶标的一级序列作为输入;并构建两个transformer编码器,分别提取药物smiles序列以及靶标的一级序列的特征向量,获得药物smiles序列以及靶标的特征向量;再将药物smiles序列的特征向量以及靶标的特征向量进行拼接输入到神经网络中并使用sigmoid函数进行二分类;步骤3:将药物靶标数据集中药物smiles序列转换为药物图,构建药物图结构的特征提取模型gin;药物靶标数据集中药物的smiles序列由若干个原子组成,将药物smiles序列中每个原子作为节点,原子之间的关系作为边将smiles序列转换为药物图,并进行药物图结构特征和靶标特征的提取;最后将药物图的特征向量以及靶标的特征向量拼接输入到神经网络中并使用sigmoid函数进行二分类;步骤4:构建整个药物靶标数据集的靶标标签共现图,并使用社区检测的方法进行标签子空间的划分;根据每个药物与靶标之间存在相互作用的靶标集合构建标签共现图,再使用社区检测方法根据标签共现图来划分不同的标签子空间,各个标签子空间中的标签是互斥的,所有标签子空间中的标签聚合在一起就是完整的标签空间;步骤5:将药物靶标数据集中的药物smiles序列按照可合成键的位置进行药物子结构分割,将每个药物子结构以原子为节点转成图结构,得到由多个子结构图所构成的多图包;步骤6:获取药物靶标数据集中所有与各标签子空间中标签有相互作用的药物,确定各
标签子空间的特征向量;步骤7:根据多图包中每个药物子结构图和标签子空间的特征向量,确定各标签子空间上的代表图;步骤8:根据各标签子空间上的代表图与药物smiles序列,确定药物在各标签子空间下的特征向量;步骤9:在不同的标签子空间中构建独立的多标签分类器,通过多标签分类器对药物数据在各标签子空间下的特征向量进行分类;将所有标签子空间上的分类结果进行集成作为药物靶标的分类结果。3.根据权利要求2所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述transformer编码器如下公式所示:f
encoder
(x)=encoder(x)encoder(x)=add(feedforward(add(multihead(pe(x)+x))))其中,x为transformer编码器的输入,两个transformer编码器的输入分别是药物smiles序列以及靶标一级序列;pe(x)为位置编码;multihead()表示多个自注意力头head的集成,如下公式所示multihead(x)=concat(head1,...,head
h
)w
o
其中,w
o
是可学习的参数,head
i
表示第i个自注意力头的结果,h表示所定义的自注意力头的个数;head
i
表示为:其中,w
iq
,w
ik
,w
iv
表示第i个自注意力头中可学习的参数,d
k
是xw
i
的维度;add()表示残差层,用于将将上一层输入与上一层输出相加,避免出现梯度消失的现象;feedforward()为前馈神经网络,由两层全连接神经网络组成,如下公式所示:feedforward(x)=(relu(xw1+b1))w2+b2relu(x)=max(0,x)其中,w1和b1为第一层全连接神经网络的参数,w2和b2为第二层全连接神经网络的参数,relu()为激活函数。4.根据权利要求3所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:步骤3所述靶标特征的提取使用transformer编码器,药物图结构特征的提取使用图同构网络gin;所述图同构网络如下公式所示:f
gin
(h)=concat(readout({h
vk
|v∈g})|k=0,1,...,k)其中,f
gin
(h)是图同构网络得到的特征向量,h为输入的药物图结构,g为药物图中所有节点的集合,h
vk
为图中迭代第k次的v节点表示,如下公式所示:h
vk
=mlp
k
((1+ε
k
)h
vk-1
+∑
u∈n(v)
h
uk-1
)其中,初始时h
v0
是v节点的特征向量,n(v)为v节点的邻居节点,ε
k
为一个可学习的参数,mlp为多层感知机;readout为图同构网络gin的读出函数,readout函数为同层迭代所有节点的求和操作;
concat表示拼接操作。5.根据权利要求4所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤4将药物靶标数据集中与相同药物有相互作用的不同靶标进行聚合,将靶标看成标签,将每个靶标标签看成一个节点,如果两个靶标节点同时和同一个药物存在相互作用,那么两个节点间的边权值加一,以此构建整个药物靶标数据集的靶标标签共现图,再根据标签共现图使用社区检测的方法进行标签子空间的划分。6.根据权利要求5所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤5使用brics算法将药物按照可合成键的位置拆解之后的分子在可合成键的断裂处会出现缺少氢原子化合价不平的问题,对此对每个分割后的小分子在断键处进行补氢,使得分割后的结构是正常的分子结构;将药物进行子结构分割补氢之后获得药物子结构集合,将每个药物子结构看成小分子进行转图,获得药物的多图包,图包中每个图是药物子结构转图后的图结构,如下公式所示:b=convertgraph(x,x∈(update_h(brics(x))))其中,b为将药物分割成子结构转图之后的多图包,s为药物的smiles序列,brics表示将药物按照可合成键分割的算法,药物是由若干个小分子结构进行结合构成的大分子结构,小分子结构结合的位置即为可合成键的位置,药物能够通过可合成键的位置拆解成若干个小分子,也能由若干个小分子重新组合成药物大分子,updata_h表示将分割的子结构进行补氢操作,convertgraph表示将每个药物子结构以原子为节点,原子之间关系为边进行转图的操作。7.根据权利要求6所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤6分别从药物靶标数据集中获取所有与各标签子空间中标签有相互作用的药物并进行药物子结构分割以及补氢,再将所有药物子结构分子转图后输入到步骤3中得到的药物图结构特征提取的gin模型中获得特征向量,将所有特征向量进行相加再取平均后得到的特征作为该标签子空间的特征向量。8.根据权利要求7所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤7将多图包中每个药物子结构图输入到步骤3中得到的药物图结构特征提取的gin模型中获得每个药物子结构图的特征向量;将每个药物子结构图的特征向量与每个标签子空间的特征向量做相似度匹配,取相似度最高的药物子结构图作为该药物在该标签子空间上的代表图,如下公式所示:r={max(cos(x,emb(l))|x∈b(x))|l∈l}其中,r为标签子空间上的代表图,l为标签空间划分后的集合,b(x)为将药物按照子结构进行划分之后的多图包,emb(l)为每个标签子空间所得到的特征向量,cos表示相似度计算。9.根据权利要求8所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤8将完整的药物smiles序列输入到步骤2中的transformer编码器以获得完整药物smiles序列的特征向量;再将在该药物构成的多图包在各标签子空间中选择出来的代表图输入到步骤3中得到的药物图结构特征提取的gin模型中获得各代表图的特征向量;将得到的药物smiles序列的特征向量和各代表图的特征向量做concat拼接操作,得到药物数据在各标签子空间下的特征向量。
10.根据权利要求9所述的一种基于双模态的药物靶标多标签分类方法,其特征在于:所述步骤4采用fastgreedy社区检测方法进行标签子空间的划分方法;步骤9所述多标签分类器选择选择分类器链算法进行分类。

技术总结
本发明提供一种基于双模态的药物靶标多标签分类方法,涉及药物靶标分类技术领域。该方法首先获得药物靶标数据集,并训练Transformer编码器,得到药物整体的向量表示;构建药物靶标数据集的靶标标签共现图,并生成若干个标签子空间;再将药物分割成多个药物子结构图构成一个药物图包;对于每个标签子空间中的若干靶标标签,在药物靶标数据集中获得所有与该靶标存在相互作用的药物,计算得到整个标签子空间的特征向量;在每个标签子空间中,获取药物图包的代表子结构特征向量;将药物图包的特征向量与药物SMILES序列的特征向量拼接后通过多标签分类器进行分类;将所有标签子空间上分类结果进行集成作为药物靶标的分类结果。结果。结果。


技术研发人员:赵宇海 何子豪 谢儒 印莹
受保护的技术使用者:东北大学
技术研发日:2023.04.17
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐