前言
寄生(Parasitism)是兩種生物之間的一種“消費者—資源”的關系,即寄生蟲(Parasite)和它的宿主(Host)。
寄生蟲生活在宿主的身上或體內,依賴宿主提供營養和庇護;而宿主則在許多方面受到傷害,例如暴露于許多傳染病的威脅之下,因為寄生蟲通常是很多病原體的載體。
近年來,網絡分析(Network Analysis)技術越來越廣泛地應用在寄生性疾病的傳播以及生物滅絕、入侵或遷移等對生態系統穩定性的研究中。這些研究的范圍取決于涉及到的地區大小、宿主/寄生蟲的種類多少等。
圖技術利用其對高維數據建模的能力,能自然地反映實體之間是如何網絡化的,從而使事物具備了高度的可解釋性,大大加速對各項科學研究的輔助工作。
01| 技術革新
寄生蟲的問題,盡管對肉眼來說是“不可見”的,但寄生蟲的物種數量非常龐大,它們之間的無數互動都會大大地影響眾多的宿主物種。這種復雜性對于宿主 — 寄生蟲群落的研究提出了非常大的挑戰。
痛點:多樣性帶來的困境
研究生態系統的傳統方法是實驗和理論數學模型。這些早期的努力在一定程度上有助于描述網絡結構。
然而,要用它們來進一步描述相互作用所產生的影響幾乎是不可能的,更不用說是需要在不斷變化的情景下做出預測了。由于寄生蟲的豐富性和宿主范圍的不斷增長,這使得寄生蟲學的研究在計算上也極具挑戰性。
解決:利用網絡分析技術
利用網絡分析技術,可以通過描述網絡結構中宿主和寄生蟲之間的相互作用,揭示和洞察出它們之間潛在的復雜關系。
網絡分析最早在社會網絡研究中得到了很好的發展,并已被借用到包括生態學和生物應用在內的許多領域。
它有一個堅實而通用的工具包,能利用網絡的潛在特征,如中心性、相似性、模塊度、連通性、嵌套性等,來執行深入的描述和預測任務。
02 | 流行病的預防
許多在人類身上出現的新發傳染?。‥merging Infectious Diseases, EID)起源于動物。一些研究表明,我們更容易受到來自近親的交叉感染。
人類中一些最有害的疾病可能是由靈長類動物傳播的,如惡性瘧疾、黃熱病和艾滋病毒等。[1] 因此,密切關注非人類的靈長類動物,尤其是那些處于中心位置的靈長類動物,可能有助于抵御新的流行病。此用例說明了如何使用圖算法來幫助加速(增強)EID 的研究。
算法:中心性
作為一種經典的網絡衡量標準,中心性(Centrality)能夠從不同的角度來揭示網絡中實體的重要性。
在靈長類動物 — 寄生蟲網絡(Primate-Parasite Network)中,處于中心位置的宿主可能是那些——
(a)攜帶寄生蟲最多的;
(b)在控制寄生蟲傳播中發揮了重要作用的;
(c)具有最大傳遞影響的宿主。
這些考慮因素能對應于明確的中心性指標:
(a)度中心性[2]
(b)中介中心性[3]
(c)特征向量中心性[4]
如果讀者不太熟悉這些度量標準,可以參考附加到每個算法名稱的 Ultipa 算法文檔鏈接:【www.bzre.cn/document/ultipa-graph-analytics-algorithms】
構建:靈長類動物 — 寄生蟲網絡
以下演示的“靈長類動物 — 宿主數據集”是從GMPD[5] 下載的,其中包含217個靈長類宿主節點[6] (@host)和820個寄生蟲節點(@parasite),還有3,587條邊[7] (@hasHost)從寄生蟲指向它們各自的宿主。

