艾邵斌,楊 順,文 龍,馬天明
(湖南師范大學信息科學與工程學院,長沙 410000)
近數十年來,藥物研發技術得到了迅速的發展,基因組法、基因芯片法、蛋白質組學法等多種方法已被廣泛應用于創新藥物的發現[1]。但是,新藥物的研發周期長、資金需求大,而且風險較高、成功率偏低。截至2019 年,成功開發一種獲批罕見病用藥物和非罕見病用藥物的資本化臨床成本估計分別為20.91 億美元和32.12 億美元[2]。為了降低新藥物研發的時間成本、經濟成本和風險成本,專家學者提出了將計算機科學與藥物的生物化學信息相結合的方法,通過計算機來輔助藥物設計。通過這種方法對藥物進行配對,可以為大規模試驗篩選提供線索,進一步降低研發成本。
當兩種或多種藥物一起使用時,它們的藥理作用會受到彼此的影響,這種影響被稱為藥物相互作用(drug-drug interaction, DDI)[3],它會為藥物組合的效果帶來難以預料的影響,如增強藥物組合療效、降低藥物組合療效、出現額外的正面效果或負面效果等。不明DDI 在現實的臨床用藥與新藥物的研發中經常出現,Drug-Bank 數據庫的小分子藥物中,平均每個藥物會與15 個其他藥物產生不同DDI 反應,這大大增加了臨床用藥與新藥物研發的困難程度。
藥物社區發現在當今的新藥物研發中具有重要的意義。藥物社區指的是:在藥物網絡中的某組節點內部具有較大的相似性,從而形成的一種內部連接緊密,而外部稀疏的結構[4]。其反映了若干藥物組成的網絡中個體藥物的局部性特征以及藥物相互之間的關聯關系,研究藥物網絡中的社區對理解整個藥物網絡的結構和功能有著重要的作用,并且可以幫助相關人員更好地分析及預測整個藥物網絡各元素的相互關系。目前大多數圖神經方法僅局限于挖掘單一藥物之間的互作用,而忽略了多種藥物共同作用對藥理的強化或抑制。
傳統的社區發現算法通常使用DDI 以及藥物本身的化學特征與結構特征作為劃分藥物社區的依據,主要有圖分割算法、層次聚類算法、分割式聚類和譜聚類等。隨著深度學習的發展,人們逐漸傾向于使用圖神經網絡來解決社區發現問題。符號圖卷積神經網絡(signed graph convolutional network,SGCN)[5]是第一個適用于符號網絡的圖神經網絡模型,它基于平衡理論[6],為之后眾多圖神經網絡方法打下基礎,其弊端則是幾乎只適用于無向圖。2019 年Huang 等[7]研發的符號圖注意力神經網絡(signed graph attention networks, SiGAT)利用圖注意力機制[8],使用基于平衡理論的新型圖神經網絡架構,使其可以學習帶符號的有向圖的節點嵌入。2020年,Li 等[9]通過圖注意力學習符號圖神經網絡嵌入(learning signed network embedding via graph attention,SNEA)提出了一種基于新目標函數的符號圖神經網絡,用于鏈路符號預測。隨后,Huang 等[10]的有向符號網絡的學習節點表示(learning node representation for signed directed network,SDGNN)、He等[11]的基于新型磁符號拉普拉斯算子的圖神經網絡(graph neural network based on a novel magnetic signed laplacian,MSGNN)等多種多樣的神經網絡結構在目標函數、架構方式、鏈路處理等多種角度上拓展延伸該項課題。
本文利用符號網絡將藥物社區發現問題轉化為符號圖上的半監督聚類問題,預測節點的歸屬,依據藥物社區推斷出潛在的藥物特性。引入基于半監督符號神經網絡來解決這種問題,該項技術在測試實驗中呈現良好的反應,對該思路給出了進一步肯定。
藥物社區發現問題依賴于藥物-藥物相互作用組成的同構符號圖結構以及其中各個藥物自身的特征信息。藥物互作用被分為積極作用(Positive)、消極作用(Negative)、無相互作用(Not Interaction)三種方式[12]。本文考慮了藥物互作用的具體模式,根據它們的類型定義符號網絡并給出藥物社區發現的符號化定義。
我們從DrugBank[13]中搜集所需DDI 數據,構建帶符號的有向DDI網絡:
首先,我們的數據集來源于Shi 團隊[14]于2019 發布的兩個數據集,它們分別包含1562 個藥物節點和1935 個藥物節點。然后,我們將其組織成為一個符號DDI網絡G(V,E,w,XV),其中網絡節點為藥物;邊E=表示藥物互作用。Drug-Bank 中的“increase”和“decrease”信息,分別標記兩藥物之間連邊符號為“+”和“-”;表示邊權;表示各藥物節點的特征向量。
對于上述的有向符號圖,很容易給出如下定義表示藥物社區[15](C1,C2,…,Ck):
(2)在C1,C2,C3,…,Ck各自的內部,有較多符號為“+”的邊;
(3)連接C1,C2,C3,…,Ck的邊中,有較多符號為“-”的邊;
(4)從C1,C2,C3,…,Ck各自出發,到圖的其他部分只有較少的邊。
如圖1所示,藥物社區發現問題即為根據上述的一個帶符號的有向DDI 網絡,分割或聚類出數個藥物社區,各個藥物社區內部連接緊密,外部連接稀疏。

