WGCNA分析

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

2023-07-08  本文已影响0人  Bioinfor生信云

安装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"))

上一篇下一篇

猜你喜欢

热点阅读