一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法及系统

2022-06-01 05:14:42 来源:中国专利 TAG:


1.本发明属于计算生物学技术领域,尤其涉及一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法及系统。


背景技术:

2.蛋白质是由20种标准氨基酸类型组成的生物大分子,其在许多生物过程中起着非常重要的作用。蛋白质的氨基酸序列决定其三级结构,而其功能又显著地依赖于三级结构。当前由于蛋白质测序技术的快速发展,使得蛋白质序列数据库中蛋白质的数量显著地多于已知结构的蛋白质数量。为此,计算方法预测蛋白质结构已经成为缩小序列数量和结构数量差异的必要手段。在蛋白质三级结构预测中,一个重要的子任务是寻找具有类似结构的蛋白质。对于一个未知结构的蛋白质,当其在pdb数据库中存在类似结构的蛋白质时,以该类蛋白质为模板可以精确地对其结构进行建模。特别地,蛋白质折叠识别可以帮助寻找具有类似结构的蛋白质。
3.当前最新发布的scope 2.08数据库把蛋白质结构分成12大类:全α蛋白质、全β蛋白质、α/β蛋白质、α β蛋白质、多域蛋白质、膜和细胞表面蛋白质及肽、小蛋白质、卷曲的卷曲蛋白质、低分辨率蛋白质结构、肽、设计的蛋白质和瑕疵蛋白质。scope 2.08数据库发布的稳定统计包含前7个结构大类,它们包含的折叠类别数分别为290、180、148、396、74、69和100,总计有1257个折叠类别、2067个超家族和5084个家族。特别地,随着新的蛋白质结构的发布,已知的超家族数量会有稍微的变化[chandonia,j.m.,n.k.fox,and s.e.brenner,scope:classification of large macromolecular structures in the structural classification of proteins-extended database.nucleic acids res,2019.47(d1):p.d475-d481.]。如果两个不同的超家族由于新结构的出现被发现是彼此相关的,它们会被合并为同一个超家族。此外,单个域(domain)可能由于不同进化关系的发现被分成多个域。
[0004]
目前,许多机器学习算法如支持向量机[yan,k.,et al.,protein fold recognition by combining support vector machines and pairwise sequence similarity scores.ieee/acm trans comput biol bioinform,2021.18(5):p.2008-2016]、神经网络[villegas-morcillo,a.,v.sanchez,and a.m.gomez,foldhsphere:deep hyperspherical embeddings for protein fold recognition.bmc bioinformatics,2021.22(1):p.490.]、集成分类器和随机森林等已经成功地应用于折叠识别。然而这些存在的方法不仅在训练模型时忽略了折叠数据集的不平衡性,而且大都将pssm谱特征或hhm谱特征作为主要的折叠识别特征。需要注意的是生成这些谱特征需要对大规模序列数据库执行耗时的多序列比对。


技术实现要素:

