主要內容來自 http://www.mamicode.com/info-detail-548009.html? 有刪改
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個基因,那么我們可以用一個80*8000的矩陣來表示實驗結果。為了得到基因間的關聯情況,我們需要計算任何兩個基因間的相關系數(文章中采用Person Coefficient),在經過該步運算以后,我們可以得到一個8000*8000的實對稱陣S,sij表示第i個基因和第j個基因的Person Coefficient,即兩個基因的表達譜相似性。????
下一步的分析是該方法的第一個靚點。為了知道兩個基因的表達譜是否具有相似性,需要人為規定一個閾值,只有當基因間的Person Coefficient達到這一閾值后(如0.8)我們才認為這兩個基因是相似的,否則則不相似。為此人們定義了一個鄰接矩陣,很顯然在通過以上步驟處理S矩陣后,得到的鄰接矩陣將是一個0/1矩陣(該矩陣主對角線上元素被規定為0,這一點很重要)。但是這種分析方法存在一個很明顯的局限,即我們沒有理由認為Person Coefficient為0.8的兩個基因與Coefficient為0.79的兩個基因是有顯著差別的,但是以上算法卻無法避免這一處境。而WGCNA采用了一種基于軟閾值的判定方法很好地避免了這一問題。軟閾值的思想是通過權函數將鄰接矩陣中的元素連續化(所以方法才稱之為Weighted Network),常用的權函數包括sigmoid函數和power函數。