WGCNA 簡(jiǎn)明指南|2. 模塊與性狀關(guān)聯(lián)分析并識(shí)別重要基因

WGCNA2.jpg

WGCNA 系列

  1. WGCNA 簡(jiǎn)明指南|1. 基因共表達(dá)網(wǎng)絡(luò)構(gòu)建及模塊識(shí)別

[TOC]

22

參考

本文主要參考官方指南Tutorials for WGCNA R package (ucla.edu),詳細(xì)內(nèi)容可參閱官方文檔。

其它資料:

  1. WGCNA - 文集 - 簡(jiǎn)書(shū) (jianshu.com)
  2. WGCNA分析,簡(jiǎn)單全面的最新教程 - 簡(jiǎn)書(shū) (jianshu.com)
  3. WGCNA:(加權(quán)共表達(dá)網(wǎng)絡(luò)分析)_bioprogrammer-CSDN博客
  4. WGCNA如何從module中挖掘關(guān)鍵基因_廬州月光的博客-CSDN博客

關(guān)聯(lián)模塊與臨床特征

如果前面沒(méi)保存再跑一遍WGCNA 簡(jiǎn)明指南|1. 基因共表達(dá)網(wǎng)絡(luò)構(gòu)建及模塊識(shí)別以得到本次分析需要的數(shù)據(jù)。

量化module-trait(模塊-特征)關(guān)系

在這個(gè)分析中咧栗,我們希望識(shí)別與臨床特征顯著相關(guān)的模塊交煞。由于我們已經(jīng)有了每個(gè)模塊的特征基因,我們簡(jiǎn)單地將特征基因與臨床特征關(guān)聯(lián)起來(lái),并尋找最顯著的關(guān)聯(lián)凤粗。

**Module eigengene **

Module eigengene is defined as the first principal component of the expression matrix of the corresponding module.

# 導(dǎo)入之前的數(shù)據(jù)(也可以重新跑一遍上一期的內(nèi)容)
lnames =load(file="FemaleLiver-02-networkConstruction-auto.RData");
lnames
# 明確基因和樣本數(shù)
nGenes =ncol(datExpr);
nSamples =nrow(datExpr);
# 用顏色標(biāo)簽重新計(jì)算MEs
# 按照模塊計(jì)算每個(gè)module的MEs(也就是該模塊的第一主成分)
MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes
# 對(duì)給定的(特征)向量重新排序异逐,使相似的向量(通過(guò)相關(guān)性測(cè)量)彼此相鄰。
MEs = orderMEs(MEs0)
# 計(jì)算基因模塊MEs 與 臨床特征的相關(guān)性以及p值
# use 給出在缺少值時(shí)計(jì)算協(xié)方差的方法 
moduleTraitCor =cor(MEs, datTraits, use ="p");
moduleTraitPvalue = corPvalueStudent(moduleTraitCor, nSamples)

可視化

# 如需保存
# pdf("Module-trait associations.pdf",width = 8, height=10)
par(mar =c(6, 8.5, 3, 3));
# 通過(guò)熱圖顯示相關(guān)性
labeledHeatmap(Matrix = moduleTraitCor,
               xLabels =names(datTraits),
               yLabels =names(MEs),
               ySymbols =names(MEs),
               colorLabels = FALSE,
               colors= greenWhiteRed(50),
               textMatrix = textMatrix,
               setStdMargins = FALSE,
               cex.text= 0.5,
               zlim =c(-1,1),
               main =paste("Module-traitrelationships"))

# dev.off()
圖1:模塊-特征關(guān)聯(lián)。每一行對(duì)應(yīng)一個(gè)模塊特征基因蕉陋,每一列對(duì)應(yīng)一個(gè)性狀患民。每個(gè)單元格包含相應(yīng)的相關(guān)性和p值托猩。根據(jù)顏色圖例,該表通過(guò)相關(guān)性進(jìn)行顏色編碼

基因與性狀和重要模塊的關(guān)系:基因重要性和模塊成員