[0005]
本发明针对现有蛋白质折叠识别方法不仅在训练模型时忽略了折叠数据集的不
平衡性,而且大都将pssm谱特征或hhm谱特征作为主要的折叠识别特征,而生成这些谱特征需要对大规模序列数据库执行耗时的多序列比对的问题,提出一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法及系统,基于从预训练的蛋白质语言模型导出的嵌入特征进行蛋白质折叠识别,并且在模型训练时引入不平衡分类损失增强稀疏折叠类别的学习能力。本发明提出的折叠识别方法能够快速准确地预测蛋白质的折叠类别。
[0006]
为了实现上述目的,本发明采用以下技术方案:
[0007]
本发明一方面提出一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法,包括:
[0008]
步骤1:确定蛋白质折叠训练数据集和测试数据集,所述蛋白质折叠训练数据集和测试数据集均包含多条蛋白质链;
[0009]
步骤2:采用预训练的蛋白质语言模型prott5-xl-uniref50生成蛋白质折叠训练数据集中蛋白质链的嵌入矩阵;
[0010]
步骤3:通过计算均值和余弦相似性将嵌入矩阵转化为蛋白质链的固定长度的特征向量;
[0011]
步骤4:构建蛋白质折叠识别网络模型,所述蛋白质折叠识别网络模型为由三个全连接层组成的多层感知机,且多层感知机的最后一层全连接层采用的是归一化的全连接层;
[0012]
步骤5:采用针对不平衡分类的标签分布意识的间隔损失作为训练折叠识别网络模型的损失函数;
[0013]
步骤6:基于蛋白质折叠训练数据集和训练折叠识别网络的损失函数训练折叠识别网络模型;
[0014]
步骤7:基于蛋白质折叠测试数据集和训练好的折叠识别网络模型预测蛋白质链的折叠类别。
[0015]
进一步地,所述步骤2包括:
[0016]
对于蛋白质折叠训练数据集中任意一个长度为l的蛋白质链,先将其氨基酸序列中的所有字符都转换为大写字符,并将转换后的氨基酸序列作为模型prott5-xl-uniref50的输入,最后在半精度模式下运行该模型并保存其编码器的输出,获得大小为l
×
1024的嵌入特征矩阵。
[0017]
进一步地,所述步骤3包括:
[0018]
对于给定的大小为l
×
1024的嵌入矩阵e,首先计算嵌入矩阵每列的均值,获得长度为1024的特征表示:
[0019][0020]
其中l表示嵌入矩阵e的行数;
[0021]
然后计算嵌入矩阵每行的均值,获得长度为l的向量:
[0022][0023]
接着计算f
row_mean
与嵌入矩阵每个列向量的余弦相似度,获得长度为1024的特征表
示:
[0024]fcos_sim
=[s1,s2,...,sj,...s
1024
]
t
[0025]
余弦相似度sj按如下公式进行计算:
[0026][0027]
其中《
·
,
·
》表示两个向量的内积,||
·
||表示向量的长度;
[0028]
最后,将两个向量f
col_mean
与f
cos_sim
拼接成一个向量来表示蛋白质链的特征,通过上述操作每个蛋白质链可以表示成2048维的特征向量。
[0029]
进一步地,所述步骤6还包括:
[0030]
采用pytorch深度学习框架的默认权值初始化方法初始化多层感知机的网络参数。
[0031]
进一步地,所述步骤7包括:
[0032]
首先执行步骤2和步骤3以将蛋白质折叠测试数据集中蛋白质链表示为特征向量,然后将该特征向量输入训练好的折叠识别网络模型中,将得分最高的折叠类别分配给该蛋白质链。
[0033]
本发明另一方面提出一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别系统,包括:
[0034]
数据集确定模块,用于确定蛋白质折叠训练数据集和测试数据集,所述蛋白质折叠训练数据集和测试数据集均包含多条蛋白质链;
[0035]
嵌入矩阵生成模块,用于采用预训练的蛋白质语言模型prott5-xl-uniref50生成蛋白质折叠训练数据集中蛋白质链的嵌入矩阵;
[0036]
特征向量得出模块,用于通过计算均值和余弦相似性将嵌入矩阵转化为蛋白质链的固定长度的特征向量;
[0037]
模型构建模块,用于构建蛋白质折叠识别网络模型,所述蛋白质折叠识别网络模型为由三个全连接层组成的多层感知机,且多层感知机的最后一层全连接层采用的是归一化的全连接层;
[0038]
损失函数得出模块,用于采用针对不平衡分类的标签分布意识的间隔损失作为训练折叠识别网络模型的损失函数;
[0039]
模型训练模块,用于基于蛋白质折叠训练数据集和训练折叠识别网络的损失函数训练折叠识别网络模型;
[0040]
折叠类别识别模块,用于基于蛋白质折叠测试数据集和训练好的折叠识别网络模型预测蛋白质链的折叠类别。
[0041]
进一步地,所述嵌入矩阵生成模块具体用于:
[0042]
对于蛋白质折叠训练数据集中任意一个长度为l的蛋白质链,先将其氨基酸序列中的所有字符都转换为大写字符,并将转换后的氨基酸序列作为模型prott5-xl-uniref50的输入,最后在半精度模式下运行该模型并保存其编码器的输出,获得大小为l
×
1024的嵌入特征矩阵。
[0043]
进一步地,所述特征向量得出模块具体用于:
[0044]
对于给定的大小为l
×
1024的嵌入矩阵e,首先计算嵌入矩阵每列的均值,获得长度为1024的特征表示:
[0045][0046]
其中l表示嵌入矩阵e的行数;
[0047]
然后计算嵌入矩阵每行的均值,获得长度为l的向量:
[0048][0049]
接着计算f
row_mean
与嵌入矩阵每个列向量的余弦相似度,获得长度为1024的特征表示:
[0050]fcos_sim
=[s1,s2,...,sj,...s
1024
]
t
[0051]
余弦相似度sj按如下公式进行计算:
[0052][0053]
其中《
·
,
·
》表示两个向量的内积,||
·
||表示向量的长度;
[0054]
最后,将两个向量f
col_mean
与f
cos_sim
拼接成一个向量来表示蛋白质链的特征,通过上述操作每个蛋白质链可以表示成2048维的特征向量。
[0055]
进一步地,所述模型训练模块还用于:
[0056]
采用pytorch深度学习框架的默认权值初始化方法初始化多层感知机的网络参数。
[0057]
进一步地,所述折叠类别识别模块具体用于:
[0058]
首先执行嵌入矩阵生成模块和特征向量得出模块以将蛋白质折叠测试数据集中蛋白质链表示为特征向量,然后将该特征向量输入训练好的折叠识别网络模型中,将得分最高的折叠类别分配给该蛋白质链。
[0059]
与现有技术相比,本发明具有的有益效果:
[0060]
本发明首先采用预训练的蛋白质语言模型prott5-xl-uniref50生成给定蛋白质链的嵌入矩阵,然后通过计算均值和余弦相似性将嵌入矩阵转化为固定长度的特征向量。特别地,通过使用嵌入特征,本发明避免了耗时的多序列比对操作。此外,考虑到蛋白质折叠数据具有明显的不平衡类分布,本发明采用针对不平衡分类任务的标签分布意识间隔损失训练设计的多层感知机网络,并因此增强了稀疏折叠类别的学习能力。总之,本发明提出的蛋白质折叠识别网络模型能够快速准确地预测给定蛋白质链的折叠类别。
附图说明
[0061]
图1为本发明实施例一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法的基本流程图;
[0062]
图2为本发明实施例设计的蛋白质折叠识别网络结构示意图;
[0063]
图3为本发明实施例蛋白质折叠类别预测的流程图;
[0064]
图4为本发明实施例一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别系统
架构示意图。
具体实施方式
[0065]
下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0066]
如图1所示,一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别方法,包括:
[0067]
步骤s101:确定蛋白质折叠训练数据集和测试数据集,所述蛋白质折叠训练数据集和测试数据集均包含多条蛋白质链;
[0068]
步骤s102:采用预训练的蛋白质语言模型prott5-xl-uniref50生成蛋白质折叠训练数据集中蛋白质链的嵌入矩阵;
[0069]
步骤s103:通过计算均值和余弦相似性将嵌入矩阵转化为蛋白质链的固定长度的特征向量;
[0070]
步骤s104:构建蛋白质折叠识别网络模型,所述蛋白质折叠识别网络模型为由三个全连接层组成的多层感知机,且多层感知机的最后一层全连接层采用的是归一化的全连接层;
[0071]
步骤s105:采用针对不平衡分类的标签分布意识的间隔损失作为训练折叠识别网络模型的损失函数;
[0072]
步骤s106:基于蛋白质折叠训练数据集和训练折叠识别网络的损失函数训练折叠识别网络模型;
[0073]
步骤s107:基于蛋白质折叠测试数据集和训练好的折叠识别网络模型预测蛋白质链的折叠类别。
[0074]
进一步地,步骤s101中,本发明采用讯飞开放平台2021年举办的蛋白质结构预测挑战赛(https://challenge.xfyun.cn/topic/info?type=protein&ch=dc-web-01)中发布的竞赛数据作为蛋白质折叠数据集。该数据集来自于蛋白质结构分类数据库astral scope 2.07,由11843条蛋白质链组成,并且任意两条蛋白质链间的序列一致性低于40%。特别地,为了保证每个折叠类别有足够的样本进行训练,挑选的折叠类别包含的蛋白质链个数都不低于10。此外,数据集被进一步划分为训练集和测试集,其中训练集包含9472条蛋白质链,测试集包含2371个蛋白质链。数据集中折叠类别的个数是245。
[0075]
进一步地,步骤s102中,本发明首先从链接https://zenodo.org/record/4644188#.yzxmzcvby70中下载预训练的蛋白质语言模型prott5-xl-uniref50。然后,对于任意一个长度为l的给定蛋白质链,先将其氨基酸序列中的所有字符都转换为大写字符,并将转换后的氨基酸序列作为模型prott5-xl-uniref50的输入,最后在半精度模式下运行该模型并保存其编码器的输出,可以获得大小为l
×
1024的嵌入特征矩阵。这意味着每个氨基酸残基对应的嵌入特征的维数是1024。
[0076]
进一步地,步骤s103中,为了预测给定蛋白质链的折叠类型,需要把不同长度的蛋白质链表示成固定大小的特征向量。对于给定的大小为l
×
1024的嵌入矩阵e,本发明首先计算嵌入矩阵每列的均值,获得长度为1024的特征表示:
[0077][0078]
其中l表示嵌入矩阵e的行数;
[0079]
然后计算嵌入矩阵每行的均值,获得长度为l的向量:
[0080][0081]
接着计算f
row_mean
与嵌入矩阵每个列向量的余弦相似度,获得长度为1024的特征表示:
[0082]fcos_sim
=[s1,s2,...,sj,...s
1024
]
t
[0083]
特别地,余弦相似度sj按如下公式进行计算:
[0084][0085]
其中《
·
,
·
》表示两个向量的内积,||
·
||表示向量的长度。
[0086]
最后,本发明将两个向量f
col_mean
与f
cos_sim
拼接成一个向量来表示蛋白质链的特征。显然,通过上述操作每个蛋白质链可以表示成2048维的特征向量。
[0087]
进一步地,步骤s104中,本发明设计的折叠识别网络模型是由三个全连接层组成的多层感知机。图2给出了折叠识别网络的模型架构,其中x表示大小为n
×
2048的输入矩阵,z表示大小为n
×
245的输出矩阵,n表示mini-batch中蛋白质链的个数,fc表示对输入数据进行线性变换的全连接层。前两个全连接层的后面都跟着激活函数relu。特别地,多层感知机的最后一层采用的是归一化的全连接层。对于给定的输入数据向量x,归一化的全连接层采用如下方式计算输出向量z:
[0088][0089]
其中a表示全连接层的权值矩阵,超参数τ是缩放因子。在本发明中,我们把τ设置为18。
[0090]
值得说明的是,本发明没有采用较深的网络模型进行蛋白质折叠识别。这是因为本发明采用的嵌入特征来自于预训练的深度蛋白质语言模型prott5-xl-uniref50。由于模型prott5-xl-uniref50是由约30亿个参数组成的深度transformer网络,因此其编码器的输出特征已经包含了每个残基的上下文信息。所以基于嵌入特征进行折叠识别并不需要较深的网络模型。特别地,在具体实施中全连接层fc1的输出维度为2048,全连接层fc2的输出维度为1024。
[0091]
进一步地,步骤s105中,通过对训练数据集进行统计分析可以发现:在245个折叠类别中,17.96%的折叠类别的样本数不低于50,35.92%的折叠类别的样本数介于20和50之间,46.12%的折叠类别的样本数低于20。显然蛋白质折叠识别问题是不平衡分类问题。特别地,当用普通的交叉熵损失训练折叠识别网络时,稀疏类的信息在训练时通常会被频繁类的信息所淹没,因此其只能获得较低的分类精度。为此,本发明采用针对不平衡分类的标签分布意识的间隔损失[cao,k.,et al.learning imbalanced datasets with label-distribution-aware margin loss.in advances in neural information processing systems 32,2019.]训练折叠识别网络来增强稀疏类的学习能力。具体地,令n
l
表示训练数据集中第l个折叠类别中的蛋白质链个数,向量γ=[γ1,γ2,...,γ
245
],其中
第l个折叠类别的标签依赖间隔被定义为:δ
l
=γ
l

max
,其中γ
max
表示向量γ的最大值。注意稀疏的折叠类别具有较大的间隔。基于折叠识别网络的输出矩阵z和对应的标签向量y,可以定义如下的标签分布意识的间隔损失:
[0092][0093]
其中超参数s可以调整间隔的大小,在本发明中我们将其设置为5。
[0094]
进一步地,步骤s106中,为了训练设计的折叠识别网络,本发明采用pytorch深度学习框架的默认权值初始化方法初始化多层感知机的网络参数。特别地,为了初始化归一化的全连接层中的权值矩阵a,本发明首先从均匀分布u(-1,1)中采样一个与矩阵a大小相同的矩阵,然后将其每列归一化为单位向量并用其对a进行初始化。此外,本发明在训练时将mini-batch的大小设置为64,采用的优化器是学习率为0.001的adamw,权值衰减超参数被设置为0.001,最大允许的epoch大小为10。
[0095]
进一步地,步骤s107中,为了预测给定蛋白质链的折叠类别,需要首先执行步骤s102和步骤s103以便将其表示为2048维的特征向量。然后将该特征向量送入训练好的折叠识别网络中,可以获得245维的输出向量(logit记分向量)。最后将最大的输出向量对应的折叠类别指派给该蛋白质链。图3给出了本发明预测蛋白质链折叠类别的流程图。
[0096]
在上述实施例的基础上,如图4所示,本发明还提出一种基于嵌入特征和不平衡分类损失的蛋白质折叠识别系统,包括:
[0097]
数据集确定模块,用于确定蛋白质折叠训练数据集和测试数据集,所述蛋白质折叠训练数据集和测试数据集均包含多条蛋白质链;
[0098]
嵌入矩阵生成模块,用于采用预训练的蛋白质语言模型prott5-xl-uniref50生成蛋白质折叠训练数据集中蛋白质链的嵌入矩阵;
[0099]
特征向量得出模块,用于通过计算均值和余弦相似性将嵌入矩阵转化为蛋白质链的固定长度的特征向量;
[0100]
模型构建模块,用于构建蛋白质折叠识别网络模型,所述蛋白质折叠识别网络模型为由三个全连接层组成的多层感知机,且多层感知机的最后一层全连接层采用的是归一化的全连接层;
[0101]
损失函数得出模块,用于采用针对不平衡分类的标签分布意识的间隔损失作为训练折叠识别网络模型的损失函数;
[0102]
模型训练模块,用于基于蛋白质折叠训练数据集和训练折叠识别网络的损失函数训练折叠识别网络模型;
[0103]
折叠类别识别模块,用于基于蛋白质折叠测试数据集和训练好的折叠识别网络模型预测蛋白质链的折叠类别。
[0104]
进一步地,所述嵌入矩阵生成模块具体用于:
[0105]
对于蛋白质折叠训练数据集中任意一个长度为l的蛋白质链,先将其氨基酸序列中的所有字符都转换为大写字符,并将转换后的氨基酸序列作为模型prott5-xl-uniref50的输入,最后在半精度模式下运行该模型并保存其编码器的输出,获得大小为l
×
1024的嵌入特征矩阵。
[0106]
进一步地,所述特征向量得出模块具体用于:
[0107]
对于给定的大小为l
×
1024的嵌入矩阵e,首先计算嵌入矩阵每列的均值,获得长度为1024的特征表示:
[0108][0109]
其中l表示嵌入矩阵e的行数;
[0110]
然后计算嵌入矩阵每行的均值,获得长度为l的向量:
[0111][0112]
接着计算f
row_mean
与嵌入矩阵每个列向量的余弦相似度,获得长度为1024的特征表示:
[0113]fcos_sim
=[s1,s2,...,sj,...s
1024
]
t
[0114]
余弦相似度sj按如下公式进行计算:
[0115][0116]
其中《
·
,
·
》表示两个向量的内积,||
·
||表示向量的长度;
[0117]
最后,将两个向量f
col_mean
与f
cos_sim
拼接成一个向量来表示蛋白质链的特征,通过上述操作每个蛋白质链可以表示成2048维的特征向量。
[0118]
进一步地,所述模型训练模块还用于:
[0119]
采用pytorch深度学习框架的默认权值初始化方法初始化多层感知机的网络参数。
[0120]
进一步地,所述折叠类别识别模块具体用于:
[0121]
首先执行嵌入矩阵生成模块和特征向量得出模块以将蛋白质折叠测试数据集中蛋白质链表示为特征向量,然后将该特征向量输入训练好的折叠识别网络模型中,将得分最高的折叠类别分配给该蛋白质链。
[0122]
综上,本发明首先采用预训练的蛋白质语言模型prott5-xl-uniref50生成给定蛋白质链的嵌入矩阵,然后通过计算均值和余弦相似性将嵌入矩阵转化为固定长度的特征向量。特别地,通过使用嵌入特征,本发明避免了耗时的多序列比对操作。此外,考虑到蛋白质折叠数据具有明显的不平衡类分布,本发明采用针对不平衡分类任务的标签分布意识间隔损失训练设计的多层感知机网络,并因此增强了稀疏折叠类别的学习能力。总之,本发明提出的蛋白质折叠识别网络模型能够快速准确地预测给定蛋白质链的折叠类别。
[0123]
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献