前面我们用WGCNA
分析完成了一系列的分析,聚类分割模块。🥰
随后进一步筛选,找到与我们感兴趣的表型或者临床特征相关的模块,而且进行了模块内部分析。😘
再然后是对感兴趣模块进行功能注释,了解模块的功能及涉及的潜在机制。🥳
本期主要是介绍一些可视化的方法,大家了解一下吧。🥰
rm(list = ls())
library(WGCNA)
library(dplyr)
load("FemaleLiver-01-dataInput.RData")
load("FemaleLiver-02-networkConstruction-auto.RData")
计算一下基因数和样本数吧,后面会用到。🤓
nGenes <- ncol(datExpr)
nSamples <- nrow(datExpr)
我们再重新计算一下TOM
吧, power
是6,之前的教程介绍过如何计算。
dissTOM <- 1-TOMsimilarityFromExpr(datExpr, power = 6)
这里我们需要转换一下dissTOM
, 可以增强对比,方便进行可视化。
plotTOM <- dissTOM^6
diag(plotTOM) <- NA
sizeGrWindow(9,9)
TOMplot(plotTOM, geneTree, moduleColors, main = "Network heatmap plot, all genes")
由于数据量比较大,这里我们就随机选择300
个基因来进行可视化吧。😉
nSelect <- 300
set.seed(123)
select <- sample(nGenes, size = nSelect)
selectTOM <- dissTOM[select, select]
selectTree <- hclust(as.dist(selectTOM), method = "average")
selectColors <- moduleColors[select]
来吧,展示!~😜
浅色代表low adjacency (overlap)
,深色代表higher adjacency (overlap)
。🤨
这里需要补充一下,如果你的TOM
是用blockwise
计算得到的,需要对每个block
都运行一遍这个code
,这里不做具体介绍了,写个循环吧。😏
sizeGrWindow(9,9)
plotDiss <- selectTOM^6
diag(plotDiss) <- NA
TOMplot(plotDiss, selectTree, selectColors, main = "Network heatmap plot, selected genes")
MEs <- moduleEigengenes(datExpr, moduleColors)$eigengenes
weight <- as.data.frame(datTraits$weight_g)
names(weight) <- "weight"
MET <- orderMEs(cbind(MEs, weight))
sizeGrWindow(5,7.5)
par(cex = 0.9)
plotEigengeneNetworks(MET, "",
marDendro = c(0,4,1,2), marHeatmap = c(3,4,1,2),
cex.lab = 0.8, xLabelsAngle= 90
)
📍
Langfelder, P., Horvath, S. WGCNA: an R package for weighted correlation network analysis. BMC Bioinformatics 9, 559 (2008). https://doi.org/10.1186/1471-2105-9-559
最后祝大家早日不卷!~