圖1:宿主和寄生蟲之間的關系
我們觀察到,大多數寄生蟲具有多個宿主,每個宿主也可能有多個寄生蟲。對于有同一寄生蟲的每兩個宿主,我們將它們連接在一起(@shareParasites邊)并將它們之間共有的寄生蟲數量記錄為權重(weight),如下圖所示:
-副本.png)
圖2:兩個宿主間有相同寄生蟲的示例——無向邊
在嬴圖中,每條邊都需要有方向。由于@shareParasites是雙向的關系,我們在有相同寄生蟲的每對宿主間插入兩個方向不同、但權重相同的邊。
-副本.png)
圖3:兩個宿主間有相同寄生蟲的示例——有向邊
通過這種方式,我們另外向網絡插入了總共15,436條@shareParasites邊。
尋找:居于中心位置的靈長類動物
我們將這個網絡導入嬴圖Manager 中并運行上述三種中心性算法,旨在找到前10個重要的宿主。比較結果可以看到,度中心性和特征向量中心性捕獲了非常相似的重要宿主,而中介中心性與它們的相關性較低。在實際應用中,生態學家要么根據一些特定的關注點選擇單一的中心性進行測量,要么在分析其相關性后通過組合不同指標的結果來獲取一個綜合輸出。
(a)使用度中心性算法計算在每個宿主上發現的寄生蟲數量。這個指標雖然很簡單,但清楚地反映了每個宿主接觸的寄生蟲的范圍。
-副本.png)
圖4:在嬴圖Manager 中計算度中心性最高的十個宿主
上面的截圖顯示了感染最多種類寄生蟲的前10個宿主,找出它們只需要在嬴圖Manager 中寫2個UQL 命令,第一個algo( )命令運行度中心性算法,第二個find().nodes()命令通過內部ID(UUID)查詢出宿主節點,最后以表的形式返回宿主的外部ID(即ID,通常更易讀)和計算出的節點度,便于下游任務(如果有)進一步的使用。
(b)使用中介中心性算法來衡量一個宿主位于任何其他兩個宿主之間通過@shareParasite邊形成的最短路徑中的概率。它描述了宿主作為網絡中其他宿主之間寄生蟲共享/傳播的“橋梁”角色的重要性。
-副本.png)
圖5:在嬴圖Manager中計算中介中心性最高的10個宿主
上面的截圖是前10個起到媒介或橋梁作用的宿主,這可以作為進一步調查的良好指標。
請注意:中介中心性算法相較于度中心性算法,其復雜度是指數級增加的,因此更具挑戰性。但是該算法可以在較小的數據集上運行,或指示算法進行采樣計算來提速(計算復雜度更低)。當然,也可以通過密集地并行技術來加速,這正是嬴圖在向量化計算和存儲接近計算(以及無索引鄰接數據結構)的架構上所做的。
(c)在特征向量中心性算法的假設中,宿主的中心性不僅取決于它連接了多少個宿主,還取決于它連接的宿主有多重要。它提供了比度中心性更復雜的視圖,同時在數量與質量之間做了平衡。
03|寫在最后
將網絡分析應用到疾病傳播,為研究人員的科研探索提供了非常重要的輔助,同時也對人類健康提供更多的了解。嬴圖支持復雜的網絡拓撲建模,可以輕松地處理物種和交互多樣性。同時,我們癡迷于強勁的核心算力、靈活的查詢模式以及豐富的算法庫。嬴圖隨時準備好協助全球生態學家揭開更多關于自然和生命的神秘面紗。
文/Pearl C
注釋:
[1] J. Gómez, C. Nunn, M. Verdúc, Centrality in primate–parasite networks reveals the potential for the transmission of emerging infectious diseases to humans (2013) .
[2] 度中心性
[3] 中介中心性
[4] 特征向量中心性
[6] 節點:點 (Node),代表真實世界中的實體,即圖論中的頂點 (vertex),在嬴圖系統中也稱作節點。
[7] 邊:邊 (Edge),代表真實世界中實體間的關系,即連接兩個節點的邊。嬴圖系統中的邊均為有向邊。邊的兩個端點可以相同也可以不相同,相同時邊稱為自環邊(Loop)。