融合CNN和Bi-LSTM的miRNA-lncRNA互作关系预测模型
2019-07-30石文浩刘婵娟
石文浩 孟 军 张 朋 刘婵娟
(大连理工大学计算机科学与技术学院 辽宁大连 116023)
随着对非编码RNA研究的深入,人们发现长非编码RNA(long non-coding RNA, lncRNA)和微小RNA(microRNA, miRNA)具有调节生物生命活动的重要作用,它们在细胞生长、分化和增殖等方面起着重要的调节作用[1].研究表明:lncRNA可与miRNA竞争性结合mRNA或以诱饵方式吸附miRNA来调控miRNA[2].反之,miRNA通过与lncRNA的3’UTR不完全匹配进行负性调节,从而直接作用于lncRNA[3].另外,由于两者调节网络的重叠或位置的关系影响其相互作用,miRNA也可间接作用于lncRNA.
目前,研究lncRNA-miRNA-mRNA的相互调控网络是新热点[4].由于lncRNA通过与mRNA竞争miRNA的靶基因结合位点来实现对mRNA的调控,故研究miRNA是否靶向lncRNA是研究miRNA调控功能的突破口.现有鉴定miRNA靶基因的方法主要分为生物实验和计算预测方法2类.生物实验一方面鉴定代价高耗时长,另一方面不适合大批量的鉴定.传统计算预测方法则是利用机器学习算法建立预测模型,通过提取miRNA靶基因的序列特征和结构特征作为输入数据,构建分类器模型,但机器学习方法涉及了过多的人工干预且特征提取过程复杂.为克服两者的弊端,利用深度学习方法可自动学习特征的特点来实现分类预测是一个突破点.
对于miRNA与lncRNA相互调控机制的研究大多集中在动物和人类癌症方面,植物方面的研究相对较少.为深入探索植物miRNA与lncRNA的互作关系.本文借鉴miTarget[5]方法,利用“LLLLLL”将有互作关系的miRNA与lncRNA序列连接成单链序列,使用基因组学中生物序列的连续表示方式[6],对单链序列进行编码后作为输入数据,并提出了一种融合卷积神经网络(convolutional neural network, CNN)[7]和双向长短期记忆网络(bidirectional long short-term memory network, Bi-LSTM)[8]的深度学习模型.该模型结合CNN充分提取特征和Bi-LSTM兼顾上下文信息的特点,充分地学习了序列数据的特征,实现对miRNA-lncRNA互作关系的分类预测.
本文利用5折交叉检验方法,通过与传统的机器学习方法、单一模型的比较和对多个物种数据集进行独立测试,对在玉米、马铃薯和小麦数据集上的实验结果进行了分析.结果表明:本文提出的模型具有良好的分类效果和泛化能力.
本文的贡献主要有3个方面:
1) 借鉴miTarget方法,将miRNA与lncRNA利用“LLLLLL”连接成单链序列,从而方便使用深度学习模型;
2) 借鉴自然语言处理中分词思想,利用基因组学中生物序列的连续表示方式,对生物序列进行编码,使每条序列映射成一个n维的数字向量,适用于LSTM的输入格式;
3) 提出了一种融合CNN和Bi-LSTM的深度学习模型实现对miRNA-lncRNA互作关系的分类预测.
1 相关工作
目前,对miRNA,lncRNA和mRNA之间调控机制方面的研究大多使用生物鉴定和计算预测方法[9-10].如使用高通量RNA-seq测序技术构建lncRNA-miRNA-mRNA共表达网络来研究乳腺癌中关键基因,以期达到治疗癌症的目的[9];通过提取lncRNA的序列特征、二级结构等特征,使用传统机器学习方法来识别lncRNA,进而预测其功能[10].机器学习方法较之生物鉴定代价低耗时少,但涉及过多人工干预和特征提取过程繁杂.
自2006年Hinton等人[11]在《Science》上提出深度学习,自动学习特征、学习能力好等优点使之被各个领域广泛应用.CNN、循环神经网络(recurrent neural network, RNN)[12]和LSTM等模型也已很好解决了生物信息方面的问题.
2016年Tripathi等人[13]提出使用深度神经网络(deep neural network, DNN)模型,利用多层神经网络层反馈调节,逐层学习lncRNA的特征,达到更好识别lncRNA的目的.2018年,Junghwan等人[14]提出一种基于深度学习方法lncRNANet,该方法将用于RNA序列建模的RNNs和检测密码子的CNNs进行结合,从而更好地学习了lncRNA特征,实现对lncRNA的鉴别.
CNN是一种通过卷积操作提取特征,再利用池化层学习数据的局部特征的前馈神经网络,它无需对输入数据进行大量预处理,且可以学习大量的特征信息.RNN具有内部记忆特点,且在处理元间既有内部反馈连接又可前馈调节,故对于处理序列信息具有良好的效果.但对于序列数据,CNN只考虑连续序列之间的相关性而忽略非连续序列之间的相关性.RNN虽适合处理序列数据,但很难处理信息长期依赖的问题,且存在梯度下降和梯度爆炸问题.LSTM是RNN的扩展,专门用来处理无法长期依赖信息的问题,它虽考虑长距离词的相关性,但提取特征不够充分,且单向LSTM不能处理下文单词信息.而双向LSTM(Bi-LSTM)有正反LSTM,正向LSTM捕获上文特征信息,反向LSTN捕获下文特征信息,故相较于单向LSTM,能够更有效地处理句子中单词间的长距离影响.结合CNN与Bi-LSTM的优势,既可以充分地提取特征,又考虑了序列间信息长期依赖和上下信息间的关系,故能充分地学习序列特征信息实现更好地分类预测.
本文提出了一种融合CNN和Bi-LSTM的深度学习模型,不仅避免机器学习特征提取时的人工干预,而且利用了两者的优势,充分考虑了miRNA-lncRNA序列间连续数据和非连续数据的相关性,克服了无法长期依赖信息和充分提取特征的弊端,从而更好地实现对miRNA-lncRNA互作关系的预测.
2 数据预处理
在本节中,主要介绍对生物序列的数据预处理过程和对序列进行分词编码的步骤.
2.1 数据集构建
文中所用的玉米、马铃薯和小麦3个物种的lncRNA和miRNA数据分别是下载于GreeNC(http://greenc.sciencedesigners.com/wiki/)[15]和miRBase(http://mirbase.org/)[16]数据库.首先,将每个物种去重后的lncRNA和miRNA数据分别上传到在线软件psRNATarget(https://plantgrn.noble.org/psRNATarget/analysis)[17]上对应位置,得出miRNA-lncRNA互作关系对中对应的miRNA和lncRNA名称,根据名称从原始的miRNA和lncRNA序列中提取序列.对于互作关系对的序列,如图1所示,其处理步骤为:
1) 为方便序列编码,先将miRNA序列中U替换为T;
2) 借鉴miTarget方法,为区分miRNA和lncRNA连接处,利用“LLLLLL”将对应的miRNA与lncRNA序列连接成单链序列;
3) 对每个互作关系对重复以上步骤.
Fig. 1 Sequence connection mode图1 序列连接方式
对psRNATarget软件得出的所有互作关系对经上述处理并去重后,将其作为正样本.
由于lncRNA序列长度远远大于miRNA,在整合序列中lncRNA占比重大,故将总lncRNA分为参与互作关系和未参与互作关系的lncRNA,并采用Needleman-Wunsch算法将未参与互作关系的lncRNA与正样本中lncRNA进行相似性对比,去除相似性高于80%的lncRNA样本[18],最后,将去相似性后的未参与互作关系的lncRNA与所有miRNA进行随机组合,并进行如图1所示的处理,从而得到负集样本库.为保证正负样本均衡,采用随机抽样方法,从中抽取与正样本数量相当的样本作为负集.
2.2 序列编码
对于整合后的miRNA-lncRNA序列,利用基因组学中的生物序列的连续表示方式,类似于自然语言处理中的分词[19],将每条序列分成多个子序列(生物单词),即每3个连续的碱基作为一个子序列,子序列间不重叠.对正负样本中所有序列进行分词处理后,统计得出一个大小为4×4×4=64的生物单词表,按照单词在生物序列中出现的概率,从大到小进行编码,则可将每条序列样本嵌入到一个n维向量中,即为模型的输入格式,具体编码方式如图2所示:
Fig. 2 Sequence coding mode图2 序列编码方式
如图2所示,将输入序列S=(TATACGTGT…TGCAACCAG),按上述方案,每3个连续碱基为一个词,进行分词处理,再按词频大小进行编码,最终经程序运行后,即可将S编码为一个固定长度的向量SC=(59,55,41,…,18,52,16),即编码向量SC为模型的最终输入格式.
3 CNN和Bi-LSTM融合模型
提出的模型主要由嵌入阶段、卷积阶段和双向LSTM阶段组成.
3.1 嵌入阶段
嵌入阶段主要是将输入序列映射成矩阵向量的形式,每一列对应一个字.即将输入序列中的每一个数字映射成一个具有固定长度的向量,则输入序列被映射成m×n的矩阵形式,其中,m为嵌入向量维度,n为序列长度.嵌入层作用是将一些关键的特征放大或把一些笼统的特征分开,把数字序列映射成卷积层易处理的矩阵向量形式,便于之后的卷积层充分提取特征.例如设编码向量为SC=(19,2,30,42,28),经嵌入层作用后,即可映射为一个矩阵
本实验中嵌入层参数为输入维度是66,输出维度是128,输出长度是2 840.即经嵌入层后每条序列可映射成一个128×2 840向量,作为卷积层的输入.
3.2 卷积阶段
由于1维卷积(Convolution1D)主要用于自然语言处理上,2维卷积(Convolution2D)常用于计算机视觉上[20],故实验模型卷积层选用Convolution1D函数.实验卷积阶段主要由2个卷积层构成.此外,为防止过拟合,在嵌入层和卷积层之间添加一个Dropout层,其参数为0.5.
第1层卷积层是利用64个长度为10的过滤器进行卷积,即相当于利用64个10×128卷积核去探测经嵌入层映射的矩阵.即利用卷积核W对矩阵进行卷积操作:
(1)
由于RELU函数比sigmoid函数具有便于稀疏化及有效减少梯度似然值的优势[21],故卷积层的激活函数选用RELU函数:
RELU(x)=max(0,x).
(2)
经卷积操作后,可提取尺寸为64×2831特征映射.再选用pool_length为2的MaxPooling对卷积出来的特征进行采样处理,即对卷积出的特征的局部区域取最大值,提取最重要的特征信息.故第1次卷积后输出维度为64×1415,作为下一卷积层的输入.
例如使用3个5×5的卷积核对64×64的矩阵进行卷积操作,得到3个60×60的特征映射,再使用2×2的池化窗口进行下采样,即得到3个30×30的特征映射矩阵,具体卷积阶段流程如图3所示:
Fig. 3 Flow of convolution operation图3 卷积操作流程
模型的第2个卷积层利用64个长度为5的过滤器卷积,即等同于用5×64卷积核对上层提取的特征再次卷积,则提取出特征映射尺寸为64×1 411,再经最大池化采样后,即可得尺寸为64×705的特征映射.将其作为双向LSTM层的输入.
3.3 Bi-LSTM阶段
LSTM是RNN的变体,它通过设置输入门、遗忘门、输入门和记忆细胞来解决RNN梯度消失和梯度爆炸以及长期依赖缺失的问题,但单向LSTM只能处理序列上一个方向的信息,而无法处理另一个方向的信息.双向RNN(bidirecrional recurrent neural network)[22]能同时捕获序列正反方向信息,从而更好学习序列信息特征.Bi-LSTM则是为解决LSTM只能处理单一方向信息而做的进一步扩展,其借鉴双向RNN的方法,将双向RNN中循环单元替换为LSTM单元,则Bi-LSTM等同于在每个训练序列的前后各连着一个单向LSTM,且这2个单向LSTM都连接同一个层,从正、反2个方向提取特征信息,可以充分地学习更多的特征.图4是个双向循环神经网络[19].
Fig. 5 The overall structure of model图5 模型整体结构
Fig. 4 Bidirectional recurrence neural network图4 双向循环神经网络
其中,自左向右循环神经网络层的更新公式为
(3)
自右向左循环神经网络层的更新公式为
(4)
前后2层循环神经网络层叠加后输出为
(5)
其中,t表示时间序列;ht表示时刻t时隐层向量,其上箭头表示方向;xt表示时刻t的输入;yt表示时刻t的输出;Wxh表示输入-隐层的权重矩阵;Whh表示隐层-隐层的权重矩阵;Why表示隐层-输出层的权重矩阵;bh为隐层偏置向量;by为输出层偏置向量;H为隐层激活函数,这里选取sigmoid函数.
Bi-LSTM模型则是将图4中信息处理单元变换为LSTM模型单元,利用LSTM的记忆细胞来处理长期依赖缺失,并结合正反方向互补的信息,更充分地学习序列数据的特征.其中,本实验Bi-LSTM的隐层神经元个数为64,dropout参数设为0.3.
3.4 模型实现
实验模型是在Windows10系统下,利用Python 3.6.5语言编写的一个基于TensorFlow 1.12.0的Keras框架,模型主要由7层组成.
模型首先利用嵌入层将输入序列映射成一个128×2 840的矩阵向量,方便进行卷积操作;紧跟着使用参数为0.5的Dropout层来防止过拟合;通过2个卷积层进行卷积操作,并使用最大池化操作过滤出重要的局部特征信息,经RELU函数激励后,则将矩形向量转变成一个64×705维特征映射作为Bi-LSTM层输入;利用Bi-LSTM结合上下文信息的优势,充分学习特征之间的依赖关系,将卷积阶段输出的特征映射向量变为一个128维向量;最后,使用参数为1的密集层Dense层将Bi-LSTM输出的特征向量映射成一个具体数字,并使用sigmoid函数将该数字映射在[0,1]之间,即得出预测结果.根据真实值和预测值间的损失,通过BP算法逐层计算,更新参数,完成一轮训练.其模型的整体结构如图5所示.
4 实验与结果
基于玉米(zeamays)、马铃薯(solanumtuberosum)和小麦(triticumaestivum)数据集,通过对传统机器学习方法和不同物种进行测试来验证提出的模型对miRNA-lncRNA互作关系的预测能力和泛化能力.
4.1 验证方法与评价标准
实验采用5折交叉验证法来验证模型的性能.5折交叉验证思想是将数据集均分为5份,轮流取其中一份作为验证集,其余4份作为训练集,5次结果的均值作为最终评估值.实验选取准确值(accuracy,Acc)、精确率(precision,P)、召回率(recall,R)和F1分数(F1_score,F1)作为评价指标:
(6)
(7)
(8)
(9)
其中,TP,FP,TN,FN的含义如表1所示:
Table 1 Meaning of Classification Results表1 分类结果含义
4.2 数据集
按照第1节介绍方法从GreeNC和miRBase数据库中下载了玉米、马铃薯和小麦的相关数据,并进行第2节的数据预处理过程.首先采用玉米数据集,用传统机器学习方法、单一模型与提出的模型进行对比实验,从而验证提出方法的有效性;另外,采用马铃薯和小麦为数据集,用提出模型分别对两者进行独立测试来验证提出模型的泛化能力.为保证正负样本均衡,从负集样本库中随机抽取与正集相同数目的样本作为负集.各物种数据集具体数据如表2所示:
Table 2 Datasets of Each Species表2 各物种数据集
4.3 特征提取
基于传统的miRNA与lncRNA的提取方法[23],分别提取玉米miRNA,lncRNA相关特征,并将两者特征组成多维特征集作为机器学习的特征向量.
首先,利用ViennaRNA[24]中RNAfold软件得到lncRNA序列形成二级结构时释放的自由能MFE和其二级结构的点括号形式[25],并从中提取配对碱基数、(C+G)碱基含量和G,C的比例,即可得到最小自由能MFE、配对碱基数n_pairs、(C+G)含量CG_content和GC_ratio四个特征,融合后特征记为Feature1:
CG_content=(C_num+G_num)L,
(10)
GC_ratio=G_numC_num,
(11)
Feature1=[MFE,n_pairs,CG_content,
GC_ratio],
(12)
其中,C_num为序列中碱基C的数目;G_num为序列中碱基G的数目;L为序列的长度.
此外,还提取lncRNA的k-mers特征.一个k-mers由k个碱基组成,则1-mer={A,T,C,G}有4种,2-mer={AA,AT,AC,AG,…},每个碱基可以是A,T,C或G,故有4×4=16种,实验中k=1,2.k-mers提取方法为:沿lncRNA序列使用长度为k的滑动窗口以步长为1碱基进行滑动匹配,则有:
(13)
sk=l-k+1,k=1,2;
(14)
(15)
其中,wk为权重;sk为匹配总数;l为序列长度;mi为每个k-mers的匹配数;hi为每个k-mers的频率,则可得到lncRNA的4+16=20个k-mers特征,记为Feature2:
Feature2=[h1,h2,h3,…,h20].
(16)
对miRNA序列提取特征为序列长度m_l和miRNA的k-mers特征,其中k=1,2,则可得1+4+16=21个miRNA的特征,记为Feature3:
Feature3=[m_l,m_h1,m_h2,m_h3,…,m_h20].
(17)
最终将lncRNA的特征Feature1,Feature2和miRNA的特征Feature3组成一个4+20+21=45维的特征集,将其作为传统机器学习的特征向量Feature:
Feature=(Feature1,Feature2,Feature3).
(18)
4.4 基于不同方法的分类结果
为验证提出方法的有效性和优势,实验以玉米为数据集,按照3.3节方法对miRNA和lncRNA的特征进行提取后融合,并使用朴素贝叶斯(Naive Bayes, NB)[26]、梯度提升决策树(gradient boosting decision tree, GBDT)[27]、随机森林(random forest, RF)[28]和决策树(decision tree, DT)[29]方法进行分类预测,进行对比实验,5折交叉检验的实验结果如表3所示:
Table 3 Classification Results Based on Different Methods表3 基于不同方法的分类结果 %
Note: ① a,b,c,d,e:same letter means difference inAccis not significant,otherwise, it is significant
②SD: Standard deviation
从表3可看出,较之于传统机器学习方法,提出方法在准确率、精确率、召回率和F1值4个指标上性能都具有明显的优势;其中,在准确率上比NB,GBDT,RF和DT方法分别高出17.35%,7.15%,6.56%和3.19%,说明提出方法在预测miRNA-lncRNA有无互作关系上具有良好的分类能力.同时,与单一模型CNN和Bi-LSTM相比,融合模型兼顾两者优势,既能提取丰富的特征,又可解决长距离信息依赖缺失问题,比单一模型性能略有提升.此外,从最小显著性差异法(LSD)分析结果看,提出方法显著优于其他方法且准确率的标准差(SD)仅为0.60%,表明模型的稳定性较好.
图6描绘出在玉米测试集上,不同方法下的ROC曲线.从结果可看出,较之于机器学习模型与单一模型,融合模型的ROC曲线下面积最大,其面积即AUC值高达0.99以上几乎接近于1,十分接近真实情况,表明模型的分类效果十分显著.
Fig. 6 ROC curves of different methods on test sets图6 不同方法在测试集上的ROC曲线
4.5 基于不同物种的分类结果
为证明提出方法的泛化能力,选用马铃薯和小麦数据集作为独立测试集,进行模型测试,通过2个不同物种的实验结果,证明提出方法泛化能力好且适合于大多数物种.5折交叉检验的实验结果如表4所示:
Table 4 Classification Results Based on Different Species表4 基于不同物种的分类结果 %
从表4结果可看出,提出方法在预测马铃薯和小麦的miRNA-lncRNA有无互作关系上各方面性能指标都较好,表明模型具有良好泛化能力,适合大多数物种.此外,两者的方差都较小,说明不同物种数据下,模型的稳定性也较好.
5 结束语
文中提出一种融合CNN和Bi-LSTM的深度学习模型,兼顾CNN和Bi-LSTM的优势,充分考虑了序列数据间的相关性和较好地结合了上下文信息,从而充分地提取特征.实验结果表明:模型与传统机器学习、单一模型对比,取得了优于传统机器学习和单一模型的分类效果;此外,在马铃薯和小麦数据集上进行独立测试,也取得良好的分类效果,验证了提出模型具有不错的泛化能力,适合于大多数物种测试.
未来将会尝试使用更多的模型,如胶囊网络、深度信念网络等来进一步改善对miRNA-lncRNA互作关系的预测;另外,结合机器学习和深度学习方法,提高预测性能也是将来的研究方向.