圖1 藥物社區發現問題示意圖
本文選用了2022年He等[16]提出的一種有別于平衡理論的藥物社區發現方法:半監督符號圖聚類(semi-supervised signed network clustering,SSSNET)。該方法不基于平衡理論地處理有向網絡中的問題,端到端地結合了嵌入生成和聚類,沒有中間步驟,以節點聚類為主要焦點,側重于網絡中出現的極化效應,具有良好的效應。
算法建立于一張表示為G(V,E,w,XV)的有向符號網絡上,其中V為節點集,E為有向邊集,w為邊的權重集,XV表示各節點的特征向量,節點的總數為n= |V|。在此基礎上,定義鄰接矩陣A:若節點Vi和Vj之間存在邊,則Aij=wij,即為邊權;否則Aij= 0。
將有向符號網絡G聚類為k個簇是將節點集劃分為k個不相交的集合V=C0∪C1∪… ∪Ck-1。在半監督設置中,對于k個簇的每一個,選擇一部分訓練節點作為種子點,在訓練之前已知種子點標簽。種子節點的集合表示為Vseed?Vtrain?V,其中Vtrain是所有訓練節點的集合。
在上述的基礎上,SSSNET 算法的目標可以表示為:已知部分種子點的標簽Vseed與簇總數k,將其余各個節點分配至與之最匹配的簇。
與平衡理論不同,SSSNET 對“朋友”和“敵人”的定義是基于源節點與目標節點之間給定長度內的一組路徑。
如圖2所示,若源節點Vi沿著從Vi到Vj的長度為h的給定路徑上的所有邊均為“正”,則稱目標節點Vj是源節點Vi沿著從Vi到Vj的長度為h的給定路徑的“朋友”鄰居節點;反之,若源節點Vi沿著從Vi到Vj的長度為h的給定路徑上的邊有且僅有一條為“負”,則稱目標節點Vj是源節點Vi沿著從Vi到Vj的長度為h的給定路徑的“敵人”鄰居節點。否則,Vi和Vj在此路徑上彼此中立。對于有向符號網絡,只考慮有向路徑,因此節點之間的“友誼”關系不再對稱。

圖2 基于路徑的節點關系定義例圖
我們將鄰接矩陣A分解為正和負部分A+與A-,其中。然后,分別對其進行如下歸一化操作,得到四個特殊的鄰接矩陣:
再對各個部分計算特征映射函數,以為例:
其中:,M均為可學習參數,d為節點嵌入的維度。同理可以得到:四個特征映射函數。將其拼接可得到一個n× 4d的矩陣ZV,其中,節點Vi的嵌入向量Zi是ZV的第i行。
最后,我們對ZV進行線性變換,使得生成的矩陣變換至與聚類數k相同的列數。再對其應用softmax 函數激活,即可將每一行映射到長度等于聚類數k的概率向量Pi,由此最終可以得到各個節點的簇歸屬。
表1 說明了本文所使用的數據集詳細情況,本文將在此基礎上進行實驗以驗證本文方法的有效性。實驗結果以調整蘭德系數(Adjusted Rand Index, ARI)、準確率precision值、召回率recall值、F1值為判定標準。

表1 藥物互作用數據說明
本文將數據集采用十折交叉驗證的方式進行實驗,即:將數據集隨機劃分為十等份樣本,共計進行十次實驗,每次實驗取其中九份為訓練集,一份為測試集,十次實驗后取平均指標評估模型性能。
本文采用聚類評價指標調整蘭德系數ARI、precision值、recall值、F1 值進行評估,指標定義如下:
其中:TP表示兩個同類樣本點在同一個簇中的情況數量;FP表示兩個非同類樣本點在同一個簇中的情況數量;TN表示兩個非同類樣本點分別在兩個簇中的情況數量;FN表示兩個同類樣本點分別在兩個簇中的情況數量。調整蘭德系數ARI可以去掉隨機標簽對于評估結果的影響,其取值范圍是[-1, +1 ]。
本文將傳統種子點半監督k-means 方法與SSSNET進行對比,實驗結果如圖3所示。

圖3 實驗結果展示
實驗結果表明,SSSNET 算法在藥物社區發現方面的聚類評價指標均超過傳統的半監督聚類方法,說明基于半監督符號圖神經網絡聚類SSSNET 算法在藥物社區發現方面具有一定的可行性。
將藥物關系網絡視作符號網絡并使用圖神經網絡方法進行藥物社區發現,在幫助加速理解整個藥物網絡的結構和功能這一方面具有較好的作用,對現代醫學具有重要意義。基于半監督的符號圖神經網絡聚類方法經過實驗,在藥物數據方面具有良好的效果,具有可行性。