榮河江, 王亞東
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
本體作為知識工程、知識表示等計(jì)算機(jī)學(xué)科的研究熱點(diǎn)和重要領(lǐng)域知識描述工具,也成為了生物數(shù)據(jù)的重要描述方式。本體通過明確的語言,以形式化的方式描述給定領(lǐng)域的概念及概念之間的關(guān)聯(lián)。每一個事物都有一些性質(zhì)和關(guān)系,一個事物的性質(zhì)和關(guān)系統(tǒng)稱為事物的屬性。比較事物的相似度就是定量評估事物間的屬性。本體是研究不同術(shù)語關(guān)系的一種有效方法?;虮倔w在過去十年間,成為應(yīng)用最為廣泛的生物醫(yī)學(xué)本體之一。
基因作為遺產(chǎn)信息的攜帶者,其相似性的研究在生物醫(yī)學(xué)領(lǐng)域受到高度關(guān)注。研究基因及基因產(chǎn)物之間的相互作用關(guān)系,對于探索生命奧秘具有重要的意義。
基因本體(Gene Ontology)可以計(jì)算不同分子功能術(shù)語或生物過程術(shù)語之間的相似度,從而衡量不同分子功能或生物過程之間的關(guān)系;基于疾病本體(Disease Ontology)可以計(jì)算不同疾病術(shù)語之間的相似度,從而衡量不同疾病之間的關(guān)聯(lián)關(guān)系。
隨著高通量生物技術(shù)的進(jìn)步,人類基因組測序和多物種基因測序工作的發(fā)展,推動了基因識別的研究進(jìn)程,積累了海量的基因數(shù)據(jù)。為了更好地利用生物數(shù)據(jù)及其包含的信息,通過相似性分析獲得已有的基因信息來推斷基因的結(jié)構(gòu)、功能和進(jìn)化關(guān)系,可以為生物學(xué)家的研究提供幫助。相似性分析是生物信息學(xué)的基礎(chǔ)之一,也是生物信息學(xué)的熱點(diǎn)研究領(lǐng)域。目前,如何充分利用現(xiàn)有的基因數(shù)據(jù)和注釋信息來計(jì)算基因的相似性,提高計(jì)算精度,是將基因技術(shù)轉(zhuǎn)化為生物醫(yī)學(xué)應(yīng)用亟需解決的問題之一。
基因本體項(xiàng)目(Gene Ontology project)從1998年創(chuàng)立至今,基因本體數(shù)據(jù)得到了急速積累。該項(xiàng)目的重點(diǎn)是將基因做系統(tǒng)性的注釋,不僅僅用基因的序列來描述,而是用更加豐富多元化的方式來描述基因的性質(zhì),基因本體就是基因的注釋分類。由于生物系統(tǒng)驚人的復(fù)雜性,并且要分析的數(shù)據(jù)集數(shù)量不斷增加,生物醫(yī)學(xué)研究越來越依賴于以計(jì)算機(jī)形式存儲的知識?;虮倔w(GO)項(xiàng)目提供了目前可用于計(jì)算基因和基因產(chǎn)物功能的最全面資源[1]。
基因本體可用于形式化、規(guī)范地注釋基因和基因產(chǎn)物的特性?;虮倔w包含3個分支,可闡釋如下。
(1)分子功能(Molecular function):描述分子的化學(xué)功能。
(2)生物過程(Biological process):描述基因產(chǎn)物可行使功能的生物學(xué)目的和過程。與分子功能相比,生物過程必須有多個清晰的步驟。
(3)細(xì)胞組件(Cellular component):描述亞細(xì)胞結(jié)構(gòu)、位置和大分子復(fù)合物。
基因本體信息可以構(gòu)建一個有向無環(huán)圖(Directed Acyclic Graph, DAG)。其設(shè)計(jì)結(jié)構(gòu)可如圖1所示。節(jié)點(diǎn)表示本體中的術(shù)語。邊表示術(shù)語之間的關(guān)系,包括“is-a”、“part-of”、“regulate”三種類型。如果一個節(jié)點(diǎn)是另一個節(jié)點(diǎn)的子孫節(jié)點(diǎn),那么前一個節(jié)點(diǎn)是后一個節(jié)點(diǎn)的子類型。
圖1 GO結(jié)構(gòu):有向無環(huán)圖
根據(jù)Pesquita等人[2]2009年發(fā)表文章綜述,現(xiàn)有醫(yī)學(xué)本體節(jié)點(diǎn)語義相似性的計(jì)算分為3類,分別是:基于邊的方法(edge-based)、基于點(diǎn)(node-based)的方法和混合方法(hybrid)。其中,基于邊的方法、即基于距離的方法,主要計(jì)算圖中2個術(shù)語之間的路徑數(shù)目。該技術(shù)利用最短路徑或所有路徑的平均值來定義概念間的距離,如果數(shù)據(jù)間的距離越大,表明數(shù)據(jù)之間的相似度越小。基于點(diǎn)的方法,又稱為基于信息量(Information Content)的計(jì)算方法。該方法認(rèn)為2個術(shù)語共享的信息越多,相似度越高?;旌戏椒▌t基于術(shù)語的有向無環(huán)圖的計(jì)算方法,既考慮術(shù)語祖先對其信息量的影響,也考慮術(shù)語所在位置的影響。諸如,基于語義覆蓋的Combine算法就是混合方法。
術(shù)語的相似性主要基于2個因素:術(shù)語包含的信息量(information content, IC)和術(shù)語的層次結(jié)構(gòu)。直觀上看,如果術(shù)語經(jīng)常被用來注釋實(shí)體,那么其中所含有的信息量就會減少,即術(shù)語的信息量與其所注釋實(shí)體的數(shù)量成反比。
在這里,Sheldon[3]對術(shù)語信息量(information content)做出了如下定義:
IC(t)=-log(p(t))
(1)
其中,anno(t)是術(shù)語t的直接注釋實(shí)體數(shù)量,則分子表示t及其子孫對應(yīng)的注釋實(shí)體數(shù)量,分母表示根節(jié)點(diǎn)(root)子孫節(jié)點(diǎn)注釋實(shí)體數(shù)量,即為集合內(nèi)實(shí)體的總數(shù)。
p(t)公式也可以簡化表示為:
(2)
其中,F(xiàn)req(t)表示t及其后代的注釋實(shí)體數(shù)量,|I(DO)| 表示集合內(nèi)實(shí)體的總數(shù)。
從數(shù)學(xué)角度解釋,基因術(shù)語C的信息量定義為其在所有基因術(shù)語實(shí)體中出現(xiàn)的概率p(c)的負(fù)對數(shù)函數(shù)。由式(1)、式(2)可以很簡明地看出,p(t)越接近0,則信息量IC(t) 越大,這也符合信息增益理論;p(t)越小,其在信息本體構(gòu)成的有向無環(huán)圖中的層次越低(遠(yuǎn)離根節(jié)點(diǎn)),其注釋到的基因也越少,表示的內(nèi)容越具體,因此信息量越大。
按照前文信息量的定義,每個基因術(shù)語的信息量都可以通過計(jì)算自身及其后代節(jié)點(diǎn)的注釋實(shí)體個數(shù)得到。研究人員提出如下一種假設(shè):2種術(shù)語,如果這2種術(shù)語的祖先節(jié)點(diǎn)信息量越大,則兩者之間就會越相似。由此產(chǎn)生了一系列基于節(jié)點(diǎn)的相似度計(jì)算方法。
將2個節(jié)點(diǎn)的祖先(common ancestor)節(jié)點(diǎn)定義如下:對于基因術(shù)語C1和C2,兩者通常有一個到多個共同祖先,令CA(C1,C2)表示這些祖先集合。Resnik[4]認(rèn)為2個節(jié)點(diǎn)共享的信息越多,則這2個節(jié)點(diǎn)間就越相似,由此提出采用一種語義相似度計(jì)算方法:C1和C2的相似度用CA(C1,C2)中信息量最大的那個祖先(most informative common ancestor, MICA)的信息量來表示。研究推得數(shù)學(xué)公式表述如下:
SimResnik(C1,C2)=IC(MICA(C1,C2))
(3)
Resnik提出最大信息量共同祖先的概念。這是較早的、也是經(jīng)典的語義相似性計(jì)算方法,但是該方法只考慮了節(jié)點(diǎn)的共性,而忽略了本體架構(gòu)方面的信息,當(dāng)2個節(jié)點(diǎn)的最低公共祖先相同時,其下層的節(jié)點(diǎn)語義相似性將不能進(jìn)行區(qū)分。在此基礎(chǔ)之上,Jiang等人[5]就隨即提出了最低共同祖先(lowest/least common ancestor, LCA)的概念。根據(jù)最低共同祖先的概念,疾病C1和C2的相似度為IC(LCA(C1,C2))。Wu等人[6]也相繼提出了最近共同祖先(most recent common ancestor, MRCA)的概念,由此得到MRCA的數(shù)學(xué)定義可見如下:
(4)
其中,dist(C1,C)表示C1與C1和C2的共同祖先C的最短距離。根據(jù)Wu等人的計(jì)算方法,疾病C1和C2的相似度為IC(MRCA(C1,C2))。
Couto等人[7]引入公共不相容祖先結(jié)合的概念(common disjunctive ancestors, CDAs)。不相容祖先節(jié)點(diǎn)的數(shù)學(xué)公式描述如下:
DisjAnc(t)={(C1,C2)|
(?P:(P∈Paths(C1,t))∧(C2?p))∧
(?P:(P∈Paths(C2,t))∧(C1?p))}
(5)
從上述定義可以看出,節(jié)點(diǎn)t的不相容祖先節(jié)點(diǎn)為:如果存在一條路徑,從C1到t而不通過C2,同時有另外一條路徑,從t到C2而不通過C1,那么節(jié)點(diǎn)C1和C2就是節(jié)點(diǎn)t的不相容祖先節(jié)點(diǎn)。綜合上述定義推得,疾病C1和C2的相似度計(jì)算公式為:
(6)
其中,|CDAs(C1,C2)|表示共同不相容祖先的個數(shù)。
上述基于祖先節(jié)點(diǎn)信息量的疾病相似性方法,都是基于共同祖先的概念,從單個或部分祖先節(jié)點(diǎn)的角度考慮2個術(shù)語的相似性,而忽略了屬于自身的信息和不同層次的節(jié)點(diǎn)信息差異。以圖2的DAG圖為例,利用MICA的計(jì)算方式,2個節(jié)點(diǎn)的相似度為這2個節(jié)點(diǎn)在DAG結(jié)構(gòu)中擁有最大信息量的共同祖先節(jié)點(diǎn)的信息量。而在圖2中,節(jié)點(diǎn)B、C和節(jié)點(diǎn)B、D擁有相同的MICA,得到的相似度相同。但是分析后卻會發(fā)現(xiàn),C和D屬于不同的層次關(guān)系,B、C的相似度應(yīng)該高于B、D的相似度。因此不同層次的節(jié)點(diǎn)信息差異也是研究參考因素之一。
圖2 基因本體DAG圖示
Lin[8]認(rèn)為Resnik的方法忽略了2個術(shù)語自身的信息量,當(dāng)2個術(shù)語信息量較大時,對相似度準(zhǔn)確性的影響也較大?;诖?,Lin則提出了一種新的相似度計(jì)算方法,定義疾病C1和C2的相似度為:
(7)
Lin的方法融入了術(shù)語自身的信息量,但是卻并未考慮不同層次節(jié)點(diǎn)信息差異。直觀上,2個疾病的MICA越靠近根節(jié)點(diǎn),其所共享的信息量就越小。為了解決這一問題,Schlicker等人[9]研發(fā)提出了修正后的Simlin公式,采用系數(shù)1-p(c)進(jìn)行修正。研究中遵循的相似度計(jì)算公式如下:
SimSchlicker(C1,C2)=Simlin(C1,C2)×(1-p(c))
(8)
完整的計(jì)算公式即為:
(9)
其中,tMICA表示t為疾病C1和C2的MICA,當(dāng)t為根節(jié)點(diǎn)時,p(tMICA)=0,這與實(shí)際不符。在此基礎(chǔ)上,Li等人[10]又提出了新的修正系數(shù),調(diào)整后的節(jié)點(diǎn)C1和C2相似度計(jì)算公式如下:
SimLi(C1,C2)=Simlin(C1,C2)×
(10)
接下來,在基于邊和基于點(diǎn)的相似度計(jì)算方法之上,Wang等人[11]設(shè)計(jì)提出了一種利用混合技術(shù)的相似度計(jì)算方法。對DAG圖中的每一條邊依據(jù)節(jié)點(diǎn)的關(guān)系(is-a關(guān)系或as-a關(guān)系)賦予不同的權(quán)值。根據(jù)定義,一個節(jié)點(diǎn)的子有向無環(huán)圖為該節(jié)點(diǎn)及其祖先節(jié)點(diǎn)。同時,研究中又定義了一個指標(biāo),用于描述位于節(jié)點(diǎn)A的子有向無環(huán)圖中的任意一個節(jié)點(diǎn)t,叫做節(jié)點(diǎn)t對節(jié)點(diǎn)A的語義貢獻(xiàn)值。該值是節(jié)點(diǎn)t到節(jié)點(diǎn)A的最優(yōu)路徑中所有邊權(quán)的乘積。公式描述如下:
(11)
約定we為語義的貢獻(xiàn)因子,根據(jù)節(jié)點(diǎn)關(guān)系的不同,賦予不同范圍區(qū)間的值。
根據(jù)Wang等人的定義,2個節(jié)點(diǎn)C1和C2的相似度為:
(12)
其中,SV(C1)為節(jié)點(diǎn)C1在DNA圖中總的語義貢獻(xiàn)值。即使是同一個祖先,由于相對于C1和C2的位置不同,該祖先對C1和C2的貢獻(xiàn)度可能也不同。Wang的方法利用了本體節(jié)點(diǎn)之間的拓?fù)浣Y(jié)構(gòu),考慮到了本體上路徑信息特征,雖然不是基于信息量的,但是具有較好的實(shí)驗(yàn)效果。
此外,李榮等人[12]提出了語義路徑覆蓋的概念。該算法根據(jù)路徑的相交程度來計(jì)算彼此之間的相似性的值。采用基于語義鏈接(semantic links)的方法對每一概念的信息量進(jìn)行計(jì)算。分別計(jì)算2個節(jié)點(diǎn)語義路徑上交集節(jié)點(diǎn)的信息量之和與并集節(jié)點(diǎn)的信息量之和,將兩者的比率作為其相似性的值。Combine算法求解v1和v2的計(jì)算過程可分述如下。
(1)計(jì)算出GO中節(jié)點(diǎn)的總個數(shù)N。
(2)對每個節(jié)點(diǎn)φ,計(jì)算出該節(jié)點(diǎn)的子孫節(jié)點(diǎn)的個數(shù)φ′。
(3)計(jì)算每個φ的子孫節(jié)點(diǎn)出現(xiàn)的概率p(φ)=φ′/N。
(4)計(jì)算φ的信息量IC(φ)。
(5)計(jì)算節(jié)點(diǎn)v1和節(jié)點(diǎn)v2語義路徑交α、語義路徑并β。
(6)分別計(jì)算α所包含節(jié)點(diǎn)的信息量IC(α),β所包含節(jié)點(diǎn)的信息量IC(β)。
(7)定義節(jié)點(diǎn)v1和v2的相似性為IC(α)和IC(β)的比率,即:
(13)
利用2種疾病的祖先節(jié)點(diǎn)信息計(jì)算2個疾病的相似性,方法簡單且利于理解。但是只利用祖先節(jié)點(diǎn)信息,忽略自身的信息量,以及忽略注釋實(shí)體之間關(guān)系,都會對相似度的準(zhǔn)確性造成影響。研究可知,疾病本體DO包括16層節(jié)點(diǎn),每層節(jié)點(diǎn)信息的分布箱線圖如圖3所示。通過對圖3的考察分析可以發(fā)現(xiàn),節(jié)點(diǎn)的位置與信息量成明顯相關(guān)性[13],必須充分考慮不同層次節(jié)點(diǎn)信息量的差異。
圖3 DO不同層節(jié)點(diǎn)信息量分布箱線圖
Fig.3BoxplotofinformationcontentdistributionamongnodesfromdifferentlayerofDO
本文在兩節(jié)點(diǎn)最近公共祖先點(diǎn)(most recent common ancestor)和最低公共祖先節(jié)點(diǎn)(least common ancestor)的基礎(chǔ)上,定義Ri公共節(jié)點(diǎn)(Ri common ancestor, RiCA)的公式具體如下:
RiCA=α×IC(LCA(C1,C2))+β×IC(MRCA(C1,C2))
(14)
其中,α,β為常系數(shù)因子;LCA(C1,C2)表示C1,C2節(jié)點(diǎn)的最低公共祖先節(jié)點(diǎn),從C1,C2的祖先節(jié)點(diǎn)集合中,選擇距離根節(jié)點(diǎn)(root)距離最遠(yuǎn)的節(jié)點(diǎn),并用信息量IC公式計(jì)算其信息量。MRCA(C1,C2)表示最近祖先節(jié)點(diǎn),將其定義為C1,C2的所有祖先節(jié)點(diǎn)中,與C1,C2的距離最短的點(diǎn),即所跨越的邊個數(shù)最短的點(diǎn)。換言之就是,LCA考慮了標(biāo)定的2個術(shù)語之間的相似性。而MRCA結(jié)合了拓?fù)浣Y(jié)構(gòu)中邊的概念,使得注釋實(shí)體在本體路徑上得到了新式的更佳利用。通過乘以α,β兩個常數(shù)因子,將2種方法得到的信息量整合起來,形成新的信息量評價值RiCA。
同時,由于兩節(jié)點(diǎn)的祖先節(jié)點(diǎn)相似度計(jì)算僅利用到了祖先節(jié)點(diǎn)信息,忽略了其它實(shí)體關(guān)系,而Li的公式包含了屬于自身信息量和不同層次節(jié)點(diǎn)的信息差異,且有較好表現(xiàn),基于Li的公式,引入RiCA算子,得出兩節(jié)點(diǎn)相似度的Ri計(jì)算即如式(15)所示:
(15)
本體術(shù)語間相似度的評價是一個難題,一些本體術(shù)語間的實(shí)際功能相似性仍然無法準(zhǔn)確知道。以疾病本體基因?yàn)槔?,一些疾病的關(guān)聯(lián)性需要通過臨床驗(yàn)證才能得出準(zhǔn)確評價。沒有一個公認(rèn)的評價標(biāo)準(zhǔn)。在這里,研究采用了專家評分的方式進(jìn)行評價。
李榮的研究團(tuán)隊(duì)從GO術(shù)語庫篩選了25對術(shù)語,分別讓10位與研究項(xiàng)目無關(guān)的生物學(xué)專家對術(shù)語之間的相似性進(jìn)行打分[12],然后將專家打分的平均分作為評價基準(zhǔn)。計(jì)算結(jié)果與專家結(jié)果的相似度高,則認(rèn)為該方法準(zhǔn)確性高。
本文采用25對術(shù)語進(jìn)行篩選,去掉一些已經(jīng)過時的術(shù)語,選取其中的15對進(jìn)行測試。挑選的術(shù)語對列表可見表1。
表1 挑選的GO術(shù)語對
采用ZZL方法、Rensik方法、Lin方法、Combine方法和本文提出方法對15對術(shù)語的相似度進(jìn)行計(jì)算,計(jì)算結(jié)果見表2。
表2 人工打分各項(xiàng)對比
經(jīng)過反復(fù)測試數(shù)據(jù),當(dāng)α= 0.6,β= 0.4時,相關(guān)系數(shù)取得最大值。得到的本文方法與人工打分的相關(guān)系數(shù)為0.872 1。研究得到的各種算法的運(yùn)算結(jié)果與人工打分的相關(guān)系數(shù)可詳見表3。
表3 各方法的相關(guān)系數(shù)
從上述的比較結(jié)果中可以看出,本文的方法獲得了較高的相關(guān)系數(shù),表明在計(jì)算術(shù)語相似度方面取得較好的效果。主要是因?yàn)楸疚难芯恐胁坏趦尚g(shù)語祖先節(jié)點(diǎn)的計(jì)算方法,而且結(jié)合了最近祖先節(jié)點(diǎn)和最低祖先節(jié)點(diǎn)的信息量,獲得較優(yōu)的信息量評價指標(biāo)。同時考慮到了語義節(jié)點(diǎn)自身包含的信息量和不同層次語義結(jié)構(gòu)的差異性影響,借鑒Li提出的語義相似度的方法,有效綜合這些因素,因此獲得了更好的準(zhǔn)確性。
基因術(shù)語相似度計(jì)算,具有重要的意義。研究在Li方法的基礎(chǔ)上,結(jié)合最近公共祖先節(jié)點(diǎn)和最低層次公共祖先節(jié)點(diǎn),提出一種改進(jìn)的相似度計(jì)算方法。該方法能夠在評測術(shù)語節(jié)點(diǎn)間信息量的同時,考慮了2個術(shù)語自身的信息量,加入信息量均值的處理,使得算法具有較好的表現(xiàn)。實(shí)驗(yàn)結(jié)果表明,相比其它算法,取得了較高的相關(guān)系數(shù)。在多數(shù)情況下,本算法求出的結(jié)果具有更優(yōu)的生物學(xué)意義。在后續(xù)的工作中,將進(jìn)一步綜合影響術(shù)語相似性度量的因素,以提高算法的正確性。