楊 勤, 臧天儀
(哈爾濱工業(yè)大學 計算機科學與技術學院, 哈爾濱 150001)
近年來隨著人類基因組計劃(Human Genome Project, HGP)的順利交付,生物技術不斷進步,從而誕生了生命科學和計算機科學結合起來的新科學—生物信息學。生物信息學是結合應用數學、統(tǒng)計學和計算機科學的方法研究生物問題,是建立在分析生物學的基礎上,其研究重點主要體現在基因組學(Genomics)和蛋白質組學(Proteomics)2方面。具體就是從核酸和蛋白質序列出發(fā),分析序列中表達的結構功能的生物信息。由于下一代高通量測序(NGS)技術的迅猛發(fā)展,生物實驗方法和檢測手段正日趨豐富多樣,由此也就生成了海量生物數據。如何有效利用這些數據來研究疾病的發(fā)生機理,尋找致病基因即已成為生物信息學的重要研究分支。
利用現有的數據進行致病基因的預測,提高致病基因的檢驗效率是目前生物信息學的研究熱點。作為生物重要特征,基因型(Genotype)指的是一個生物體內的DNA所包含的基因,表型是指受基因、環(huán)境等影響而在生物體上表現出來的特征。整合生物學數據庫是為了更好地研究基因與疾病之間關系,而目前各種分析策略在整體上可劃定為基于文本的研究、基于網絡的研究和基于本體的研究三大類。生物大數據一直都是業(yè)界矚目的焦點,況且生物數據量龐大,數據格式未能統(tǒng)一,傳統(tǒng)方法分析頗顯復雜繁冗,許多生物項目都遷移到大數據平臺亟待處理,對其進行大數據分析、整合與挖掘則已尤其顯得緊急與迫切。
本次研究主要分2個部分。一部分是整合相關的基因型、表型和疾病數據,充分利用蛋白質相互作用網絡,疾病相似性網絡。疾病-基因二分網絡構建異構綜合網絡,將已知的致病基因作為種子節(jié)點,改進網頁排序TrustRank算法,設計提出YSearch算法模型預測致病基因;另一部分則是系統(tǒng)實現,將整合后的數據存儲在NoSql數據庫HBase,繼而通過Spark大數據框架構建搜索引擎,編碼實現預測算法,輸出致病基因的排序結果,從而為疾病治療提供參考。研究內容可論述如下。
疾病網絡與基因網絡是根據OMIM數據構建,OMIM是持續(xù)更新的、關于人類基因和遺傳紊亂的數據庫。對于疾病相似性網絡D,其中節(jié)點d1,d2,…,dn∈VD在網絡中代表一種疾病,2個節(jié)點間的連線ED表示2種疾病是相似的,邊的權重ADi, j表示相似程度。表型描述的更標準化方法包括每個特征的頻率估計,將大大增加基因型-表型相關性分析的產量。鄰接矩陣歸一化D滿足:
Di, j=p(dj|di)=ADi, j/∑jADi, j
(1)
蛋白質相互作用網絡G,其中節(jié)點g1,g2,···,gm∈VG在網絡中代表一個蛋白質,如果蛋白質gi與蛋白質gj存在相互作用關系,則鄰接表AGi, j=1,否則為零。PPI網絡數據來自于HPRD數據庫,通過預處理將數據存儲在鄰接表中。PPI鄰接矩陣歸一化G滿足:
Gi, j=p(gj|gi)=AGi, j/∑jAGi, j
(2)
基因-疾病對應網絡DG與GD,其中從疾病到基因的轉移矩陣GDG,如果基因gi是疾病dj的致病基因,則鄰接矩陣Ai, j=1,否則為零。OMIM數據文件中每條記錄表示每個疾病表型描述對應的致病基因條目,處理后的轉移概率滿足:
MDG=p(gi|dj)=Ai, j/∑jAi, j
(3)
同理,從基因到疾病的轉移矩陣MGD滿足:
MGD=p(dj|gi)=Aj, i/∑iAj, i
(4)
首先構建生物信息的異構網絡表明來自多個公共資源的先驗信息,表示成G=(V,E),其中V表示節(jié)點集合,E表示邊集合,蛋白質相互作用網絡是無向無權圖;疾病-基因對應網絡是有向無權圖;疾病表型相似性網絡是無向有權圖。在異構網絡中存在著4種狀態(tài)轉移,抽象出來即如圖1所示。
本文設計疾病表型-基因關聯算法YSearch是基于網頁排序算法TrustRank的設計改進,算法包括2種形式:查詢疾病的致病基因以及查詢基因導致的疾病。分別是在疾病表型相似性網絡與蛋白質相互作用網絡隨機游走,還有疾病-基因二分網絡的迭代處理。算法的設計代碼描述如下。
圖1 整合后的異構網絡
算法:YSearch
輸入:G為蛋白質相互作用轉移矩陣;D為疾病表型相似性轉移矩陣;M為疾病-基因對應轉移矩陣;α為調整參數;n為算法迭代次數
輸出:TR為分數
Begin
s=SelectSeed()//種子集
TR0=s
fori=1 tondo
TRk+1=α·M·TRk+(1-α)·s
ReturnTR
end
算法的工作原理可概括為:先人工識別高質量節(jié)點(即種子集),種子集指向的節(jié)點質量也可能高,即TR值高,與種子集節(jié)點連接越遠,節(jié)點的TR值越低。綜上可知,TR算法也就是一個利用網絡的拓撲性質在全局網絡中進行排序的設計過程。
考慮到迄今尚未見到專門的基因相互作用網絡數據,且假設蛋白質與基因相對應,因此研究利用了蛋白質相互作用網絡(PPI)。數據來源是HPRD數據庫(Human Protein Reference Database)。這是與人類蛋白質有關的蛋白質組學信息數據庫。本文的HPRD數據是通過網址http://hprd.org/download下載給定的txt文件。文件存儲著蛋白質相互作用數據,文件格式詳見表1。
表1 HPRD數據格式
疾病表型相似性的數據來源是MimMiner網站,van等人使用MeSH解析了OMIM數據庫,對其中5 000多種人類表型進行文本挖掘,生成疾病表型相似性網絡。通過網址http://www.cmbi.ru.nl/MimMiner/suppl.html下載數據文件。文件的每一行開頭都是一個蛋白質MIM編號,其后就依序排布著一系列與其有相互作用關系的蛋白質MIM編號和相似度,一共是5 080*5 080的對稱矩陣。
基因-疾病對應網絡的數據來源是OMIM(Online Mendelian Inheritance in Man)數據庫,通過網址https://omim.org/downloads/,下載morbidmap.txt文件。文件格式詳情可參見表2。
表2 morbidmap文件數據格式
本文采用的是Spark on yarn平臺, Apache Spark是一個以速度、易用性和復雜分析為特點構建的大數據處理框架。Spark在數據處理過程中使用成本更低的洗牌(Shuffle)方式,提升 MapReduce性能,由于內存數據存儲和實時的處理能力,Spark比其它的大數據處理技術的性能要更加出色。還支持大數據查詢的延遲計算,可以優(yōu)化大數據處理流程。關于優(yōu)化,仍需補充的一點就是,當需要多次處理同一數據集時,將中間結果保存在內存中而不是將其寫入磁盤的 Spark的設計初衷就是研發(fā)既可以在內存中、又可以在磁盤上工作的執(zhí)行引擎。當內存中的數據過期時,Spark操作符就會執(zhí)行外部操作,可以將某個數據集的一部分送入內存而剩余部分置于磁盤中。Spark的性能優(yōu)勢得益于這種內存中的數據存儲?;诖耍傻肧park生態(tài)系統(tǒng)的架構設計如圖2所示。
大量生物網絡數據都存儲在NoSQL數據庫HBase中,通過Spark平臺操作數據。HBase是一個面向列、可靠性高的分布式存儲系統(tǒng),一個開源的非關系型分布式數據庫(NoSQL)。在技術上,改進了谷歌的BigTable方法,利用HBase技術可在廉價PC機群上搭建起大規(guī)模存儲集群,HBase為了擴展海量數據,可采用增加節(jié)點實現線性擴展,從而可以在集群上管理大量非結構化或半結構化的稀疏數據。HBase僅能通過主鍵或主鍵的range檢索數據來支持單行事務操作。需要注意的是,HBase的數據存儲形式與其它數據庫不一樣,其中包含了:行鍵(Row Key)、時間戳(Timestamp)、列族(Column Family)、表和區(qū)域(Table&Region)和單元格(Cell)。HBase系統(tǒng)內部框架如圖3所示。
圖2 Spark生態(tài)系統(tǒng)
基因型是控制生物性狀的基因座上特定等位基因的組合,在不考慮具體基因座時可以泛指生物個體的全部遺傳組成。與基因型相對的是表型,而表型是指生物個體表現的性狀。基因型是表型的遺傳基礎。不同基因型表現相同表型、以及相同基因型表現不同表型的現象廣泛存在,這使得從基因型到表型的遺傳調控這一科學難題頗顯研究難度。而研究中通過運用計算機大數據技術,匯聚整合這些數據庫的問題就歸結集中在數據格式不統(tǒng)一上。輸入文件的數據來源主要有注釋變異文件、VCF文件、xml文件等,整體大數據框架是Spark on yarn平臺,主要選用技術包括MongoDB數據庫存儲和Spark SQL查詢,輸出的是與輸入相關的基因型或者表型。設計課題提供一個可擴展且高性能的存儲、處理、分析基因大數據的解決方案,設計構建框架如圖4所示。
圖3HBase系統(tǒng)架構
Fig.3HBasesystemstructure
圖4 YSearch系統(tǒng)框架
系統(tǒng)首頁是搜索頁面,如圖5所示。可以手動輸入疾病或基因名稱,也可以點擊示例輸入,再點擊搜索,生成如圖6所示的結果頁面。比如搜索疾病尋找致病基因,通過輸入疾病表型名稱,在結果頁面中展示了相關聯的蛋白質名稱與其相關度,然后可以點擊蛋白質名稱跳轉到HPRD數據庫中相關蛋白質的詳盡解讀內容。鏈接HRRD效果界面則如圖7所示。同樣查詢基因導致的疾病也是類似操作。
圖5 系統(tǒng)首頁
圖6 搜索結果頁面
圖7 鏈接HPRD頁面
使用計算方法預測候選基因-疾病相關性既可以研究發(fā)病機理,而且也有助于疾病診斷、治療,以及預防。近年來隨著精準醫(yī)療的提出與廣受關注,個人醫(yī)療數據正日趨豐富,通過大數據技術來展開處理研究已成為未來的熱點領域。同時個人健康也正成為時下的熱、焦點話題,隨之優(yōu)化疾病-基因關聯算法,完善搜索系統(tǒng)則更加顯現出兼具著不容忽視的社會和經濟雙重效益。在此基礎上,該研究對生物醫(yī)藥產業(yè)的發(fā)展也必將發(fā)揮不可低估的重要推動作用。