Module Membership
簡(jiǎn)稱(chēng)MM, 將該基因的表達(dá)量與module的第一主成分,即module eigengene進(jìn)行相關(guān)性分析就可以得到MM值,所以MM值本質(zhì)上是一個(gè)相關(guān)系數(shù)晃琳,如果基因和某個(gè)module的MM值為0顾翼,說(shuō)明二者根本不相關(guān),該基因不屬于這個(gè)module; 如果MM的絕對(duì)值接近1,說(shuō)明基因與該module相關(guān)性很高蕊肥。

Gene Significance
簡(jiǎn)稱(chēng)GS, 將該基因的表達(dá)量與對(duì)應(yīng)的表型數(shù)值進(jìn)行相關(guān)性分析展东,最終的相關(guān)系數(shù)的值就是GS, GS反映出基因表達(dá)量與表型數(shù)據(jù)的相關(guān)性爪膊。

# 以特征變量weight 為例
weight =as.data.frame(datTraits$weight_g);
names(weight) ="weight"
# 命名模塊
modNames =substring(names(MEs), 3)
geneModuleMembership =as.data.frame(cor(datExpr, MEs, use ="p"));
MMPvalue =as.data.frame(corPvalueStudent(as.matrix(geneModuleMembership), nSamples));
names(geneModuleMembership) =paste("MM", modNames, sep="");
names(MMPvalue) =paste("p.MM", modNames, sep="");
geneTraitSignificance =as.data.frame(cor(datExpr, weight, use ="p"));
GSPvalue =as.data.frame(corPvalueStudent(as.matrix(geneTraitSignificance), nSamples));
names(geneTraitSignificance) =paste("GS.",names(weight), sep="");
names(GSPvalue) =paste("p.GS.",names(weight), sep="");

模塊內(nèi)分析:鑒定高GS和MM基因

在感興趣的基因模塊中小槐,篩選出高GSMM的基因疮方。在圖1中可以看到曾掂,與性狀weight_g相關(guān)性最高的基因模塊是MEbrown,因此選擇MEbrown進(jìn)行后續(xù)分析蝴猪,繪制brown模塊中GSMM的散點(diǎn)圖米酬。

module ="brown"
column =match(module, modNames);
moduleGenes = moduleColors==module;
sizeGrWindow(7, 7);
par(mfrow =c(1,1));
verboseScatterplot(abs(geneModuleMembership[moduleGenes, column]),
                   abs(geneTraitSignificance[moduleGenes, 1]),
                   xlab =paste("ModuleMembershipin", module,"module"),
                   ylab ="Genesignificanceforbodyweight",
                   main =paste("Modulemembershipvs.genesignificance\n"),
                   cex.main = 1.2, cex.lab = 1.2, cex.axis= 1.2,col= module)
圖2:棕色模塊中weight與模塊成員(MM)的基因顯著性(GS)散點(diǎn)圖哼丈。在這個(gè)模塊中,GS和MM之間存在極顯著的相關(guān)性

如圖2所示,GS和MM是高度相關(guān)的丧慈,這說(shuō)明與一個(gè)性狀高度相關(guān)的基因往往也是與該性狀相關(guān)的模塊中最重要的(中心)元素完域。

網(wǎng)絡(luò)分析結(jié)果匯總輸出

我們已經(jīng)找到了與我們的興趣特征高度相關(guān)的模塊姿现,并通過(guò)MM確定了它們的核心參與者。現(xiàn)在,我們將這些統(tǒng)計(jì)信息與基因注釋合并并導(dǎo)出匹涮。

names(datExpr)
# 返回brown模塊中所有ID
names(datExpr)[moduleColors=="brown"]
# 導(dǎo)入注釋文件
annot = read.csv(file = "GeneAnnotation.csv");
dim(annot)
names(annot)
probes = names(datExpr)
probes2annot = match(probes, annot$substanceBXH)
# 統(tǒng)計(jì)沒(méi)有注釋到的基因
sum(is.na(probes2annot))
# 創(chuàng)建數(shù)據(jù)集雳攘,包含探測(cè)ID 刑巧,
geneInfo0 = data.frame(substanceBXH = probes, 
                       geneSymbol = annot$gene_symbol[probes2annot], 
                       LocusLinkID = annot$LocusLinkID[probes2annot], 
                       moduleColor = moduleColors, 
                       geneTraitSignificance, GSPvalue)
