蔡皓宇 姚國田 安晟毅 李碩涵 顏 旭 王曉燕*
(吉林大學,吉林 長春 130015)
多藥治療(相對于單一藥物或單一療法)的風險取決于任何特定病例的特定組合和診斷。在藥理學中廣為接受的是,如果不對試驗對象的特定藥物組合進行研究,就不可能準確預測藥物組合的副作用或臨床效果。了解所討論的單個藥物的藥理學特征并不能確保準確預測這些藥物組合的副作用,因為在不同藥物的相互作用下,藥物的活性會發生難以預料的變化。多種藥物不一定是不明智的,但在許多情況下會導致負面結果或治療效果不佳,通常弊大于利,或者風險太大而收益太少。因此,衛生專業人員認為這種情況需要進行監測和審查,以驗證是否所有藥物仍然是必要的。
因此我們需要計算機化決策支持來為多藥治療措施提供參考。Decagon 即是一種模擬多藥副作用的圖卷積神經網絡方法。通過對大量的邊類型的多模態圖處理,經過多模式網絡進行關系鏈接的預測。
本文利用來自吉林大學第一醫院的臨床數據,使程序讀入補充的蛋白質之間的相互作用、藥物對蛋白質的作用的擴展數據同時結合基礎數據,進行對多種可能的多藥副作用的評估。
讀入編碼后的補充藥物-蛋白質相互作用(圖1)以及蛋白質-蛋白質物理結合(圖2)數據,編碼規則及基礎數據依照SIDER(副作用資源)數據庫以及OFFSIDE 數據庫。

圖1 藥物- 蛋白質相互作用(部分)

圖2 蛋白質- 蛋白質物理結合(部分)
將多藥副作用數據建模作為編碼藥物、蛋白質和副作用關系的多模態圖上的多關系鏈接預測問題。這些關系用圖G=(V,R) 表示,有N 個節點(蛋白質、藥物)和標記的邊(vi,r,vj),r 作為邊(關系)類型。類型包括:兩種蛋白質之間的物理結合、藥物和蛋白質之間的靶標關系、兩種藥物之間的特定類型的副作用,圖3 為一個多藥副作用關系圖示例。

圖3 多藥副作用關系圖示例
多藥副作用的預測需要針對藥物對和副作用關聯進行考察。最重要的是每一種單獨的藥物副作用需要對這種關聯產生限制。通過使用圖G 來對位于藥物節點間的標記的邊進行預測。我們對于每個藥物對(vi,vj)進行邊成立的可能性確認,即藥物vi和vj的共用與患者群體中r型多藥副作用有關的可能性。
所以我們應用由斯坦福大學開發,可以處理具有大量邊類型的多模態圖的非線性多層卷積圖神經網絡模型Decagon,使Decagon 在圖G 上運行。Decagon 主要由編碼器和解碼器組成。編碼器模型將圖G 和附加節點特征向量作為輸入xi并產生一個節點d 嵌入對于圖中的每個(藥物、蛋白質)節點。圖中跨區域的信息經由模型進行共享,每一種關系類型都有自己獨立的通道進行處理。對每一個節點而言,鄰居的特征向量由Decagon 進行變換和聚合。這樣,Decagon 只考慮節點的一階鄰域,并對圖中的所有位置應用相同的變換。該神經網絡模型的單層采用以下形式:

編碼器將每個節點vi∈V映射到一個嵌入,一個實值的向量表示z i∈Rd,其中d 是節點表示的維數。接著描述系統的解碼器組件。解碼器的目標是通過學習節點嵌入和對每個標簽(邊類型)進行不同的處理,在G 中重構標記邊。解碼器通過一個函數g 得到一個有關(vi,r,v)j的分數,其目標是分配一個分數g(vi,r,vj)表示藥物vi和vj經關系/副作用類型相互作用的可能性有多大。使用嵌入系統的編碼器和zi和zj返回的節點i 和j,解碼器通過階乘運算預測候選邊緣(vi,ri,v)j:

然后應用函數σ來計算邊的概率:

