趙媛媛,陳進祥,李富義,吳 昊,劉全中*
(1.西北農(nóng)林科技大學 信息工程學院,陜西 楊凌 712100;2.蒙納士大學數(shù)據(jù)科學中心,澳大利亞 墨爾本 VIC 3800;3.蒙納士大學生物醫(yī)學發(fā)現(xiàn)研究所和生物化學與分子生物學系,澳大利亞 墨爾本 VIC 3800)
DNA甲基化,是指經(jīng)DNA甲基轉(zhuǎn)移酶催化,以S-腺苷甲硫氨酸(SAM)作為甲基供體,DNA分子與甲基相連接的過程[1]。在DNA的四種堿基中,只有胞嘧啶和腺嘌呤可以被甲基化。近年來,研究者發(fā)現(xiàn)了腺嘌呤的第六位氮原子甲基化修飾,即6-甲基腺嘌呤(N6-methyladenine,6mA)。6mA甲基化作為一種重要的非永久性但相對長期可遺傳的基因修飾,被發(fā)現(xiàn)在維持細胞正常的轉(zhuǎn)錄活性、DNA損傷修復能力、染色質(zhì)重塑、遺傳印記、胚胎發(fā)育和腫瘤發(fā)生中都有著不可替代的作用,成為分子生物學及醫(yī)學領域的研究熱點[2]。
6mA在DNA層面表達豐富度相對較低,在哺乳動物中,平均每百萬個腺嘌呤中只有不到10個6mA位點[3]。目前已經(jīng)有幾種鑒定6mA的實驗方法,例如甲基化DNA免疫沉淀測序(MeDIP-seq)[4],毛細管電泳和激光誘導熒光(CE-LIF)[5]和單分子實時測序(MRT-seq)[6]。雖然通過實驗方法能鑒定6mA位點,但實驗方法實驗周期長、勞動強度大且十分昂貴,很難適合從高通量序列中識別6mA。基于機器學習的計算方法可以同時處理多條序列中6mA位點的鑒定,這種方法省時、省力并且效率高,作為實驗方法有效的補充,越來越受到生物界的青睞。
最近,華中農(nóng)業(yè)大學周道繡課題組使用了免疫沉淀測序技術對水稻基因組的6mA進行了精確定量和定位,獲得了水稻基因組的6mA圖譜[7]。該數(shù)據(jù)的獲取為構建基于機器學習模型的6mA識別方法奠定了數(shù)據(jù)基礎。近年來,研究界提出了一些基于傳統(tǒng)的機器學習和深度學習的6mA位點預測方法。例如,2019年1月,Chen等提出了一種基于支持向量機方法(6mA-Pred)鑒定水稻因組中的6mA位點[8],模型準確率達到了83.13%。2019年4月,Tahir等人提出了一種卷積神經(jīng)網(wǎng)絡(CNN)計算模型(iDNA6mA)[9],從DNA輸入序列中自動地提取關鍵特征并訓練模型,該模型準確率達到了86.59%。2019年7月,Pian基于馬爾可夫模型提出了一種新的分類方法(MM-6mAPred)[10],準確率達到89.72%。2019年9月,Liu等人[11]提出了基于提升樹模型(ExtraTree)對小鼠和水稻基因中的6mA位點鑒定方法(csDMA),對于水稻中6mA位點的預測達到了86.1%的準確度。
在上述方法中,基于深度學習的iDNA6mA方法不需要人工設計特征,但其識別性能仍有待提高?;趥鹘y(tǒng)機器學習方法的6mA識別方法雖然具有較強的識別能力,但現(xiàn)有的學習模型使用序列要么特征單一,缺乏從多種角度綜合考量6mA位點;要么特征維度較高且未使用特征選擇方法進行特征選擇,如6mA-Pred等,預測的性能還有很大提升空間。
基于上述的現(xiàn)有研究的不足,為了進一步提升6mA位點的預測性能,該研究提出一種基于stacking集成學習的6mA預測模型Stack6mAPred。Stack6mAPred結(jié)合了增強核苷酸組成(ENAC)、核苷酸電子-離子相互作用偽電位(EIIP)、核苷酸化學性質(zhì)(NCP)、Kmer和核苷酸間隔(diTriKGap)5種不同類型的特征編碼;利用XGBoost進行特征選擇[12],去除冗余特征;集成了樸素貝葉斯、支持向量機(SVM)、LightGBM和邏輯回歸等4種不同的分類器。在真實的水稻基因組數(shù)據(jù)集上進行了實驗,結(jié)果表明:提出的Stack6mAPred預測模型對6mA位點鑒定的準確率達到91.83%,AUC達到0.967。
數(shù)據(jù)集構建是機器學習模型的基礎,基準數(shù)據(jù)集的質(zhì)量對構建模型的性能至關重要。該文使用了Chen等人[8]提供的水稻DNA序列中的6mA數(shù)據(jù)集。該數(shù)據(jù)集是從美國國家生物技術信息中心(national center for biotechnology information,NCBI)獲得,使用CD-HIT軟件[13]去除同源性超過60%的序列。數(shù)據(jù)集包括880個經(jīng)實驗驗證的6mA位點的序列片段和880個非6mA位點的序列片段,序列長度均為41 bp。該數(shù)據(jù)集已經(jīng)被多個預測模型使用[8-10]。數(shù)據(jù)集獲取公開站點為http://lin-group.cn/server/ i6mAPred/data。
不同序列特征對不同問題具有不同的識別能力,最終影響預測模型的性能。為了提取針對6mA位點具有較強預測能力的特征,該研究對iLearn[14]和PyFeat[15]中總結(jié)的所有DNA序列特征分別進行性能評估,發(fā)現(xiàn)五種對于6mA位點具有較強的識別能力的特征:增強核苷酸組成(enhanced nucleic acid composition,ENAC)、核苷酸電子-離子相互作用偽電位(electron-ion interaction pseudopotentials of trinucleotide,EIIP)、核苷酸化學性質(zhì)(nucleotide chemical property,NCP)、Kmer、核苷酸間隔(ditriKGap)。特征對應的維度和參數(shù)設置如表1所示。
表1 實驗中使用的特征及參數(shù)介紹
增強核苷酸組成(ENAC)根據(jù)固定長度的序列窗口計算核苷酸組成(nucleic acid composition,NAC)[16],通??捎糜诰幋a等長的核苷酸序列。NAC編碼用于計算核苷酸序列中每種核酸類型的頻率。序列中四種核苷酸出現(xiàn)頻率可以由式(1)計算:
(1)
其中,N(t)是t型核苷酸的數(shù)目,N是核苷酸序列的長度。
ENAC編碼的核心是計算固定長度的序列窗口內(nèi)的NAC,即該窗口首先從序列的第一位核苷酸開始,依次向后移動,計算窗口內(nèi)序列的NAC,直到窗口包含序列的最后一位完成編碼過程。實驗表明窗口值為2時,ENAC編碼的性能達到最優(yōu)。
Nair等人提出了一種新的特征編碼方式[17],通過計算核苷酸中離域電子的能量,將其表示為電子-離子相互作用偽電位(EIIP)進行編碼。該編碼方式直接使用核苷酸的EIIP值取代DNA序列中核苷酸A,G,C和T。核苷酸A,G,C,T的EIIP值分別為0.126 0、0.134 0、0.080 6和0.133 5。EIIP特征編碼維數(shù)等于DNA序列的長度。
DNA中有四種核苷酸,即腺嘌呤(A)、鳥嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)。根據(jù)化學性質(zhì)進行分類,四種核苷酸分類結(jié)果如表2所示。
核苷酸化學性質(zhì)(NCP)根據(jù)每種核苷酸在不同分組內(nèi)所處類別不同,將每個核苷酸表示為一個3維向量,對特征進行編碼。每個化學性質(zhì)分成兩類,一個核苷酸在第1個類中出現(xiàn)編碼為1,否則編碼為0。因此,根據(jù)表2中分類可知,A、C、G和T分別被表示為(1,1,1)、(0,1,0)、(1,0,0)和(0,0,1)。
表2 核苷酸化學性質(zhì)
Kmer特征編碼用于計算DNA序列中K個相鄰核苷酸的出現(xiàn)頻率,已成功應用于人類基因調(diào)控序列預測[18]和增強子識別[19]。Kmer(以K=3為例)由式(2)計算:
(2)
其中,N(t)是Kmer型t的次數(shù),N是核苷酸序列的長度。
文中采用的Kmer編碼方式,將小于等于K的相鄰核苷酸頻率全部計算,以K=3為例,該特征編碼將K=3,2,1的Kmer全部列出。經(jīng)實驗驗證,K取5使得6mA識別的性能達到最優(yōu)。
diTriKGap特征編碼通過設置間隔大小g,統(tǒng)計DNA或RNA序列內(nèi)不同間隔序列結(jié)構的數(shù)目。當設置間隔g=1時,序列結(jié)構為XX_XXX;當設置間隔g=2時,序列結(jié)構為XX_XXX和XX__XXX;當設置間隔g=3時,序列結(jié)構為XX_XXX、XX__XXX和XX___XXX。例如,當設置間隔g=2時,將會統(tǒng)計DNA序列中∑AA_AAA,∑AA__AAA,∑AA_AAC,∑AA__AAC,∑AA_AAG,∑AA__AAG,∑AA_AAT,∑AA__AAT…等結(jié)構的數(shù)量。特征編碼的每一列代表序列結(jié)構的數(shù)目。
經(jīng)實驗驗證,當設置g=3時,diTriKGap特征編碼性能達到最優(yōu)。該編碼通過工具包PyFeat提取。為了去除冗余特征,減少特征維度過多[20]而對模型造成的影響,PyFeat采用Adaboost算法進行特征選擇,在保持模型性能的同時,將該特征編碼的維度由3 072減少到311。
特征選擇是指從初始特征集中選擇相關特征子集的機器學習過程,特征選擇能有效地降低特征空間的維度,去除對分類不重要的和冗余的特征,提高預測模型的預測性能。
梯度提升決策樹(gradient boosting decision tree,GBDT)是一種集成模型,基分類器是CART樹[21],適用于分類和回歸問題,同時可用于特征選擇。XGBoost(extreme gradient boosting)是陳天奇博士在2011年提出的一種基于提升樹[21]的集成學習模型。XGBoost是在GBDT的基礎上改進,適應范圍更廣,是對GBDT的一種高效實現(xiàn)。XGBoost中的基分類器是使用CART和線性分類器的組合。
XGBoost根據(jù)特征重要性進行排序,以此達到特征選擇的目的。如果一個特征在所有決策樹中作為劃分屬性的次數(shù)越多,那么該特征就越重要,XGBoost以此計算每個特征的重要性。
在實驗中,使用XGBoost進行特征選擇,找到最優(yōu)的特征子集,降低特征維度,流程如圖1所示。由于XGBoost模型參數(shù)的選擇對特征重要性打分影響較大,在實驗中改變模型參數(shù)進行了36次實驗來減少特征選擇的誤差,最終得到36個不同XGBoost模型的特征打分表,具體步驟如下所述:
(1)將特征編碼輸入XGBoost模型進行參數(shù)打分,得到特征打分表;
(2)重復步驟(1),36次后得到36個互不相同的特征打分表;
(3)將36個特征打分表中的特征取交集,計算交集中每個特征的重要性平均值,并進行排序,得到最終的最優(yōu)特征子集。
圖1 XGBoost特征選擇流程
機器學習中的監(jiān)督學習目標是訓練出一個穩(wěn)定且各方面性能良好的模型。在許多現(xiàn)實場景中,往往只能得到多個有偏好的模型,也就是弱監(jiān)督模型。根據(jù)組合弱監(jiān)督模型方法的不同,集成學習分為bagging[22]、boosting[23]和stacking[24]三種集成方式。
該研究采用stacking集成學習構建6mA位點預測模型Stack6mAPred,該模型集成4種主流分類器以及5種最優(yōu)的特征編碼構造一個性能更好的6mA位點預測模型。
stacking集成學習模型預測性能的好壞主要取決于基分類器的預測精度和多樣性,使用不同參數(shù)、不同類型的分類器訓練相同的特征,實現(xiàn)不同基學習器之間的強強聯(lián)合和優(yōu)勢互補。文中提出的stacking集成模型框架Stack6mAPred如圖2所示。
圖2 Stacking集成模型框架
初始特征編碼由XGBoost進行特征選擇得到最優(yōu)特征子集后,使用stacking集成學習模型訓練分類器,得到最終預測結(jié)果。本模型中采用4個基分類器,分別由樸素貝葉斯(naive Bayes classifiers,NB)、支持向量機(support vector machine,SVM)和LightGBM等組成,其中LightGBM_1和LightGBM_2均使用LightGBM算法進行訓練,兩者僅參數(shù)設置不同。第二層分類器使用邏輯回歸(LR)。
樸素貝葉斯分類器假設特征對于給定類的影響獨立于其他特征,是一種較穩(wěn)定的有監(jiān)督分類算法,其分類算法基于貝葉斯定理,在處理大規(guī)模數(shù)據(jù)庫時有較高的分類準確率。貝葉斯分類器的分類原理是通過某對象的先驗概率,利用貝葉斯公式計算出其后驗概率,即該對象屬于某一類的概率,選擇具有最大后驗概率的類作為該對象所屬的類。
支持向量機是Cortes和Vapnik于1995年首先提出的[25],已經(jīng)廣泛應用于生物信息學問題中。其基本思想是將輸入數(shù)據(jù)轉(zhuǎn)換為高維特征空間,然后確定最佳分隔超平面,以此作為決策邊界。
SVM模型有兩個非常重要的參數(shù)C與gamma。其中C是懲罰系數(shù),即對誤差的容忍度,C越高越容易過擬合;gamma是選擇RBF作為核函數(shù)后,該函數(shù)自帶的一個參數(shù),決定了數(shù)據(jù)映射到新的特征空間后的分布。實驗中選擇RBF作為核函數(shù)。
為了選擇最優(yōu)的參數(shù)使模型達到最佳性能,使用LibSVM進行參數(shù)尋優(yōu)。LibSVM是用來調(diào)整SVM參數(shù)非常有效的手段,應用廣泛[26-28],該工具包可在https://www.csie.ntu.edu.tw/~cjlin/libsvm/免費獲取。
LibSVM采用網(wǎng)格搜索(grid search)進行參數(shù)搜索,在C和gamma組成的二維參數(shù)矩陣中,依次實驗每一對參數(shù)的效果,以此得到全局最優(yōu)的參數(shù)。實驗最終確定的參數(shù)在4.6節(jié)進行了詳細介紹。
LightGBM是個快速的、分布式的、高性能的基于決策樹算法的梯度提升(gradient boosting)模型[29],是對GBDT的高效實現(xiàn),可用于排序、分類、回歸等機器學習任務中。
該算法在傳統(tǒng)GDBT算法基礎上引入了梯度單邊采樣(gradient-based one-side sampling,GOSS)和互斥特征合并(exclusive feature bundling,EFB)兩種新技術。梯度單邊采樣(GOSS)算法保留所有的大梯度樣本,在小梯度樣本中進行隨機采樣,從而達到提升效率的目的。獨立特征合并(EFB)算法通過使用基于直方圖(histograms)方法安全地將互斥特征綁定在一起形成一個新的特征,從而減少特征維度。LightGBM可以在不損失分類器精度的前提下,顯著減少模型學習的時間,提升模型的泛化能力。
該文采用stacking集成學習模型,其中基分類器使用樸素貝葉斯、LightGBM_1、LightGBM_2和SVM等四個模型,第二層分類器使用邏輯回歸。該研究中Stack6mAPred集成模型的訓練步驟如下所述:
(3)將D'作為第二層分類器邏輯回歸(LR)的訓練集,訓練得到最終的集成分類模型Stack6mAPred。
集成模型中各基分類器中參數(shù)的選擇對模型分類性能影響極大。在該研究中,為了使集成模型分類性能最佳,先人工確定參數(shù)最優(yōu)的大致范圍,然后利用網(wǎng)格搜索(grid search)尋找集成模型的全局最優(yōu)參數(shù)。各基分類器用到的參數(shù)如表3所示。
表3 基分類器參數(shù)設置
為了評估Stack6mAPred模型的預測性能,分別使用了AUC(area under the ROC curve)值、準確度(accuracy,Acc)、特異性(specificity,Sp)、敏感性(sensitivity,Sn)和馬修斯相關系數(shù)(Matthews correlation coefficient,MCC)共5個常用的評價指標。其中AUC是ROC(area under curve)曲線與坐標軸圍成的面積。ROC曲線是根據(jù)一系列不同的二分類方式,以真陽性率為縱坐標,假陽性率為橫坐標繪制的曲線。
準確度、特異性、敏感性和馬修斯相關系數(shù)指標定義如式(3)~式(6)所示:
(3)
(4)
(5)
MCC=
(6)
其中,TP是正確識別的真實6mA序列的數(shù)量,F(xiàn)N是錯誤分類的6mA序列的數(shù)量,TN是正確識別的非6mA序列的數(shù)量,F(xiàn)P是錯誤分類的非6mA序列的數(shù)量。
為從生物序列方面解釋特征編碼合理性,本實驗使用軟件Two Sample Logos[30]繪制6mA位點的序列標識圖,該軟件對正例樣本序列和負例樣本序列進行對比,結(jié)果如圖3所示。
圖3 6mA序列對比
從序列標識圖可以直觀地看出序列共有41個位點,第21號中心點代表6mA位點。每個位點上符號的高度代表對應的核苷酸在該位置的出現(xiàn)頻率。
從圖3中可以看出,對于6mA位點,在中心位點下游15~18、上游25位置腺嘌呤(A)出現(xiàn)的概率較高,非6mA位點上游22~24位置腺嘌呤(A)出現(xiàn)概率較高,對應文中采用的特征編碼ditriKGap中XXX的結(jié)構;在中心位點下游20、上游22~23位置鳥嘌呤(G)出現(xiàn)概率較高,非6mA位點下游18~19、14~15等位置鳥嘌呤(G)出現(xiàn)概率較高,對應ditriKGap中XX的結(jié)構。由此可以看出,6mA序列具有一定的規(guī)律性,反映出文中采用的特征編碼中Kmer、核苷酸間隔(ditriKGap)對于提升模型準確度的有效性。
為了找到特征子集的最佳組合,用隨機森林分類器(100棵決策樹)評估單個特征的性能。表4列舉了單個特征以及特征組合預測性能。單個特征中ENAC達到了最佳性能,其次是NCP,而Kmer的性能表現(xiàn)最差。5種特征組合可以顯著提高模型的準確度,比單個特征中性能最優(yōu)的ENAC在敏感性、特異性、準確率、MCC以及AUC值五個性能指標方面分別提高了1.1%、3.2%、2.1%、0.043以及0.02。證明了綜合多個特征從多種角度區(qū)分6mA位點能提高預測性能。該文整合ENAC、NCP、EIIP、Kmer和diTriKGap 5種特征對樣本序列進行編碼。
表4 不同編碼方式性能比較
續(xù)表4
表4中,編號1、2、3、4和5分別代表五個特征編碼ENAC、EIIP、NCP、Kmer和diTriKGap,{1,2,3,4,5}代表五種特征組合。
為了避免特征冗余以及分類器過擬合,使用了XGBoost進行特征選擇,選出最優(yōu)特征子集。在實驗中使用的五種特征編碼中,diTriKGap在使用PyFeat進行特征提取時,已經(jīng)使用AdaBoost進行特征選擇。因此,實驗僅對ENAC、NCP、EIIP和Kmer的特征組合進行特征選擇,將特征選擇后的結(jié)果與diTriKGap特征編碼合并,構成最優(yōu)特征子集。實驗用隨機森林分類器(100棵決策樹)評估特征選擇前后的預測性能。
圖4 特征選擇前后性能對比
實驗證明,該文使用的特征選擇方法,有效減少了冗余特征,將原來1 688維的特征編碼降低為310維。從圖4中的五個性能指標來看,該文使用的XGBoost特征選擇方法在降低特征編碼維度的同時,使模型的性能在所有的評價指標上都有較好的提高。
該文比較了4個不同模型和Stack6mAPred集成模型的分類性能結(jié)果。其敏感性、特異性、準確度、MCC、AUC值等5個性能指標對比如圖5所示。
圖5 不同分類器性能對比
以準確率和AUC值來說,單個模型均達到了較好的性能,準確率都達到了86%以上,AUC值都在0.942以上。其中LightGBM是單個分類器中性能最好的分類器,不同參數(shù)的兩個LightGBM分類器的準確率分別達到了89.7%和90.4%,AUC值均為0.954;其次支持向量機模型的準確率為90.1%,AUC值為0.946;樸素貝葉斯模型效果最差。與4個單一模型相比,Stack6mAPred集成模型效果最好,最終預測準確率為91.8%,AUC值為0.967,并且敏感性、特異性、馬修斯相關系數(shù)這些性能指標都有了明顯的提升,說明Stack6mAPred集成模型將單一模型優(yōu)勢互補,使預測性能有了較好的提升。
為了驗證Stack6mAPred模型的性能,將Stack6mAPred與現(xiàn)有模型進行對比。根據(jù)調(diào)查得知,目前共有4種預測6mA位點的工具:i6mA-Pred[8]、iDNA6mA[9]、MM-6mAPred[10]和csDMA[11]。該研究將Stack6mAPred與以上4種工具從敏感性、特異性、準確度、MCC和AUC這五個指標進行對比分析,比較結(jié)果如表5所示。
表5 與現(xiàn)有方法性能比較
從結(jié)果中可知,Stack6mAPred預測模型在五個指標上均高于現(xiàn)有工具中最好的MM-6mAPred,其中MCC值提升最為顯著,提升了0.06,敏感性、特異性、準確度和AUC分別提升了1.7%、1.36%、1.72%和0.031,這說明了提出的stacking集成方法對于6mA位點預測的有效性。
該文提出了一種基于集成學習的水稻基因組中的6mA位點識別方法Stack6mAPred。該方法組合了5種類型的特征,并且通過XGBoost進行特征選擇,去除冗余特征,避免了模型過擬合;集成了樸素貝葉斯、支持向量機、LightGBM和邏輯回歸等異構分類器;實現(xiàn)了基分類器之間的強強聯(lián)合和優(yōu)勢互補,最終構建出一個性能更強的集成預測模型。
該研究以水稻基因組數(shù)據(jù)為研究對象,構造模型的方法可以遷移到預測其他物種的N6甲基化位點識別中。該研究僅僅集成兩層模型,根據(jù)需要可以集成更多層的模型,需要指出的是隨著模型集成的層次增多,訓練的時間會有所增加。