轉自:http://www.cnblogs.com/Acceptyly/p/4391208.html
研究了近半年的算法,記錄下來給自己一個交代,也應該是考G前地最后一篇日志了。
Weighted Gene Co-Expression Network Analysis中文名有翻譯成加權關聯網絡分析的,感覺不是很恰當,英文來得比較直接。本來是佟昊從老汪那拿的一個課題,因為看起來比較有意思就把文章找來慢慢啃,到現在算是搗鼓出點名堂了。方法是UCLA的一個教授提出來的,在文章中他將其歸類到系統生物學的研究方法中,不過個人認為由于其分析水平還是只停留在DNA芯片上,并未到達系統的程度,但是方法本身還是能夠預見一些incisive idea的。我打算先介紹方法的基本思想,然后把聯系網上公布的sample data將該算法完整實現一遍,并解釋一些自己在看的時候遇到的關鍵問題。
Weighted Gene Co-Expression Network Analysis(以下簡稱WGCNA),是一種從芯片數據中挖掘模塊(module)信息的算法。在該方法中module被定義為一組具有類似表達譜的基因,如果某些基因在一個生理過程或不同組織中總是具有相類似的表達變化,那么我們有理由認為這些基因在功能上是相關的,可以把他們定義為一個模塊(module)。這似乎有點類似于進行聚類分析所得到結果,但不同的是,WGCNA的聚類準則具有生物學意義,而非常規的聚類方法(如利用數據間的幾何距離),因此該方法所得出的結果具有更高的可信度。當基因module被定義出來后,我們可以利用這些結果做很多進一步的工作,如關聯性狀(隨后會以這方面的應用為Example),代謝通路建模,建立基因互作網絡,甚至進行eQTL(這個確實很方便,不過前提是實驗題有錢去雜那么多芯片)。不過我個人從中獲益最多的是能加深人們對于生物體所選擇的這種Scale-Free Topology網絡調控的思考(下文會提到)。
WGCNA所分析的數據是芯片數據(當然需要雜很多芯片,比如若要研究細胞凋亡,那么使用改方法需要實驗者提供細胞凋亡各個時期的芯片數據,以了解這一生理過程中細胞內所有基因的表達變化)。
在co-expression network中,每一個基因在一個特定時間或空間的表達情況被視做一個點(node),可以簡單的理解成一張芯片上的一個基因的表達狀況就是網絡中的一個node。如果我們做了80張芯片,每張芯片上有8000個基因,那么我們可以用一個808000的矩陣來表示實驗結果。為了得到基因間的關聯情況,我們需要計算任何兩個基因間的相關系數(文章中采用Person Coefficient),在經過該步運算以后,我們可以得到一個80008000的實對稱陣S,sij表示第i個基因和第j個基因的Person Coefficient,即兩個基因的表達譜相似性。
下一步的分析是該方法的第一個靚點。為了知道兩個基因的表達譜是否具有相似性,需要人為規定一個閾值,只有當基因間的Person Coefficient達到這一閾值后(如0.8)我們才認為這兩個基因是相似的,否則則不相似。為此人們定義了一個Adjacency Matrix,很顯然在通過以上步驟處理S矩陣后,得到的Adjacency Matrix將是一個0/1矩陣(該矩陣主對角線上元素被規定為0,這一點很重要)。但是這種分析方法存在一個很明顯的局限,即我們沒有理由認為Person Coefficient為0.8的兩個基因與Coefficient為0.79的兩個基因是有顯著差別的,但是以上算法卻無法避免這一處境。而WGCNA采用了一種基于軟閾值的判定方法很好地避免了這一問題。軟閾值的思想是通過權函數將Adjacency Matrix中的元素連續化(所以方法才稱之為Weighted Network),常用的權函數包括sigmoid函數和power函數。
那么aij同樣是可分解的,這一點很好證明。擁有這一性質的優勢在于可以簡化計算量,當實對稱陣是可以分解的時候,我們只需要利用其分解后的一個向量就可以表示該矩陣,因此在實際應用中能夠簡化計算機的運算內存使用。 如果直接拿Adjacency Matrix中的基因相關性指標進行module識別則未免有些過于簡單了,為了保證芯片信息的充分利用,文章的作者提出了計算另一矩陣——topological overlap matrix(TOM)來衡量兩個基因的相關性。建立這一矩陣的思想在于,任何兩個基因的相關性不僅僅由他們的表達相似性直接決定,它還將A基因通過B基因與C基因的作用相關性納入AC基因的TOM矩陣值中,以更精確地描述基因表達譜的類似性。
利用這種方式定義TOM矩陣中各元素的值是非常巧妙的,它很好地滿足了我們所希望達到的目的。分子中對于lij
的定義,表示基因i通過任何基因與j關聯的adjacency值,并將它們相加,而aij
則表示基因i與基因j間的直接關聯性。分母的定義保證了wij
始終在0,1之間,我們可以考慮極端情況。當Adjacency Matrix中除主對角線元素外所有元均為1時,
上式直接看不容易看懂,把加和表達式展開之后則容易理解。
值得注意的是,WGCNA方法只考慮了一階基因關聯,更高級的關聯可以用類似的方式去表示,但是并無此必要。首先芯片數據本身存在噪音,過度地提取信息未必會得到更好地結果,而且計算高階關聯會使算法的復雜度顯著增大,即使高配置的服務器也未必能滿足計算要求。
為方便后面的module identification,還需定義一個dissimilarity matrix。根據前人的研究,方式如下:
其中dij
表示dissimilarity matrix中的元,這一方程只是用1減去wij
得到dissimilarity matrix,在dij
上加指數的原因是empirical研究的結果,當使用指數形式的dissimilarity進行聚類分析會得到更distinct gene module。 得到了dissimilarity matrix后,我們所需要進行的工作就是聚類了,文章中使用的是hierarchical clustering方法,各種聚類方法的優劣不在本文的討論范圍中。使用聚類分析之后,各個module的identification也就完成了。
了解了整個分析流程,我們有必要再進一步了解一下分析細節。
首先是權函數的參數選擇,由于power function有一參數
這一參數的選擇勢必影響著module identification的結果。
為了選擇一個合適的參數值,我們有必要重新審視基因互作網絡的構造。 網絡的數學名稱是圖,在圖論中對于每一個節點有一個重要概念,即:度。一個點的度是指圖中該點所關聯的邊數。如下圖,如果不加以思考,人們很容易認為生活中常見的網絡會是一種random network,即每一個節點的度相對平均。然而第二種圖,即scale-free network才是一種更穩定的選擇。Scale-free network具有這樣的特點,即存在少數節點具有明顯高于一般點的度,這些點被稱為hub。由少數hub與其它節點關聯,最終構成整個網絡。這樣的網絡的節點度數與具有該度數的節點個數間服從power distribution。這為我們尋找最佳參數提供了理論依據。 這里做一點擴展,我認為時非常有必要的。只要我們愿意抽象,Scale-free network大量存在于的生活中。人們的社交網絡、生物基因蛋白質的相互作用、計算機網絡甚至sexually transmitted diseases均有這層關系。生物體選擇scale-free network而不是random network是有它進化上的原因的,顯然對于scale-free network,少數關鍵基因執行著主要功能,這種網絡具有非常好的魯棒性,即只要保證hub的完整性,整個生命體系的基本活動在一定刺激影響下將不會受到太大影響,而random network若受到外界刺激,其受到的傷害程度將直接與刺激強度成正比。
Random network (a) and scale-free network (b). In the scale-free network, the larger hubs are highlighted. 圖片來源:[http://en.wikipedia.org/wiki/File:Scale-free_network_sample.png](http://en.wikipedia.org/wiki/File:Scale-free_network_sample.png)有了這一理論基礎,我們可以嘗試一系列權函數的參數值,如
然后找出得到的網絡最符合scale-free network的frequency distribution的這樣一個
作為后續分析使用。但在實際尋參過程中,存在一個trade-off,即在最大化topology free network的回歸系數R2
與保證節點的關聯數目上為此消彼長的關系,這其實可以建立一個優化模型,但是文章的作者沒有繼續深入研究得到客觀的尋參標準。盡管作者已經建立了一個scale-free topology criterion,但分析過程依舊有很大的主觀成分。 Post-module analysis 當建立完module后,為了方便處理module與其它數據的相關性,如性狀信息,有必要在每一個模塊中定義一個特征基因,這一基因能在可接受的信息損失程度下代表這一module的特征,這樣做的一個很大好處是能簡化計算,即使在數據量極為龐大的時候也能快速地得到結果。 在后續的分析中,作者還比較了hard/soft-threshold方法建立網絡的clustering coefficient的相關性質,以及它們對網絡connectivity的影響,作者這樣分析是為了說明soft-threshold方法相比hard-threshold的優勢,由于涉及到較深的圖論方面的知識,并且與module的建立無關,因此不在此處進一步討論。 參考文獻: Bin Zhang, Steve Horvath, A General Framework for Weighted Gene Co-Expression Network Analysis, Statistical Applications in Genetics and Molecular Biology, Departments of Human Genetics and Biostatistics, University of California at Los Angeles, 2005, Volume 4, issue 1, Article 17.