1.一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于,包括以下步骤:
S1:收集数据
基于公开的蛋白质相互作用数据集作为基准数据集,获取蛋白质的序列信息;
S2:特征提取
根据蛋白质序列信息生成位置特异性得分矩阵,提取蛋白质序列的理化特征;
S3:特征融合
利用滑动窗口技术提取残基与其相邻残基的特征,将提取的所有特征合并成一个特征空间数据集,再结合每一个残基的标签形成模型的输入;
S4:均衡处理
利用降采样方法采样出具有代表性的特征,得到类别均衡的数据集从而用于训练模型;
S5:建立分类器
将类别均衡的数据集按比例分为训练集和测试集,将训练集利用变分自编码器进一步提取蛋白质序列的高级抽象特征,利用多层感知机对氨基酸残基进行分类;
S6:评估并验证模型
将训练好的模型在测试集上测试,得到预测结果;并使用一个公开的独立数据集作为验证集,对模型的鲁棒性进行验证;
所述步骤S4的处理过程为:利用NearMiss降采样算法,通过K近邻规则度量正负样本之间的距离,挑选并保留那些到正样本中的最远样本的平均距离最小的负样本,直至正负样本即相互作用残基与非相互作用残基的比例为1:1;
在所述步骤S5中,将类别平衡后的数据集按照8:2的比例分为训练集和测试集,利用训练集训练模型;所述模型包括依次连接的变分自编码器与多层感知机分类器,训练时将训练集送入变分自编码器中,利用神经网络自动学习数据特征,并且消除数据中的冗余特征,最终提取网络中间隐藏层的30维的抽象特征用于下游的分类任务;将30维的抽象特征再进入多层感知机分类器来识别残基是否属于相互作用残基;
所述变分自编码器包括编码器与解码器,在所述编码器中,输入数据依次连接一个神经元个数为512的全连接层FC1和一个Dropout层,再经过两个全连接层分别得到具有30个高斯分布的均值z_mean和方差的对数z_log_var,引入服从高斯分布的随机噪声epsilon,利用Lambda层将随机噪声epsilon、均值z_mean、方差的对数z_log_var进行线性融合得到中间的隐变量z,这个过程称为采样过程;在所述解码器中,中间的隐变量z经过上述的全连接层FC1和一个Dropout层,再连接一个全连接层输出一个近似于输入数据的50维数据;
所述多层感知机分类器包括一个Lambda层、三个全连接层和一个Dropout层,其中一个全连接层设置于Lambda层与Dropout层之间,另外两个全连接层依次与Dropout层连接,Lambda层将均值z_mean和方差的对数z_log_var结合起来用于神经网络数据的传递,最后利用softmax函数对残基进行二分类。
2.根据权利要求1所述的一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于:在所述步骤S1中,所述基准数据集为Dset186和Dtestset72,分别含有186个和72个蛋白质序列,其中Dset186用于训练模型,Dtestset72用于作为独立的验证集验证模型,将数据集中标记为相互作用位点的氨基酸残基作为正样本,标记为非相互作用位点的氨基酸残基作为负样本。
3.根据权利要求1所述的一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于:在所述步骤S2中,所述数据集中的蛋白质序列特征包括以下三种:PSSM特征、HI和RSA;PSSM是通过PSI-BLAST生成的一个20维矩阵,用来描述20种氨基酸的进化保护信息,HI和RSA均为1维数值的蛋白质序列特征。
4.根据权利要求3所述的一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于:所述步骤S3的具体处理过程:S31:对PSSM特征放置一个窗口大小为9的滑动窗口,对于每行残基来说,提取此行残基及其相邻8行残基的特征值,再对这些特征求其平均值作为此行残基的更新值,将滑动窗口依次作用于每行残基,得到另一个20维的特征向量,加上之前原始无滑动窗口作用的20维PSSM特征,则PSSM特征共有40维;
S32:分别使用窗口大小为1、3、5、7、9的滑动窗口通过对特征值取平均值的方法得到5维的亲水性指数特征向量和5维的相对溶剂可及性特征向量;
S33:将扩充的特征数据组合在一起,每一行特征表示一个氨基酸残基,每个残基具有50维的特征,加上所提取的氨基酸残基的标签,组成一个51维的数据集作为模型的输入。
5.根据权利要求4所述的一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于:在所述步骤S33中,氨基酸残基的标签值为-1或1,-1代表为负样本,即非相互作用残基;1代表为正样本,即相互作用残基。
6.根据权利要求1所述的一种基于深度学习的蛋白质相互作用位点预测方法,其特征在于:在所述步骤S6中,将训练好的模型在测试集上进行测试,得到模型预测的准确率、召回率、精确率、F1-值、MCC值;并利用Dtestset72作为独立验证集,通过S1~S6同样的步骤且不改变模型的任何参数来处理Dtestset72数据集,得到模型的评估指标,以此验证模型的泛化能力。