# 通過(guò)顯著性對(duì)模塊進(jìn)行排序
modOrder = order(-abs(cor(MEs, weight, use = "p")))
# 添加模塊成員
for (mod in 1:ncol(geneModuleMembership))
{
  oldNames = names(geneInfo0)
  geneInfo0 = data.frame(geneInfo0, geneModuleMembership[, 
                                                         modOrder[mod]],
                         MMPvalue[, modOrder[mod]]);
  names(geneInfo0) = c(oldNames, paste("MM.", 
                                       modNames[modOrder[mod]], sep=""),
                       paste("p.MM.", modNames[modOrder[mod]], sep=""))
}
# 對(duì)基因進(jìn)行排序
geneOrder = order(geneInfo0$moduleColor, abs(geneInfo0$GS.weight))
geneInfo = geneInfo0[geneOrder, ]
# 導(dǎo)出
write.csv(geneInfo, file = "geneInfo.csv")

模塊基因富集分析

批量導(dǎo)出模塊基因后拯辙,使用在線網(wǎng)站或者R包clusterProfiler進(jìn)行富集分析。

# Get the corresponding Locuis Link IDs
allLLIDs = annot$LocusLinkID[probes2annot];
# 選擇感興趣的模塊
intModules = c("brown", "red", "salmon")
for (module in intModules)
{
  # 模塊探針
  modGenes = (moduleColors==module)
  # 得到 entrez ID 
  modLLIDs = allLLIDs[modGenes];
  # 導(dǎo)出
  fileName = paste("LocusLinkIDs-", module, ".txt", sep="");
  write.table(as.data.frame(modLLIDs), file = fileName,
              row.names = FALSE, col.names = FALSE)
}

往期

  1. 跟著Nature學(xué)作圖 | 配對(duì)啞鈴圖+分組擬合曲線+分類(lèi)變量熱圖
  2. (免費(fèi)教程+代碼領(lǐng)取)|跟著Cell學(xué)作圖系列合集
  3. 跟著Nat Commun學(xué)作圖 | 1.批量箱線圖+散點(diǎn)+差異分析
  4. 跟著Nat Commun學(xué)作圖 | 2.時(shí)間線圖
  5. 跟著Nat Commun學(xué)作圖 | 3.物種豐度堆積柱狀圖
  6. 跟著Nat Commun學(xué)作圖 | 4.配對(duì)箱線圖+差異分析

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狈蚤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子潭枣,更是在濱河造成了極大的恐慌谐岁,老刑警劉巖沛善,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捅位,警方通過(guò)查閱死者的電腦和手機(jī)焰雕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)吝秕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)约郁,“玉大人镜遣,你說(shuō)我怎么就攤上這事。” “怎么了诱鞠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵始衅,是天一觀的道長(zhǎng)诸老。 經(jīng)常有香客問(wèn)我苞尝,道長(zhǎng)调卑,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任啤月,我火速辦了婚禮,結(jié)果婚禮上夹姥,老公的妹妹穿的比我還像新娘圾亏。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布评甜。 她就那樣靜靜地躺著佩研,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天趁猴,我揣著相機(jī)與錄音,去河邊找鬼。 笑死柴钻,一個(gè)胖子當(dāng)著我的面吹牛毫蚓,可吹牛的內(nèi)容都是我干的翩概。 我是一名探鬼主播洛姑,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了择葡?” 一聲冷哼從身側(cè)響起已添,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锐朴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡麻车,死狀恐怖赁咙,靈堂內(nèi)的尸體忽然破棺而出凤覆,到底是詐尸還是另有隱情渤刃,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一虏劲、第九天 我趴在偏房一處隱蔽的房頂上張望堡掏。 院中可真熱鬧游两,春花似錦止吐、人聲如沸不同。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)雏节。三九已至寥粹,卻和暖如春阔拳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工毡惜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親漓藕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嫩与,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容