今天推荐给大家一个R包WGCNA,针对我们的表达谱数据进行分析。
简单介绍:WGCNA首先假定基因网络服从无尺度分布,并定义基因共表达相关矩阵、基因网络形成的邻接函数,然后计算不同节点的相异系数,并据此构建系统聚类树。该聚类树的不同分支代表不同的基因模块(module),模块内基因共表达程度高,而分属不同模块的基因共表达程度低。
主要应用:如果某些基因在一个生理过程或不同组织中总是具有相类似的表达变化,那么我们有理由认为这些基因在功能上是相关的,可以把它们定义为一个模块(module)。当基因module被定义出来后,我们可以利用这些结果做很多进一步的工作,如筛选module的核心基因,关联性状,代谢通路建模,建立基因互作网络等。
好了,言归正传,我们开始一步步进行演示!
载入WGCNA包,设置随机种子,默认数据不进行因子转换
先把原始数据转列,转成横排是探针(基因),纵排是个体的顺序,先变成数列,用as.data.fame,然后改列名rownames(design)
design
##datExpr
##> datExpr1
##> datExpr1
##> colnames(datExpr1)
##> datExpr1
##> datExpr1
library(WGCNA)
set.seed(1)
options(stringsAsFactors = F)
构造性状数据(亦或是分组数据)
obs
sample
rownames(sample)
colnames(sample)
构造表达量数据
datExpr
rownames(datExpr)
names(datExpr)
明确样本数和基因数
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)
首先针对样本做个系统聚类树
datExpr_tree
par(mar = c(0,5,2,0))
plot(datExpr_tree, main = "Sample clustering", sub="", xlab="", cex.lab = 2,
cex.axis = 1, cex.main = 1,cex.lab=1)
针对前面构造的样品矩阵添加对应颜色
sample_colors
构造10个样品的系统聚类树及性状热图
par(mar = c(1,4,3,1),cex=0.8)
plotDendroAndColors(datExpr_tree, sample_colors,
groupLabels = colnames(sample),
cex.dendroLabels = 0.8,
marAll = c(1, 4, 3, 1),
cex.rowText = 0.01,
main = "Sample dendrogram and trait heatmap")
这个有什么意义呢?
你可以将样本分为正常组和对照组,或者野生型和突变型等,从而可以查看样本聚类情况!
针对10个样品绘制主成分图(在这里不考虑分组情况)
pca = prcomp(datExpr)
sampletype
par(mar = c(4,4,4,6))
plot(pca$x[,c(1,2)]