接下來,通過區分以下兩種情況來區分系統的解碼器:
當vi和vj為藥物節點時,解碼器g 假設藥物-藥物相互作用的全局模型(即R),其在多種藥物副作用中的變化和重要性由副作用特定的對角因子(即Dr)來描述。這里,R 是一個形狀為d×d 的可訓練參數矩陣,它可以在所有可能的多藥副作用中模擬全部藥物相互作用。此外,在系統中,每個代表不同多藥副作用的關系R 都與一個對角d×d 矩陣Dr相關聯,它模擬了zi中每個維度對副作用R 的重要性。然而,系統的一個顯著特征是對編碼器的依賴。而經典的張量分解在訓練中直接使用節點表示進行優化,用端到端的方式計算它們,節點嵌入與張量因數分解一起進行優化。
當vi和vj都不是藥物節點時,解碼器g 采用雙線性形式對節點嵌入的邊緣進行解碼。更準確地說,在這種情況下,解碼函數g 與形狀d×d 的可訓練參數矩陣Mr相關聯,該矩陣模擬了zi和zj中每兩個維度之間的相互作用。然后用雙線性形式計算預測的邊緣概率,然后應用σ函數。
系統構造的解碼器可以被看作是不同關系類型之間有效的參數共享的一種形式。特別是、涉及藥物對的關系類型使用相同的全局藥物-藥物相互作用模型(即矩陣R),其模式適用于所有藥物相關類型。期望這種解碼參數化可以減輕罕見副作用的過度適應,因為參數是由罕見出現的副作用(例如髓炎或鼻息肉)和頻繁出現的副作用(例如低血壓或貧血)共同組成的。其次,要g(vi,r,vj)來表示一個藥物組合(vi,vj)和一個副作用r 之間的關聯,這個副作用r 不能單獨歸因于vi或vj。因此十分重要的是,預測系統通過R 允許i 和j 的嵌入中的任意兩個維度之間的非零交互。
模型訓練:在模型訓練過程中,利用交叉熵損失對模型參數進行優化:

為了激勵模型將更高的概率分配給觀測到的邊(vi,r,vj) 而不是隨機的非邊。對于圖中的每一個藥物邊(vi,r,vj)(即正例),通過隨機選擇節點vn來抽樣一個隨機邊(vi,r,vn)(即反例)。這是通過將邊(vi,r,vj) 中的節點vj替換為節點vn來實現的,節點vn是據抽樣的分布而任意的選擇。最終,在考慮所有邊后,得到了損失函數為:

根據1309 種副作用類型,設置經過20 個Epoch(訓練次數),512 個batch_size(訓練大?。?,dropout 率為0.1的訓練后,得到關于AUROC、AUPRC、AP@50 的輸出結果如圖4。

圖4 輸出結果(部分)
將Decagon 的性能與其他方法進行比較。從表1 的結果中我們看到,考慮到多模式網絡表示和對大量不同的副作用進行建模,Decagon 的性能大大優于其他方法。在964 種副作用類型中,Decagon 優于替代方法 19.7%(AUROC)、22.0% (AUPRC) 和36.3% (AP@50)。Decagon的改進相對于張量分解方法尤其明顯,其中Decagon 超過基于張量的方法高達68.7% (AP@50)。這一發現突出了直接優化張量分解的潛在限制(即普通的 RESCAL和DEDICOM),不依賴于圖結構的卷積編碼器。我們還將Decagon 與其他兩種方法進行了比較,我們將其用于多關系鏈接預測任務。我們觀察到,與基于張量的方法相比,DeepWalk 神經嵌入和級聯藥物特征實現了9.0%(AUROC) 和20.1% 的增益(AUPRC)。然而,這些方法采用兩階段管道,由藥物特征提取模型和鏈接預測模型組成,兩者都是單獨訓練的。此外,他們不能考慮我們展示的包含有用信息的不同副作用的相互依賴性。

表1 方法比較
本文使用Decagon 方法構建模型,并用來自吉林大學吉林大學第一醫院的臨床數據作為補充輸入,利用AUROC、AUPRC 和AP@50 評估訓練結果,從而為可能的多藥副作用類型進行數據支持。該研究為多藥副作用的預測方法投入到臨床應用的可行性提供了基礎。