唐瑞澤, 玄 萍
(1 黑龍江大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院, 哈爾濱 150080; 2 汕頭大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)系, 廣東 汕頭 515063)
研發(fā)一個(gè)用于疾病治療的新藥需要一個(gè)漫長(zhǎng)的過程約10 ~15 年,同時(shí)還會(huì)花費(fèi)8 ~15 億美元[1]。藥物重新定位是為已批準(zhǔn)的藥物尋找新的治療效果[2]。 已上市的藥物具有已知的安全性和藥理學(xué)特征,因此藥物重新定位可以將藥物開發(fā)的時(shí)間縮短到6.5 年,并把研發(fā)成本降低到3 億美元。
計(jì)算已批準(zhǔn)藥物的新治療適應(yīng)癥,有助于在篩選現(xiàn)有藥物進(jìn)行進(jìn)一步實(shí)驗(yàn)驗(yàn)證時(shí)預(yù)測(cè)候選疾病?,F(xiàn)有的計(jì)算預(yù)測(cè)方法大致可分為3 類,兩種藥物的功能越相似,就越有可能與類似的疾病相關(guān)。 因此,第一類的方法主要是利用藥物-疾病關(guān)聯(lián)、疾病相似性和藥物相似性數(shù)據(jù)進(jìn)行藥物-疾病關(guān)聯(lián)預(yù)測(cè)。例如,Zhang 等[3-4]利用非負(fù)矩陣分解和相似性約束的矩陣分解來整合已知的藥物和疾病信息,獲取藥物和疾病的關(guān)聯(lián)概率。 還有一些方法通過在藥物-疾病異構(gòu)網(wǎng)絡(luò)上隨機(jī)游走來預(yù)測(cè)關(guān)聯(lián)分?jǐn)?shù)[5-6]。Wang 等[7]構(gòu)建了一個(gè)支持向量機(jī)模塊(SVM)來推斷藥物的未知治療效果。 然而,隨著藥物相關(guān)數(shù)據(jù)的增加和多樣化,除了考慮藥物的基本靶點(diǎn)信息和蛋白質(zhì)結(jié)構(gòu)外,其他信息對(duì)預(yù)測(cè)疾病候選者也很重要,而這些方法并沒有整合這些多源數(shù)據(jù)。
第二類方法考慮使用與藥物和疾病相關(guān)的多個(gè)數(shù)據(jù)源進(jìn)行關(guān)聯(lián)預(yù)測(cè)。 已經(jīng)開發(fā)了幾種方法,非負(fù)矩陣分解、稀疏子空間學(xué)習(xí)或推理概率矩陣分解來預(yù)測(cè)候選藥物注釋。 還有一些方法通過在構(gòu)建的異構(gòu)網(wǎng)絡(luò)上隨機(jī)游走來預(yù)測(cè)各種藥物的候選疾病[8]。然而,多個(gè)數(shù)據(jù)源表現(xiàn)出復(fù)雜的非線性關(guān)系,整合這些數(shù)據(jù)對(duì)于探索藥物與疾病的相關(guān)性至關(guān)重要。
第三類方法采用深度學(xué)習(xí)方法整合藥物和疾病相關(guān)信息,以更準(zhǔn)確地識(shí)別合適的疾病候選者。Xuan 等[9]提出了一個(gè)基于CNN(Convolution Neural Network)和BiLSTM(Bi-directional Long Short-Term Memory)架構(gòu)的模型,用于預(yù)測(cè)藥物-疾病關(guān)聯(lián)分?jǐn)?shù)。 此外,還構(gòu)建了基于卷積神經(jīng)網(wǎng)絡(luò)的模型和基于圖卷積網(wǎng)絡(luò)(GCN)的模型來推斷藥物的候選疾病。 然而,在深度學(xué)習(xí)過程中,沒有考慮以節(jié)點(diǎn)間的拓?fù)潢P(guān)系為指導(dǎo),通過加權(quán)聚合有屬性節(jié)點(diǎn)的屬性來補(bǔ)全無屬性節(jié)點(diǎn)的屬性[10]。 在這項(xiàng)研究中,本文提出了一個(gè)基于屬性補(bǔ)全的預(yù)測(cè)模型,從不同的元路徑編碼和捕捉異構(gòu)網(wǎng)絡(luò)中節(jié)點(diǎn)的拓?fù)淝度?,為無屬性節(jié)點(diǎn)進(jìn)行屬性補(bǔ)全。
為了預(yù)測(cè)特定藥物的潛在適應(yīng)癥即候選疾病,本文提出了藥物-疾病關(guān)聯(lián)預(yù)測(cè)模型。 首先,基于多種藥物相似性、疾病相似性和藥物-疾病關(guān)聯(lián)構(gòu)建了3 種不同的藥物-疾病異構(gòu)網(wǎng)絡(luò);構(gòu)建多個(gè)元路徑,用來編碼和學(xué)習(xí)藥物和疾病節(jié)點(diǎn)的拓?fù)淝度耄⑻岢鲆粋€(gè)基于元路徑層面的注意力機(jī)制,融合來自多個(gè)元路徑的不同的語義信息;以融合后的藥物(疾?。┕?jié)點(diǎn)的拓?fù)淝度霝橹笇?dǎo),對(duì)有屬性的藥物節(jié)點(diǎn)的屬性進(jìn)行加權(quán)聚合來補(bǔ)全沒有屬性的疾病節(jié)點(diǎn)的屬性;最后,將得到的3 個(gè)網(wǎng)絡(luò)的藥物-疾病節(jié)點(diǎn)對(duì)的屬性通過1×1 卷積融合,通過兩層全連接神經(jīng)網(wǎng)絡(luò),輸出藥物和疾病是否存在關(guān)聯(lián)的分?jǐn)?shù)。
本文從以往的藥物-疾病關(guān)聯(lián)預(yù)測(cè)工作中獲得藥物與疾病的關(guān)聯(lián)、藥物的化學(xué)亞結(jié)構(gòu)、藥物的靶蛋白結(jié)構(gòu)域、藥物的靶注釋以及疾病語的語義相似性。3 051個(gè)已知的藥物-疾病關(guān)聯(lián)數(shù)據(jù)最初是從聯(lián)合醫(yī)學(xué)語言系統(tǒng)(UMLS)中提取的,其中包含763 種藥物和681 種疾病之間的治療關(guān)系。 本文主要利用了3種藥物屬性,藥物的化學(xué)結(jié)構(gòu)是從PubChem 數(shù)據(jù)庫中提取的化學(xué)指紋,從InterPro 數(shù)據(jù)庫和UniProt 數(shù)據(jù)庫中獲得了藥物的靶蛋白結(jié)構(gòu)域和藥物的靶注釋。 相關(guān)的疾病命名由美國(guó)國(guó)家醫(yī)學(xué)圖書館提供(MeSH)。
1.2.1 多種藥物屬性表示
基于多種藥物相關(guān)的數(shù)據(jù),本文用矩陣Bp(p =chem,doma,anno) 分別表示藥物的3 種屬性,即藥物的化學(xué)子結(jié)構(gòu),藥物靶蛋白的目標(biāo)域和基因注釋。Bp被定義為式(1):
其中,Nr表示藥物的數(shù)量,Nchem(Ndoma,Nanno)是藥物化學(xué)子結(jié)構(gòu)(藥物靶蛋白的目標(biāo)域,基因注釋)的數(shù)量,Nchem =623,Ndoma =1 426,Nanno =447。
如果Bchem(i,j) 的值為1,表示藥物ri具有化學(xué)子結(jié)構(gòu)cj,否則值為0。 同樣地,如果藥物ri含有靶蛋白結(jié)構(gòu)域oj(基因注釋tj),將Bdoma(i,j)(Banno(i,j) )的值置為1,否則為0。
1.2.2 多種藥物相似性表示
兩個(gè)藥物ri和rj之間具有越多相同的化學(xué)子結(jié)構(gòu),通常這種情況下藥物ri和rj在功能上具有更高的相似性;類似地,當(dāng)藥物ri和rj具有更多相同的靶蛋白域或者靶注釋,ri和rj之間也會(huì)具有更高的相似性。 基于這些生物性前提,Wang 等[11]通過余弦相似性計(jì)算得到了3 種不同的藥物相似。 3 個(gè)藥物相似矩陣分別為Srchem,Srdoma,Sranno。 藥物相似性矩陣定義為式(2):
反映了藥物之間在化學(xué)亞結(jié)構(gòu)方面的相似度大小,Srdoma(Sranno) 表示一對(duì)藥物在蛋白質(zhì)結(jié)構(gòu)域(靶注釋)下的相似度大小,取值范圍在[0,1]之間,數(shù)值越大說明兩種藥物就越相似。
1.2.3 疾病相似性表示
有向無環(huán)圖(DAG)通常被用來表示一種疾病,該圖是由多個(gè)與該疾病相關(guān)的疾病術(shù)語組成。 兩個(gè)疾病有越多相同的疾病術(shù)語,兩個(gè)疾病之間越相似。通過余弦相似性計(jì)算得到的矩陣Sd∈表示兩種疾病之間的相似性,Nd是疾病的數(shù)量,的值域[0,1],值越高,di和dj之間越相似。
1.2.4 藥物-疾病關(guān)聯(lián)表示
關(guān)聯(lián)矩陣Ard∈包含了Nr個(gè)藥物和Nd個(gè)疾病之間的關(guān)聯(lián)。 每一行和每一列分別代表一種藥物和一種疾病。 如果ri和dj之間存在關(guān)聯(lián),則Arijd的值為1,否則Arijd =0。
面對(duì)3 種不同的藥物相似性,構(gòu)建3 個(gè)藥物-疾病異構(gòu)網(wǎng)絡(luò)Gp =(V,E) 。 每個(gè)異構(gòu)網(wǎng)絡(luò)包含了兩種類型的節(jié)點(diǎn)V =(Vr∪Vd) 和3 種類型的邊E =(Erp-r∪Ed-d∪Er-d) 。 每個(gè)異質(zhì)網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)是藥物節(jié)點(diǎn)和疾病節(jié)點(diǎn)數(shù)量之和(Ntotal=Nr+Nd),Erp-r是基于第p種藥物相似性建立的藥物-藥物相似性的邊。 利用已知的關(guān)聯(lián)數(shù)據(jù),建立藥物-疾病的邊,用Er-d表示。 如果節(jié)點(diǎn)vi,vj∈V之間存在一個(gè)連接,那么eij∈E。
基于藥物-疾病關(guān)聯(lián)和多種藥物相似性矩陣,本文構(gòu)建了p個(gè)雙層異構(gòu)網(wǎng)絡(luò)的鄰接矩陣Hp∈RNtotal*Ntotal,式(3):
其中,(Ard)T是Ard的轉(zhuǎn)置矩陣。
本文構(gòu)建的雙層異構(gòu)網(wǎng)絡(luò)Hp, 包含藥物和疾病節(jié)點(diǎn)。 多重關(guān)系也包括在內(nèi),r -r,d -d,r -d表示藥物-藥物相似性,疾病-疾病相似性以及藥物和疾病之間的關(guān)聯(lián)關(guān)系。 在異構(gòu)圖中,許多節(jié)點(diǎn)可以通過具有不同語義的路徑連接,被稱為元。 長(zhǎng)度為m的元路徑定義為式(4):
其中,v1,v2,…,vm+1表示節(jié)點(diǎn)類型,n1,n2,…,np表示連接v1和vm+1的邊的類型。
一個(gè)元路徑實(shí)例被定義為異構(gòu)圖中的一個(gè)節(jié)點(diǎn)序列。r1和r4可以通過元路徑r -r -r和r -d -r的方式連接。 例如,目標(biāo)節(jié)點(diǎn)r1的元路徑r1- r2- r4,如果藥物r1和r4都有r2類似的功能,其可能是相似的;在r1- d3- r4中,這兩種藥物都和疾病關(guān)聯(lián),表明r1可能和r4相似。 不同的元路徑顯示出不同的語義信息。 考慮到藥物ri的直接鄰居和經(jīng)過兩跳之后的鄰居對(duì)其影響較大。 因此,本文建立長(zhǎng)度為1的元路徑和長(zhǎng)度為2 的元路徑δ∈{r - r,r - d,r -r - r,r - d - r,r - r - d,r - d - d}。 同樣的,對(duì)于疾病節(jié)點(diǎn)dj,分別建立長(zhǎng)度為1 和長(zhǎng)度為2 的元路徑δ∈{d - r,d - d,d - r - r,d - d - r,d - r - d,d - d - d}。 用Pδr(Pδd) 表示藥物(疾病) 節(jié)點(diǎn)的元路徑。
基于Hp結(jié)構(gòu)信息,藥物和疾病之間存在各種連接關(guān)系,φ∈{r - r,r - d,d - d,d - r}。 元路徑與這些關(guān)系相對(duì)應(yīng)的鄰接矩陣表示為Xk∈RNtotal*Ntotal,其中k∈φ。 以k =r - d為例,Xk被定義為式(5):
當(dāng)且僅當(dāng)節(jié)點(diǎn)i和j之間存在r - d的關(guān)系時(shí),1,否則為0。
對(duì)于每條元路徑,都要建立其相應(yīng)的拓?fù)淝度搿?duì)于元路徑k包括在δ中的第e個(gè)關(guān)系的鄰接矩陣被歸一化為,式(6):
其中,Oi表示第i行元素之和,Zj表示第j列元素之和。 元路徑δ的拓?fù)淝度胧荰,式(7):
其中,|δ |是長(zhǎng)度。
例如,元路徑r - r - d的長(zhǎng)度為2,相對(duì)應(yīng)的拓?fù)淝?入在 不 同 的 元 路 徑 下表示藥物(疾?。?節(jié)點(diǎn)基于Hp下的拓?fù)淝度耄渲衟∈{chem,doma,anno}。
給定藥物ri(疾病dj) 的元路徑Pδr(Pδd), 其特定的語義表示為(T pr,δ)i((T pd,δ)j)。 每一個(gè)元路徑都反映了一個(gè)特定的語義信息,對(duì)構(gòu)造藥物(疾病)節(jié)點(diǎn)的拓?fù)淝度胗兄黠@不同的貢獻(xiàn)。 因此,本文提出了一個(gè)元路徑層面的注意力機(jī)制,有助于融合多種語義。 以藥物節(jié)點(diǎn)為例,元路徑類型層面的注意力得分為(spr,δ)i,式(8):
其中,tanh 表示一個(gè)非線性激活函數(shù);δ∈{r -r,r - d,r - r - r,r - d - r,r - r - d,r - d - d};batte是注意力參數(shù);qT是可學(xué)習(xí)參數(shù)。
(βpr,δ)i代表歸一化的注意力權(quán)重,式(9):
藥物節(jié)點(diǎn)的拓?fù)浔硎荆╤pr)i通過元路徑層面注意力機(jī)制增強(qiáng)后定義如下,式(10):
類似地,也得到了疾病dj在不同元路徑聚合下的拓?fù)浔硎?h pd)j。
給定一對(duì)藥物和疾病節(jié)點(diǎn)(ri,dj),和其相對(duì)應(yīng)的節(jié)點(diǎn)拓?fù)淝度氡硎荆╤pr)i和(hpd)j,本文用Vr+表示所有與疾病dj相關(guān)聯(lián)的藥物節(jié)點(diǎn)的集合,其中藥物ri具有節(jié)點(diǎn)屬性,疾病dj不具有節(jié)點(diǎn)屬性。 通過對(duì)與疾病節(jié)點(diǎn)dj直接相連的藥物節(jié)點(diǎn)的屬性加權(quán)聚合作為疾病節(jié)點(diǎn)dj的屬性,實(shí)現(xiàn)對(duì)疾病節(jié)點(diǎn)dj的屬性補(bǔ)全,屬性補(bǔ)全的示意圖如圖1 所示。
圖1 基于疾病節(jié)點(diǎn)屬性補(bǔ)全的示意圖Fig.1 Schematic of disease node attribute complement
因?yàn)榫植客負(fù)浣Y(jié)構(gòu)不同,每個(gè)節(jié)點(diǎn)的鄰居在屬性聚合的重要性不同,也就是一個(gè)節(jié)點(diǎn)的鄰居越多,其對(duì)每個(gè)鄰居的重要性就越低。 因此,本文提出一個(gè)鄰居層面的注意力機(jī)制來學(xué)習(xí)節(jié)點(diǎn)不同鄰居的重要性,式(11):
其中,σ是激活函數(shù),Wpc是權(quán)重矩陣。
歸一化注意力權(quán)重apij表示如式(12):
最終利用注意力機(jī)制對(duì)與疾病dj相連的藥物節(jié)點(diǎn)的屬性加權(quán)聚合對(duì)疾病dj實(shí)現(xiàn)了屬性補(bǔ)全,補(bǔ)全后的屬性向量Xpj定義為式(13):
本文還建立了多頭注意力機(jī)制,用來穩(wěn)定屬性補(bǔ)全的學(xué)習(xí)過程,式(14):
由于藥物節(jié)點(diǎn)具有3 種藥物屬性,根據(jù)不同的屬性分別對(duì)疾病節(jié)點(diǎn)進(jìn)行屬性補(bǔ)全。 最后,疾病節(jié)點(diǎn)的屬性矩陣被表示為Xdp(p∈{chem,doma,anno})。 為了使屬性補(bǔ)全過程是可學(xué)習(xí)的,同時(shí)保證補(bǔ)全的屬性的準(zhǔn)確性,按照比例μ將藥物節(jié)點(diǎn)V r隨機(jī)劃分為兩個(gè)部分,分別是和, 其 中,刪除掉中藥物節(jié)點(diǎn)的屬性,通過對(duì)丟掉屬性的節(jié)點(diǎn)進(jìn)行屬性補(bǔ)全,計(jì)算得到的節(jié)點(diǎn)的重構(gòu)屬性定義為式(15):
為了使重構(gòu)的屬性盡可能的接近于原始屬性,通過計(jì)算原始屬性和重構(gòu)屬性之間的歐氏距離得到屬性補(bǔ)全的監(jiān)督損失losspc,式(16):
通過屬性補(bǔ)全機(jī)制,對(duì)已有的藥物節(jié)點(diǎn)屬性和補(bǔ)全的疾病節(jié)點(diǎn)屬性進(jìn)行組合,得到了關(guān)于藥物和疾病節(jié)點(diǎn)的屬性矩陣Xnewp,式(17):
通過屬性補(bǔ)全機(jī)制,得到p個(gè)藥物-疾病節(jié)點(diǎn)的屬性矩陣Xnpew, 其中藥物節(jié)點(diǎn)ri的屬性表示為(Xnpew)ri,疾病節(jié)點(diǎn)dj的屬性表示為(Xnpew)dj。 為了利用每個(gè)屬性矩陣的特征,將其降維到相同的維度后上下堆疊,用1×1 卷積進(jìn)行融合,得到ri -dj最終的屬性向量表示t,并將其作為全連接層的輸入,以得到藥物ri和疾病dj的關(guān)聯(lián)得分。
本文使用五倍交叉驗(yàn)證法來評(píng)估基于屬性補(bǔ)全預(yù)測(cè)模型的性能。 將所有已知的關(guān)聯(lián)關(guān)系視為正例樣本,并隨機(jī)分為5 組,其中4 組用于訓(xùn)練,另一組用于測(cè)試。 將所有未觀察到的藥物-疾病相關(guān)性視為反例樣本。 隨機(jī)選擇與正例樣本數(shù)同等數(shù)量的反例樣本進(jìn)行訓(xùn)練,剩余的反例樣本進(jìn)行測(cè)試。
評(píng)估指標(biāo)包括受試者操作特征(ROC) 曲線、ROC曲線下的面積(AUC)、精確召回曲線(PR曲線)、PR曲線下的面積(AUPR)。 真陽率(TPR) 和假陽率(FPR) 的計(jì)算,式(18) 和式(19):
其中,TP(TN) 表示正確預(yù)測(cè)的正例(反例) 樣本數(shù),F(xiàn)P(FN) 表示錯(cuò)誤預(yù)測(cè)的正例(反性) 樣本數(shù),用來計(jì)算繪制ROC曲線,該曲線是以TPR為縱坐標(biāo),F(xiàn)PR為橫坐標(biāo), 其曲線下方的面積表示為AUC值,用于評(píng)估模型的性能。AUC值越高代表模型的性能越優(yōu)秀。
精確度和召回率是評(píng)估機(jī)器學(xué)習(xí)模型性能的重要指標(biāo)。 精確度表示預(yù)測(cè)為正例樣本中真實(shí)正例樣本的比率,式(20);而召回率表示在所有正例樣本的樣本中被正確識(shí)別為正例樣本的比率,式(21)。
通過繪制以Precision為縱軸、Recall為橫軸的曲線,可以直觀地展示模型的性能。 如果這條曲線處于左上角附近,那么就意味著模型的性能更佳。相反,曲線越靠近右下角則意味著模型性能越差。
為了評(píng)估基于屬性補(bǔ)全預(yù)測(cè)模型的性能,將本文提出的方法與6 種最先進(jìn)的有關(guān)藥物疾病關(guān)聯(lián)預(yù)測(cè) 的 方 法 進(jìn) 行 比 較, 包 括 GFPred、 CBPred、SCMFDD、 LRSSL、MbiRW 和HGBI。 為了使比較結(jié)果更具說服力,本文的模型和所有比較的模型在訓(xùn)練和測(cè)試時(shí)使用了相同的數(shù)據(jù)集,并且每種對(duì)比方法的最佳性能是通過使用各自文獻(xiàn)中提供的最優(yōu)參數(shù)設(shè)置。
在五倍交叉驗(yàn)證中,本文對(duì)763 種藥物進(jìn)行了評(píng)估,并計(jì)算了各自的平均AUC和AUPR;最終將所有763 種藥物的平均AUC(或AUPR) 作為最終結(jié)果。 不同預(yù)測(cè)模型的ROC曲線與PR曲線如圖2所示。 在所有方法中,基于屬性補(bǔ)全的預(yù)測(cè)模型取得了最佳的性能,優(yōu)于其他對(duì)比模型;GFPred 在性能上排名第二,其從多個(gè)異構(gòu)網(wǎng)絡(luò)中學(xué)習(xí),獲得藥物(疾?。┕?jié)點(diǎn)的拓?fù)浔硎荆摻Y(jié)果表明,融合多個(gè)異構(gòu)網(wǎng)絡(luò)的信息可以提高預(yù)測(cè)性能;CBPred 考慮了節(jié)點(diǎn)對(duì)之間的路徑信息,在性能上排名第三;盡管LRSSL 和MBiRW 的AUC沒有明顯差異,但LRSSL的AUPR明顯更高,這是因?yàn)榍罢呃昧硕喾N藥物的相似性,而后者只考慮一種藥物的相似性。SCMFDD 和HGBI 的性能稍差,其AUC和AUP幾乎沒有差別,這是因?yàn)閮烧叨紱]有利用多種藥物的相似性。 與上述方法相比,基于屬性補(bǔ)全的預(yù)測(cè)模型的性能提高主要是通過多個(gè)不同的路徑,捕獲了藥物和疾病節(jié)點(diǎn)的多種拓?fù)浣Y(jié)構(gòu)表示,并基于這些拓?fù)湫畔⑼ㄟ^注意力機(jī)制對(duì)疾病節(jié)點(diǎn)進(jìn)行屬性補(bǔ)全。
圖2 不同預(yù)測(cè)模型的ROC 曲線與PR 曲線(分圖)Fig.2 ROC curves and PR curves of different prediction methods
本文提出了一個(gè)新的預(yù)測(cè)模型,融合藥物和疾病數(shù)據(jù)的相似性和關(guān)聯(lián)性、藥物-疾病節(jié)點(diǎn)對(duì)的特性,以及來自多個(gè)元路徑的語義信息,并且為無屬性的疾病節(jié)點(diǎn)進(jìn)行了屬性補(bǔ)全以預(yù)測(cè)藥物-疾病的關(guān)聯(lián)。 建立了3 個(gè)異構(gòu)網(wǎng)絡(luò),以便于學(xué)習(xí)每個(gè)異構(gòu)網(wǎng)絡(luò)中節(jié)點(diǎn)的屬性表示。 本文還提出了2 個(gè)注意力機(jī)制,將更高權(quán)重分配給更重要的元路徑和節(jié)點(diǎn)鄰居。通過與其他6 個(gè)預(yù)測(cè)模型的比較,本文提出模型在AUC和AUPR方面均取得了更好的預(yù)測(cè)性能。