其實(shí)我一直沒(méi)用過(guò)WGCNA扔役,因?yàn)榉治鼍W(wǎng)絡(luò)的方法有很多权纤,但是大家好像都更愛(ài)用這個(gè)。最近幫人分析的幾組數(shù)據(jù)逼龟,他們指名要用WGCNA分析评凝,所以就學(xué)習(xí)一下。
=======WGCNA簡(jiǎn)介=========
WGCNA(Weighted Gene Co-Expression NetworkAnalysis, 加權(quán)基因共表達(dá)網(wǎng)絡(luò)分析)腺律,鑒定表達(dá)模式相似的基因集合(module)奕短。解析基因集合與樣品表型之間的聯(lián)系,繪制基因集合中基因之間的調(diào)控網(wǎng)絡(luò)并鑒定關(guān)鍵調(diào)控基因匀钧。
?
WGCNA適合于復(fù)雜的轉(zhuǎn)錄組數(shù)據(jù)翎碑,研究不同器官/組織類型和不同階段的發(fā)育調(diào)控、生物和非生物脅迫的不同時(shí)間點(diǎn)響應(yīng)機(jī)制之斯。
======WGCNA中的幾個(gè)概念======
共表達(dá)網(wǎng)絡(luò):定義為加權(quán)基因網(wǎng)絡(luò)杈女。點(diǎn)代表基因,邊代表基因表達(dá)相關(guān)性吊圾。加權(quán)是指對(duì)相關(guān)性值進(jìn)行冥次運(yùn)算(冥次的值也就是軟閾值 (power,
pickSoftThreshold這個(gè)函數(shù)所做的就是確定合適的power))达椰。無(wú)向網(wǎng)絡(luò)的邊屬性計(jì)算方式為abs(cor(genex, geney)) ^ power;有向網(wǎng)絡(luò)的邊屬性計(jì)算方式為(1+cor(genex, geney)/2) ^ power; sign hybrid的邊屬性計(jì)算方式為cor(genex,geney)^power if cor>0 else 0项乒。這種處理方式強(qiáng)化了強(qiáng)相關(guān)啰劲,弱化了弱相關(guān)或負(fù)相關(guān),使得相關(guān)性數(shù)值更符合無(wú)標(biāo)度網(wǎng)絡(luò)特征檀何,更具有生物意義蝇裤。如果沒(méi)有合適的power,一般是由于部分樣品與其它樣品因?yàn)槟撤N原因差別太大導(dǎo)致的频鉴,可根據(jù)具體問(wèn)題移除部分樣品或查看后面的經(jīng)驗(yàn)值栓辜。
?
Module(模塊):高度內(nèi)連的基因集。在無(wú)向網(wǎng)絡(luò)中垛孔,模塊內(nèi)是高度相關(guān)的基因藕甩。在有向網(wǎng)絡(luò)中,模塊內(nèi)是高度正相關(guān)的基因周荐。把基因聚類成模塊后狭莱,可以對(duì)每個(gè)模塊進(jìn)行三個(gè)層次的分析:1. 功能富集分析查看其功能特征是否與研究目的相符僵娃;2. 模塊與性狀進(jìn)行關(guān)聯(lián)分析,找出與關(guān)注性狀相關(guān)度最高的模塊腋妙;3. 模塊與樣本進(jìn)行關(guān)聯(lián)分析默怨,找到樣品特異高表達(dá)的模塊。
?
Connectivity (連接度):類似于網(wǎng)絡(luò)中"度"(degree)的概念骤素。每個(gè)基因的連接度是與其相連的基因的邊屬性之和匙睹。
?
Module eigengene E: 給定模型的第一主成分,代表整個(gè)模型的基因表達(dá)譜济竹。
?
Intramodular connectivity: 給定基因與給定模型內(nèi)其他基因的關(guān)聯(lián)度痕檬,判斷基因所屬關(guān)系。
?
Module membership: 給定基因表達(dá)譜與給定模型的eigengene的相關(guān)性规辱。
?
Hub gene: 關(guān)鍵基因 (連接度最多或連接多個(gè)模塊的基因)谆棺。
?
Adjacency matrix(鄰接矩陣):基因和基因之間的加權(quán)相關(guān)性值構(gòu)成的矩陣。
?
TOM (Topological overlap matrix):把鄰接矩陣轉(zhuǎn)換為拓?fù)渲丿B矩陣罕袋,以降低噪音和假相關(guān)改淑,獲得的新距離矩陣,這個(gè)信息可拿來(lái)構(gòu)建網(wǎng)絡(luò)或繪制TOM圖浴讯。
基本分析流程如下:
構(gòu)建基因共表達(dá)網(wǎng)絡(luò):使用加權(quán)的表達(dá)相關(guān)性朵夏。
識(shí)別基因集:基于加權(quán)相關(guān)性,進(jìn)行層級(jí)聚類分析榆纽,并根據(jù)設(shè)定標(biāo)準(zhǔn)切分聚類結(jié)果仰猖,獲得不同的基因模塊,用聚類樹(shù)的分枝和不同顏色表示奈籽。
如果有表型信息饥侵,計(jì)算基因模塊與表型的相關(guān)性,鑒定性狀相關(guān)的模塊衣屏。
研究模型之間的關(guān)系躏升,從系統(tǒng)層面查看不同模型的互作網(wǎng)絡(luò)。
從關(guān)鍵模型中選擇感興趣的驅(qū)動(dòng)基因狼忱,或根據(jù)模型中已知基因的功能推測(cè)未知基因的功能膨疏。導(dǎo)出TOM矩陣,繪制相關(guān)性圖钻弄。
1. 構(gòu)建基因關(guān)系網(wǎng)絡(luò)
1.1 計(jì)算基因間相關(guān)關(guān)系
基因間相似性(similarity):根據(jù)基因在不同樣品中的表達(dá)情況佃却,計(jì)算任意兩個(gè)基因間的相關(guān)關(guān)系。用Pearson相關(guān)系數(shù)
?
基因共表達(dá)矩陣:S=[Sij]
?
Sij 表示基因i和基因j的Pearson相關(guān)系數(shù)窘俺。
?
軟閾值:通過(guò)加權(quán)函數(shù)將相關(guān)系數(shù)變換饲帅,形成鄰接矩陣(Adjacency Matrix),矩陣中元素連續(xù)化。
?
鄰接函數(shù):power函數(shù)(冪指數(shù)函數(shù))
?
aij=power(Sij, β)=|Sij|β
?
需要確定鄰接函數(shù)的參數(shù)β,依據(jù)無(wú)尺度網(wǎng)絡(luò)原則洒闸,即基因表達(dá)網(wǎng)絡(luò)符合無(wú)尺度網(wǎng)絡(luò)的冪函數(shù)分布染坯。
1.2 無(wú)尺度網(wǎng)絡(luò)
網(wǎng)絡(luò)圖的點(diǎn)指圖中的每一個(gè)節(jié)點(diǎn)均芽,度指與該點(diǎn)的連接數(shù)
?
隨機(jī)網(wǎng)絡(luò)(Random network)丘逸,每個(gè)節(jié)點(diǎn)的度相對(duì)平均
?
無(wú)尺度網(wǎng)絡(luò)(Scale-free network),少數(shù)節(jié)點(diǎn)具有明顯高于一般點(diǎn)的度掀宋,這些點(diǎn)被稱為hub深纲,由少數(shù)hub與其他節(jié)點(diǎn)關(guān)聯(lián),最終構(gòu)成整個(gè)網(wǎng)絡(luò)
?
無(wú)尺度網(wǎng)絡(luò)的冪率分布:節(jié)點(diǎn)連接數(shù)為k的節(jié)點(diǎn)數(shù)h劲妙,k與h成反比湃鹊,負(fù)相關(guān)
?
尺度:隨機(jī)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的連接數(shù)符合泊松分布,大部分節(jié)點(diǎn)的連接數(shù)居中镣奋,中值稱為隨機(jī)網(wǎng)絡(luò)的尺度币呵。
?
無(wú)尺度網(wǎng)絡(luò)符合冪率分布,大多數(shù)點(diǎn)只有很少的連接侨颈,少數(shù)點(diǎn)有很多的連接
?
基因相關(guān)關(guān)系余赢,冪函數(shù)處理后,少數(shù)強(qiáng)相關(guān)性不受影響或者影響較小哈垢,而相關(guān)性弱的取n次冪后妻柒,相關(guān)性明顯下降。
1.3 確定參數(shù)β
尋找合適的β耘分,使得基因表達(dá)關(guān)系符合無(wú)尺度網(wǎng)絡(luò)举塔,度數(shù)高的節(jié)點(diǎn)少,度數(shù)低的節(jié)點(diǎn)多求泰。
節(jié)點(diǎn)度數(shù)k與具有該度數(shù)節(jié)點(diǎn)的個(gè)數(shù)h服從冪律分布
具體計(jì)算度數(shù)為k的節(jié)點(diǎn)個(gè)數(shù)的對(duì)數(shù)值log(k)央渣,與該節(jié)點(diǎn)出現(xiàn)的概率對(duì)數(shù)(log(p(k)))呈現(xiàn)負(fù)相關(guān),一般會(huì)設(shè)置相關(guān)系數(shù)大于0.8
為了檢測(cè)設(shè)置的參數(shù)β是否滿足無(wú)尺度網(wǎng)絡(luò)渴频,對(duì)log10(p(k))和log10(k)作圖芽丹,同時(shí)為更好評(píng)估,對(duì)兩者之間的相關(guān)系數(shù)做平方枉氮,即R2志衍。如果模型R2接近1,則兩者之間為很好的線性關(guān)系聊替。
1.4 計(jì)算基因間表達(dá)關(guān)系
評(píng)估基因間表達(dá)關(guān)系:直接關(guān)系?
生物體內(nèi)基因間的關(guān)系:直接關(guān)系+間接關(guān)系?
TOM:用拓?fù)渲丿B(topologicaloverlap measure楼肪,TOM)來(lái)計(jì)算基因之間關(guān)聯(lián)程度,除了分析兩個(gè)基因之間的關(guān)系惹悄,還考慮這兩個(gè)基因與其他基因之間的連接春叫。這樣更具有生物學(xué)意義。
?
建立TOM矩陣:
TOM公式中,計(jì)算i與j之間的關(guān)系暂殖,不僅考慮了i和j的直接關(guān)系价匠,還考慮了第三個(gè)基因μ的間接關(guān)系。
2 構(gòu)建基因模塊
2.1 層次聚類樹(shù)
基因模塊的劃分基于基因間的連接稀疏性呛每,將TOM矩陣(Similarity)轉(zhuǎn)化為相異度矩陣(Dissimilarity)
利用基于TOM值的相異度
層次聚類建樹(shù)
?
建樹(shù)方法:動(dòng)態(tài)剪切樹(shù)和靜態(tài)剪切樹(shù)
2.2 動(dòng)態(tài)混合剪切法
第一步:識(shí)別滿足設(shè)定條件的初級(jí)模塊
1.滿足模塊預(yù)定義的最低基因數(shù)目
2.距離集群過(guò)遠(yuǎn)的基因踩窖,即使與集群處于同一分支,也去除
3.每個(gè)集群與其他周圍的集群顯著不同
4.處在樹(shù)分支尖端的每個(gè)群集的核心基因緊密相連
第二步:測(cè)試步驟
將未分配的基因進(jìn)行測(cè)試晨横,如果足夠接近某個(gè)初級(jí)群集洋腮,則分配進(jìn)去
通常WGCNA使用動(dòng)態(tài)混合剪切法建樹(shù)
2.3 建樹(shù)過(guò)程的參數(shù)
模塊最少基因數(shù)目(minModuleSize)
?
合并模塊的最小距離(mincutHeight)計(jì)算模塊的特征值,利用模塊特征值建樹(shù)手形,合并距離很近的模塊(如Height小于0.2)
?
模塊特征值(Epigengene)
?
模塊內(nèi)所有基因進(jìn)行主成分分析(PCA)啥供,第一主成分的值即為Epigengene。它代表該模塊內(nèi)基因表達(dá)的整體水平库糠。
?
3 篩選基因模塊
3.1 表達(dá)模式分析
模塊表達(dá)模式分析:模塊在各個(gè)樣品中的豐度
?
模塊特征值(Epigengene):模塊內(nèi)所有基因進(jìn)行主成分分析(PCA)伙狐,第一主成分的值即為Epigengene。它代表該模塊內(nèi)基因表達(dá)的整體水平瞬欧。
?
如果某模塊在樣品中特征值正或負(fù)表達(dá)較高贷屎,說(shuō)明模塊與這個(gè)樣品關(guān)系緊密。
3.2 模塊與表型性狀關(guān)聯(lián)分析
模塊顯著性值(Module significance黍判,MS):模塊內(nèi)所有基因的基因顯著性值的平均值豫尽。
?
基因顯著性值(Gene significance, GS):基因表達(dá)水平與因變量水平的相關(guān)系數(shù)。用T檢驗(yàn)計(jì)算每個(gè)基因在不同表型樣品組間的差異表達(dá)顯著性檢驗(yàn)P值(Pearson相關(guān)系數(shù))顷帖,通常將P值取以10底對(duì)數(shù)值定義為基因顯著性GS
?
計(jì)算各模塊與一表型性狀的MS值美旧,如一個(gè)模塊的MS值顯著高于其他模塊,則這一模塊與該性狀存在關(guān)聯(lián)關(guān)系
?
模塊特征值顯著性(Epigengene significance, ES):模塊特征值與某一性狀的相關(guān)系數(shù)贬墩,篩選與性狀關(guān)聯(lián)度最高的模塊榴嗅。
3.3 富集分析
對(duì)各個(gè)模塊都進(jìn)行GO和KEGG富集分析,找出與我們研究性狀相關(guān)通路相關(guān)性最強(qiáng)的模塊進(jìn)行深入挖掘陶舞。
4.4 依據(jù)目標(biāo)基因篩選模塊
依據(jù)研究目的嗽测、前期研究結(jié)果和已發(fā)表文獻(xiàn),有重點(diǎn)關(guān)注的目標(biāo)基因肿孵,可直接篩選目標(biāo)基因所在的基因模塊重點(diǎn)進(jìn)一步分析唠粥。
5 鑒定關(guān)鍵基因
5.1 模塊內(nèi)部基因連接度分析
Connectivity(degree)-連接度:與某個(gè)基因連接的所有其他基因的總和,即描述一個(gè)基因與其他所有基因的關(guān)聯(lián)程度停做,一般用K值表示晤愧。
?
Intramodular connectivity KIM-模塊內(nèi)部連接度IC:某個(gè)模塊中的基因與該模塊中其他基因的關(guān)聯(lián)程度(共表達(dá)程度)◎入纾可用來(lái)衡量模塊身份(module membership,MM).
?
Module Membership MM,or Epigengene-basedconnectivity KME:模塊身份官份,用一個(gè)基因在所有樣本中的表達(dá)語(yǔ)與某個(gè)模塊特征值的表達(dá)譜的相關(guān)性只厘,來(lái)衡量這個(gè)基因在這個(gè)模塊中的身份。
?
KME值接近0,說(shuō)明這個(gè)基因不是該模塊的成員:KME接近1或者-1,說(shuō)明這個(gè)基因與該模塊密切相關(guān)(正相關(guān)或者負(fù)相關(guān))舅巷。
可以對(duì)所有基因計(jì)算相對(duì)某個(gè)模塊的KME值羔味,并不一定要是該模塊的成員。
KME與KIM高度相關(guān)钠右。某個(gè)模塊中KIM值高的hub基因一定與該模塊的KME也很高赋元。
KME與KIM的區(qū)別:IC衡量基因在特定模塊中的身份,MM衡量基因在全局網(wǎng)絡(luò)中的位置爬舰。
?
篩選關(guān)鍵基因:
TOM值(模塊調(diào)控系表中的weight值)大于閾值(默認(rèn)是0.15)的兩個(gè)基因才認(rèn)為是相關(guān)的们陆,然后計(jì)算每個(gè)基因的連接度寒瓦。即先篩選有足夠強(qiáng)度的關(guān)系情屹,然后計(jì)算連接度。
?
模塊內(nèi)部高連接度的基因杂腰,模塊內(nèi)排名前30或者10%(KME或KIM).
篩選關(guān)鍵基因:將該基因模塊身份MM相對(duì)于基因顯著性GS做散點(diǎn)圖垃你,選擇右上角MM和GS均高的基因進(jìn)一步分析。
基因顯著性值(Gene significance,GS)因變量水平的相關(guān)系數(shù)喂很。衡量基因與表型性狀的關(guān)聯(lián)程度惜颇,GS越高,說(shuō)明與表型越相關(guān)少辣,越具有生物學(xué)意義凌摄。GS可以為正值或負(fù)值(正相關(guān)或負(fù)相關(guān))
Cytoscape中一般用weight值(TOM值)來(lái)繪制網(wǎng)絡(luò)圖。
5.2 特定功能基因分析
高連通性的基因一般位于調(diào)控網(wǎng)絡(luò)的上游漓帅;低連通性的基因一般位于調(diào)控網(wǎng)絡(luò)的下游锨亏。
調(diào)控網(wǎng)絡(luò)上游一般是調(diào)控因子,如轉(zhuǎn)錄因子忙干;下游一般是功能性的酶或蛋白分子器予。
重點(diǎn)關(guān)注具有調(diào)控功能的基因,典型的為轉(zhuǎn)錄因子捐迫,這些基因往往是關(guān)鍵基因乾翔。
5.3 目標(biāo)基因關(guān)聯(lián)分析
依據(jù)研究目的,選取跟目標(biāo)基因關(guān)系緊密的基因施戴,如篩選與目標(biāo)基因的TOM值排名前10反浓,或者TOM值大于0.2的基因。
?
可準(zhǔn)確篩選與目標(biāo)基因存在上下游調(diào)控關(guān)系的候選基因赞哗。
?
當(dāng)目標(biāo)基因連接度不高時(shí)雷则,可篩選與目標(biāo)基因TOM值很高,且自身連接度也很高的基因懈玻。
===WGCNA安裝===
source("https://bioconductor.org/biocLite.R")
biocLite(c("AnnotationDbi","impute","GO.db", "preprocessCore"))
site="https://mirrors.tuna.tsinghua.edu.cn/CRAN"
install.packages(c("WGCNA","stringr", "reshape2"), repos=site)
本文使用 文章同步助手 同步