【技术实现步骤摘要】
一种基于双模态的药物靶标多标签分类方法
[0001]本专利技术涉及药物靶标分类
,尤其涉及一种基于双模态的药物靶标多标签分类方法。
技术介绍
[0002]随着生物领域不断有新的药物以及靶标(蛋白质)被发现,如果用人力判断药物和靶标之间是否存在相互作用会花费大量人力物力。所以如果对药物以及靶标进行有效的分类,可以省去大量人力物力。因此,设计一种有效的分类体系进行药物靶标的自动分类十分重要。药物靶标分类问题的关键在于从药物与靶标是否存在相互作用的数据中提取能够尽可能表达药物以及靶标信息的特征表示。传统的药物靶标分类方法主要分为两种,即基于深度学习的药物靶标分类方法和基于图神经网络的药物靶标分类方法。常见的基于深度学习的药物靶标分类方法其思路是利用特征工程进行药物以及靶标表示,再通过将药物的特征信息与靶标的特征信息拼接后接Linear层后进行sigmoid函数进行二分类。相较于基于深度学习的药物靶标分类方法,基于图神经网络的药物靶标分类方法通常利用药物与靶标之间的关系建模图,将每个药物与靶标看成不同属性的图节点,药物与靶标之 ...
【技术保护点】
【技术特征摘要】
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为第一层全连...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。