劉曉燕,張誠(chéng)誠(chéng),郭茂祖,邢林林
1.哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150001
2.北京建筑大學(xué) 電氣與信息工程學(xué)院,北京 100044
轉(zhuǎn)錄調(diào)控是基因調(diào)控的主要過程,即轉(zhuǎn)錄因子通過結(jié)合位點(diǎn)進(jìn)而控制目標(biāo)基因的表達(dá)[1]。構(gòu)建高精度的基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)一直以來都是研究熱點(diǎn),其主要研究利用實(shí)驗(yàn)數(shù)據(jù)重構(gòu)網(wǎng)絡(luò)[2]。隨著第二代大規(guī)?;驕y(cè)序技術(shù)和高通量基因表達(dá)分析技術(shù)的發(fā)展,使得方便地獲取基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)成為可能。此外,隨著近年來對(duì)機(jī)器學(xué)習(xí)的不斷研究,對(duì)構(gòu)建基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)的研究進(jìn)入了一個(gè)新的階段,構(gòu)建高精度基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)也成為可能。
轉(zhuǎn)錄調(diào)控的本質(zhì)就是轉(zhuǎn)錄因子通過結(jié)合啟動(dòng)子位點(diǎn),進(jìn)而控制目標(biāo)基因的轉(zhuǎn)錄水平來完成相應(yīng)的功能?;虮磉_(dá)數(shù)據(jù)反映的是直接或間接測(cè)量得到的基因轉(zhuǎn)錄產(chǎn)物mRNA在樣本中的豐度,這些數(shù)據(jù)可以用于分析哪些基因的表達(dá)發(fā)生了改變,基因之間有何相關(guān)性,在不同條件下基因的活動(dòng)是如何受影響的。啟動(dòng)子是基因的一個(gè)組成部分,控制基因表達(dá)(轉(zhuǎn)錄)的起始時(shí)間和表達(dá)的程度。啟動(dòng)子本身并不控制基因活動(dòng),而是通過與轉(zhuǎn)錄因子結(jié)合,從而控制基因活動(dòng)。
目前,構(gòu)建基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)的算法主要有如下幾種。Bornholdt在2008年使用布爾網(wǎng)絡(luò)模型構(gòu)建調(diào)控網(wǎng)絡(luò),在網(wǎng)絡(luò)中每個(gè)基因有開、關(guān)兩個(gè)狀態(tài),狀態(tài)“開”表示一個(gè)基因轉(zhuǎn)錄表達(dá),形成基因產(chǎn)物,而狀態(tài)“關(guān)”則代表一個(gè)基因未轉(zhuǎn)錄[3]。布爾網(wǎng)絡(luò)雖然簡(jiǎn)單,但是建模能力有所欠缺。Werhli等人在2007年使用貝葉斯網(wǎng)絡(luò)模型構(gòu)建轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)[4]。貝葉斯網(wǎng)絡(luò)雖然可以建模比較復(fù)雜的網(wǎng)絡(luò),但是計(jì)算復(fù)雜度過高。Huynh-Thu等人在2011年使用基于樹的模型 GENIE3(gene network inference with ensemble of trees)[5],將構(gòu)建轉(zhuǎn)錄調(diào)控問題轉(zhuǎn)換為機(jī)器學(xué)習(xí)里面的回歸問題,在樹節(jié)點(diǎn)分裂過程中得到基因與基因之間調(diào)控重要性的排名。2015年,Huynh-Thu等人提出了新的算法模型Jump3[6],對(duì)GENIE3算法進(jìn)行了改進(jìn),之前的算法只用了基因表達(dá)數(shù)據(jù),在新模型中Huynh-Thu引入了啟動(dòng)子狀態(tài)這一變量,并且對(duì)樹分裂節(jié)點(diǎn)標(biāo)準(zhǔn)進(jìn)行了修改,從而帶來了精度上的提升,但是計(jì)算時(shí)間復(fù)雜度過高,程序運(yùn)行時(shí)間非常長(zhǎng),訓(xùn)練n個(gè)基因的轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)Jump3算法至少需要n個(gè)子模型,即隨機(jī)森林。Gillani[7]和Maetschke[8]等人在2014年將基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)構(gòu)建問題轉(zhuǎn)為二分類問題,使用支持向量機(jī)進(jìn)行訓(xùn)練,并比較了不同核函數(shù)的性能,實(shí)驗(yàn)中并未比較其他算法且只用了基因表達(dá)數(shù)據(jù)。Robiolo等人在2015年利用神經(jīng)網(wǎng)絡(luò)對(duì)轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)進(jìn)行建模[9],利用迭代次數(shù)、誤差構(gòu)建評(píng)分體系,進(jìn)而計(jì)算基因之間的調(diào)控可能性,此方法同樣存在計(jì)算復(fù)雜度過高的問題,得到n個(gè)基因的轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)至少需要(n×(n-1))/2個(gè)神經(jīng)網(wǎng)絡(luò)模型。
本文主要研究的是轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)的構(gòu)建算法。一方面,目前研究方法只用了基因表達(dá)數(shù)據(jù);另一方面,目前對(duì)于基因功能研究方面已經(jīng)形成了比較完善的GO注釋。GeneOntology(基因本體)是一種用于功能注釋的樹型結(jié)構(gòu)數(shù)據(jù)[10],具有相同GO注釋的基因功能往往相似。于是本文利用基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)、基因注釋數(shù)據(jù)這3個(gè)數(shù)據(jù)來源。此外,綜合考慮精度和計(jì)算復(fù)雜度,本文將轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)構(gòu)建問題轉(zhuǎn)化為二分類問題,提出了基于深度自編碼器和組合模型構(gòu)建基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)。
本文組織結(jié)構(gòu)如下:第2章介紹了數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理以及負(fù)例集的構(gòu)建。第3章詳細(xì)闡述了本文提出的基于深度自編碼器的XGBoost和邏輯回歸組合模型DAXL(combined model with XGBoost and logistic regression based on deep AutoEncoder)。第 4章以擬南芥調(diào)控網(wǎng)絡(luò)的構(gòu)建為例,對(duì)DAXL方法進(jìn)行了驗(yàn)證,并與GENIE方法進(jìn)行了對(duì)比,給出了實(shí)驗(yàn)結(jié)果。第5章對(duì)全文進(jìn)行總結(jié)。
轉(zhuǎn)錄因子活性會(huì)明顯影響目標(biāo)基因的表達(dá)水平,因此兩者在轉(zhuǎn)錄水平上的表達(dá)譜具有相關(guān)性[11]。本文從GEO(gene expression omnibus)上獲取編號(hào)為GSE41212[12]的基因表達(dá)數(shù)據(jù),該數(shù)據(jù)集從時(shí)間和空間兩個(gè)角度詳細(xì)分析了擬南芥種子發(fā)芽的過程,記錄了擬南芥種子的4個(gè)組織在9個(gè)時(shí)間點(diǎn)的基因表達(dá)值?;蛐蛄袛?shù)據(jù)主要包括兩部分:?jiǎn)?dòng)子序列數(shù)據(jù)、蛋白質(zhì)的氨基酸序列數(shù)據(jù)。其中啟動(dòng)子的序列數(shù)據(jù)是從TAIR上下載,氨基酸序列數(shù)據(jù)是從http://www.arabidopsis.org/上下載。本文的GO數(shù)據(jù)可以從http://geneontology.org/page/download-annotations上下載。正例集是已經(jīng)被實(shí)驗(yàn)驗(yàn)證的,確定有基因轉(zhuǎn)錄調(diào)控關(guān)系的轉(zhuǎn)錄因子、目標(biāo)基因?qū)Γ彩呛罄m(xù)進(jìn)行模型訓(xùn)練必要的數(shù)據(jù)。AGRIS收錄了19 013對(duì)具有直接調(diào)控關(guān)系的轉(zhuǎn)錄因子和目標(biāo)基因。本文選取該數(shù)據(jù)集作為正例集,可從http://arabidopsis.med.ohiostate.edu/上下載。
本文收集的生物數(shù)據(jù)有兩個(gè)主要問題:一是基因序列數(shù)據(jù)、基因注釋數(shù)據(jù)都是字符串,無法直接進(jìn)行模型訓(xùn)練;二是把基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)、基因注釋數(shù)據(jù)以基因ID作為主鍵進(jìn)行鏈接時(shí)存在缺失數(shù)據(jù)。
本文獲得基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)、基因注釋數(shù)據(jù)的具體處理如下。
從GEO上獲取的基因表達(dá)數(shù)據(jù)是數(shù)值型的,在與基因序列數(shù)據(jù)、基因注釋數(shù)據(jù)進(jìn)行以基因ID為主鍵的鏈接時(shí),存在部分缺失的情況。因?yàn)槟P椭邪蓸淠P停瑢?duì)缺失值不敏感,所以本文直接用-1填充缺失值,從而得到116維特征:
在生物學(xué)中,相鄰的3個(gè)核苷酸被稱為密碼子,每個(gè)密碼子編碼一個(gè)氨基酸,因?yàn)閷?duì)于啟動(dòng)子序列數(shù)據(jù)而言,每一條啟動(dòng)子序列,都可以得到全部密碼子的頻次,對(duì)于每一個(gè)轉(zhuǎn)錄因子都可以得到如下64維特征:
蛋白質(zhì)序列可以表示成由20個(gè)氨基酸字符組成的字符串,其字符集合為{A,V,L,I,F,P,M,S,T,C,W,Y,N,Q,D,E,K,R,H,G},對(duì)于每一條蛋白質(zhì)序列數(shù)據(jù),統(tǒng)計(jì)這20個(gè)字符的出現(xiàn)頻次,從而得到如下的20維特征:
轉(zhuǎn)錄因子通過調(diào)控目標(biāo)基因參與同一生物過程,因此兩者往往具有相同的功能。轉(zhuǎn)錄因子在基因本體(GO)數(shù)據(jù)庫(kù)中,每個(gè)GO ID是一個(gè)唯一的標(biāo)識(shí)符,對(duì)應(yīng)某一術(shù)語(yǔ)名稱。因此,可以利用GO術(shù)語(yǔ)建立特征向量[13]。本文利用擬南芥的GO數(shù)據(jù),最終大約取得3 112維特征。具體步驟如下:
(1)根據(jù)選定的數(shù)據(jù)集中的基因ID,提取對(duì)應(yīng)每一個(gè)ID的所有GO術(shù)語(yǔ)。
(2)將提取出的GO術(shù)語(yǔ)依次編號(hào)。
(3)假設(shè)共有n個(gè)GO術(shù)語(yǔ),若基因含有i(i=1,2,…,n)號(hào)GO術(shù)語(yǔ),則為1,否則為0,則每個(gè)基因功能信息可以表示成一個(gè)n維向量:
通過數(shù)據(jù)預(yù)處理,對(duì)于每一對(duì)轉(zhuǎn)錄因子、目標(biāo)基因,可以得到如下一條向量:
將轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)問題轉(zhuǎn)換為機(jī)器學(xué)習(xí)二分類問題,需要構(gòu)建負(fù)樣本。本文從生物背景出發(fā),構(gòu)建負(fù)樣本采用Yu等人在文獻(xiàn)[14]中提出的方法。構(gòu)建負(fù)樣本的基本思想是:假設(shè)基因?yàn)镚,轉(zhuǎn)錄因子為T,如果基因G不包含轉(zhuǎn)錄因子T的任意一個(gè)結(jié)合位點(diǎn),則認(rèn)為(T,G)這一對(duì)基因?yàn)樨?fù)樣本。
首先使用深度自編碼器訓(xùn)練原始高維基因注釋數(shù)據(jù),得到新的低維可以表征基因注釋數(shù)據(jù)的向量;然后把基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)、新的向量交給XGBoost進(jìn)行訓(xùn)練,對(duì)于訓(xùn)練好的XGBoost模型,可以得到每一條樣本最終落在每一個(gè)樹上葉子節(jié)點(diǎn)的信息,從而進(jìn)行01編碼,即樣本落在某一個(gè)葉子節(jié)點(diǎn)上為1,否則為0;最后將01編碼向量交給邏輯回歸訓(xùn)練進(jìn)行分類,最終得到轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)。整體算法流程如圖1所示。
Fig.1 Flow chart of DAXL圖1 DAXL整體流程圖
經(jīng)過數(shù)據(jù)預(yù)處理的特征有6 540維,其中基因注釋數(shù)據(jù)特征特別稀疏,不利于基于集成樹的模型進(jìn)行訓(xùn)練。為了解決這個(gè)問題,本文利用深度自編碼器[15-16]進(jìn)行Embedding,即先訓(xùn)練深度自編碼器模型,然后對(duì)于訓(xùn)練好的模型直接取其中隱層作為新的輸入樣本。
深度自動(dòng)編碼器即多層自編碼器,其輸入輸出一致,內(nèi)部經(jīng)過多層的編碼、解碼,具有很好的學(xué)習(xí)能力。本文使用深度自編碼器完成高維特征的embedding目標(biāo)。利用深度自編碼器隱層單元數(shù)量可以自行定義的特性,將隱層節(jié)點(diǎn)設(shè)置為從高到低,再?gòu)牡偷礁?。然后提取最中間隱層學(xué)習(xí)到的向量作為原始輸入,如圖2所示,進(jìn)而解決基因注釋數(shù)據(jù)高維且稀疏的問題。
Fig.2 DeepAutoEncoder圖2 深度自編碼器
如圖2所示,本文使用五層的深度自編碼器,第一層(L1)和第五層(L5)是相同的向量,中間有3個(gè)隱藏層。以第一層與第五層向量差的平方作為學(xué)習(xí)目標(biāo),使用反向傳播算法學(xué)習(xí)參數(shù),通過多輪迭代后,得到最終的網(wǎng)絡(luò)結(jié)構(gòu)。本文為了獲得可以表征原始輸入向量的低維向量,用第三層(L3)的輸出表示原始輸入向量。
XGBoost模型最早在2014年由Chen等人提出[17],它是boosting的一個(gè)擴(kuò)展變體。XGBoost在以決策樹為基礎(chǔ)的基學(xué)習(xí)器構(gòu)建boosting集成的基礎(chǔ)上,使用泰勒展開式近似目標(biāo)函數(shù),利用一階、二階導(dǎo)數(shù),從而提高精度。從圖3中可以看出,XGBoost由多個(gè)弱分類器組成,且每一分類器的學(xué)習(xí)都相互獨(dú)立,比較容易進(jìn)行數(shù)據(jù)并行、特征并行,因此并行粒度大。此外,樹模型是一個(gè)典型的if-else結(jié)構(gòu),可以處理非線性特征問題。
Fig.3 Schematic diagram of XGBoost圖3 XGBoost示意圖
邏輯回歸模型(logistic regression)是最大熵模型的一個(gè)特例[18],它的雛形是線性回歸,是一個(gè)線性模型,不可以直接處理非線性問題。通過sigmoid函數(shù)進(jìn)行轉(zhuǎn)換,將預(yù)測(cè)值映射到[0,1],從而轉(zhuǎn)變?yōu)榉诸惸P停容^適合01編碼訓(xùn)練數(shù)據(jù)??梢酝ㄟ^極大似然估計(jì)、梯度下降得到相對(duì)較優(yōu)解。從圖4中可以看出,邏輯回歸可以通過行并行、列并行的方式計(jì)算梯度。
為了充分發(fā)揮非線性、線性模型的優(yōu)勢(shì),借鑒Facebook 2014年在計(jì)算廣告領(lǐng)域提出的新模型[19],本文構(gòu)建了組合模型,如圖5所示。
樣本X先通過XGBoost進(jìn)行訓(xùn)練,XGBoost訓(xùn)練完成后,對(duì)于每一條輸入向量,可以根據(jù)葉子節(jié)點(diǎn)的信息得到新的一維向量。舉例來說,在圖5中,訓(xùn)練好的XGBoost模型有兩棵樹,第一棵樹有3個(gè)葉子節(jié)點(diǎn),第二棵樹有2個(gè)葉子節(jié)點(diǎn)。如果一條樣本在XGBoost模型的第一棵樹上落在第一個(gè)葉子節(jié)點(diǎn),在XGBoost模型的第二棵樹上落在第一個(gè)葉子節(jié)點(diǎn),在0-1 Code層可以得到(1,0,0,1,0)這個(gè)新向量,然后這個(gè)向量再通過邏輯回歸模型進(jìn)行訓(xùn)練。
用TSNE(t-distributed stochastic neighbor embedding)[20]將高維向量映射到二維空間,如圖6、圖7所示。圖6是原始基因表達(dá)數(shù)據(jù),圖7是經(jīng)過01編碼之后得到的新的數(shù)據(jù)。其中紅色的點(diǎn)是正例,藍(lán)色的點(diǎn)是負(fù)例,從而可以看出經(jīng)過01編碼之后,數(shù)據(jù)集正負(fù)例集相對(duì)分開,更加利于模型進(jìn)行分類。
原始基因注釋數(shù)據(jù)經(jīng)過離散化后有3 112維,深度自編碼器在一定程度上可以降維且可以學(xué)習(xí)到一個(gè)更好的表達(dá)形式,從而提高后續(xù)組合模型的精度。圖8展示了深度自編碼器中間層節(jié)點(diǎn)數(shù)在10、50、100、200、500時(shí)對(duì)XGBoost、XGBoost+LR最終預(yù)測(cè)結(jié)果F1值的影響,其中節(jié)點(diǎn)數(shù)為0時(shí)表示沒有使用深度自編碼器對(duì)基因注釋數(shù)據(jù)進(jìn)行處理。一方面說明組合模型DAXL精度比XGBoost高;另一方面說明深度自編碼器可以對(duì)離散化的基因注釋進(jìn)行充分學(xué)習(xí),從而得到更好的表達(dá)形式。
由于構(gòu)建負(fù)例集時(shí)存在假陽(yáng)性問題,即實(shí)際是正例可能被認(rèn)為是負(fù)例進(jìn)行訓(xùn)練,本文使用F1作為評(píng)價(jià)指標(biāo)。F1評(píng)價(jià)指標(biāo)綜合考慮準(zhǔn)確率P和召回率R[21]。
Fig.4 Logistic regression圖4 邏輯回歸
Fig.5 Combined model圖5 組合模型
Fig.6 Initial image based on TSNE圖6 原始TSNE圖
Fig.7 0-1 code image based on TSNE圖7 0-1編碼TSNE圖
Fig.8 Influence of the number of nodes in inter layer of deepAutoEncoder on XGBoost and XGBoost+LR圖8 深度自編碼器中間層節(jié)點(diǎn)數(shù)對(duì)XGBoost、XGBoost+LR的影響
從表1中可以看出,XGBoost模型比邏輯回歸模型精度高,因?yàn)閄GBoost具有非線性擬合能力。DAXL模型的精度比XGBoost高,因?yàn)椴捎昧?1編碼,同時(shí)綜合了XGBoost、邏輯回歸模型的優(yōu)點(diǎn)。
Table 1 Result of experiments inArabidopsis dataset表1 在擬南芥數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
從表2中可以看出,DAXL方法比只使用基因表達(dá)數(shù)據(jù)的GENIE3方法好。同時(shí),在相同的數(shù)據(jù)集上,DAXL模型也比支持向量機(jī)方法好,因?yàn)橹С窒蛄繖C(jī)對(duì)缺失值敏感,且核函數(shù)的選擇對(duì)精度影響很大。
Table 2 Result of experiments inArabidopsis dataset表2 在擬南芥數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
為了進(jìn)一步驗(yàn)證本文算法的可靠性以及本文工作的意義,從http://arabidopsis.med.ohio-sta te.edu/得到最新的轉(zhuǎn)錄調(diào)控關(guān)系,其中有69對(duì)轉(zhuǎn)錄調(diào)控關(guān)系在原來的訓(xùn)練驗(yàn)證過程中沒有出現(xiàn)過,本文使用DAXL模型對(duì)這69對(duì)調(diào)控關(guān)系進(jìn)行預(yù)測(cè)。如圖9所示,發(fā)現(xiàn)有62對(duì)的預(yù)測(cè)概率在0.5以上,有47對(duì)的預(yù)測(cè)概率在0.8以上。
Fig.9 Predictive probability of novel transcriptional regulatory relationships圖9 新的轉(zhuǎn)錄調(diào)控關(guān)系預(yù)測(cè)概率
本文分析了目前經(jīng)典的基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)構(gòu)建算法,針對(duì)存在的問題,提出了基于深度自編碼器和組合模型的方法。本文方法充分利用了基因表達(dá)數(shù)據(jù)、基因序列數(shù)據(jù)、基因注釋數(shù)據(jù),用深度自編碼器巧妙地解決了基因注釋數(shù)據(jù)高維稀疏的問題;使用XGBoost與邏輯回歸的組合模型,結(jié)合生物背景知識(shí),把基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)構(gòu)建問題轉(zhuǎn)為二分類問題,從而構(gòu)建了基因轉(zhuǎn)錄調(diào)控網(wǎng)絡(luò)。本文在真實(shí)的擬南芥數(shù)據(jù)集上對(duì)提出的方法進(jìn)行了驗(yàn)證,并與現(xiàn)有方法進(jìn)行了比較。結(jié)果說明本文方法比單一采用LR、XGBoost更加有效,較對(duì)比方法GENIE3提高了15個(gè)百分點(diǎn)。