WGCNA分析(一)导入表达数据和寻找最佳β值

安装WGCNA

BioManager::install("impute")
BioManager::install("preprocessCore")
install.packages("WGCNA")

安装过程可能会不太顺利,大家可以自行查找解决方案。

导入表达数据

library(WGCNA)
exp0 <- read.delim(test1, row.names=1)

有很多基因是不表达或者表达了很低,所以我们过滤掉在所有样品中表达之和小于5的基因

exp <- exp0[rowSums(exp0) > 5, ]

我们的表达矩阵通常每一行是一个基因,每一列是一个样本;但WGCNA要求每一行是一个样本,每一列是一个基因,所以我们需要进行转置

Texp0 = t(exp0)

寻找最佳 β 值

# 开启多线程模式
  enableWGCNAThreads(nThreads = 20)
  
# 通过对 power 的多次迭代,确定最佳 power
  powers <- c(1:20)
x = pickSoftThreshold(Texp0, powerVector = powers, verbose = 5,
                          networkType = "signed")
# 计算出来的最佳 β 存放在
 x$powerEstimate
  
# 画图
## 设置画布
  sizeGrWindow(9, 5)
  par(mfrow = c(1,2))
  cex1 = 0.9

#  Scale independence
  plot(x$fitIndices[,1], -sign(x$fitIndices[,3])*x$fitIndices[,2],
       xlab="Soft Threshold (power)",ylab="Scale Free Topology Model Fit,signed R^2",type="n",
       main = paste("Scale independence"));
 
# 增加一条阈值线
  abline(h=0.8,col="red")

# Mean connectivity 
  plot(x$fitIndices[,1], x$fitIndices[,5],
       xlab="Soft Threshold (power)",ylab="Mean Connectivity", type="n",
       main = paste("Mean connectivity"))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进行WGCNA要注意,WGCNA输入(INPUT)的是:行对应着一个样品,列对应着探针的矩阵或者数据框。 0 数据...
    淡水鱼Ada阅读 9,184评论 0 15
  • WGCNA:加权基因共表达网络分析,简而言之,就是将基因划分为若干个模块,探究与表型数据与基因模块之间的相关关系,...
    Wei_Sun阅读 13,923评论 6 47
  • 表达数据挖掘三张表表达矩阵:(GEO数据库)---差异表达分析 样本信息表(每一列描述) 前两张做差异表达分析基因...
    jiarf阅读 1,952评论 1 11
  • 进行WGCNA要注意,WGCNA输入(INPUT)的是:行对应着一个样品,列对应着探针的矩阵或者数据框。 1.数据...
    瞌睡斋主人阅读 2,035评论 1 10
  • 正文 正文部分,我想尽可能的从原理出发,讲解WGCNA背后的大致逻辑。我尽可能的在这部分不介绍代码,以免喧宾夺主般...
    鹿无为阅读 8,623评论 4 22