RNA-seq分析:Step9(共表达分析)

目录

前记

一、R包的安装

二、数据的载入和预处理

1、数据导入

2、样本的聚类

 3、软阈值的计算和选择

三、生成基因模块

四、基因模块与表型之间联系

 五、导出共表达网络文件

后记


前记

WGCNA(Weighted Correlation Network Analysis)是一种系统生物学中常用的数据分析方法,主要用于分析高通量基因表达数据。该方法通过构建基因共表达网络,将相似的基因组织到同一模块中,并用模块间的关联性进行分析,从而识别与生物学过程相关的模块和关键基因。

WGCNA分析流程主要包括:数据预处理、构建共表达网络、模块检测、模块注释和功能分析等步骤。其中,构建共表达网络是WGCNA的核心步骤,其基本思想是通过计算基因间的相关系数,建立基因共表达网络,然后利用模块检测算法将相关基因聚类成模块,进而探究不同模块与生物学过程的相关性。最终,可以对模块进行注释和功能分析,揭示其在生物学过程中的作用。

Figure 1
WGCNA的流程

一、R包的安装

WGCNA分析需要用到WGCNA包。WGCNA R包是基于R语言编写的,用于实现WGCNA分析的工具包。该包提供了一系列函数,可用于数据预处理、构建基因共表达网络、模块检测、模块注释和功能分析等步骤。同时,还提供了数据导入和导出、可视化等功能。

WGCNA R包中的主要函数包括:

  • importDataset:用于导入基因表达数据;
  • goodSamplesGenes:用于筛选高质量的样本和基因;
  • pickSoftThreshold:用于选择共表达网络分析中的软阈值;
  • blockwiseModules:用于构建基因共表达网络,并将相关基因聚类成模块;
  • moduleColors:用于将模块标记颜色并可视化;
  • moduleTraitCor:用于计算模块和外部性状的相关性;
  • pathwayAnalysis:用于对模块进行通路分析。

WGCNA R包是一个功能强大的工具,可以快速、高效地进行WGCNA分析。对于想要进行基因表达数据分析的生物学家和生物信息学家来说,是一个非常有价值的工具。

WGCNA: an R package for weighted correlation network analysis | BMC Bioinformatics | Full Text (biomedcentral.com)icon-default.png?t=N7T8https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-559#Fig1安装的代码如下:

#载入WGCNA和flashClust
BiocManager::install("impute")
BiocManager::install("preprocessCore")
install.packages("WGCNA")
install.packages("flashClust")
library(WGCNA)
library(flashClust)

二、数据的载入和预处理

1、数据导入

导入的数据包括差异基因的表达量信息和性状信息,代码如下:

#读入表达量数据
fpkm <- read.table("GSE80565_RNAseq_ABAtimeSeries_rpkm_log2FC_FDR_filterCPM2n2.txt", header = TRUE)
rownames(fpkm) <- fpkm$gene_id #设置第一列为列名
fpkm <- fpkm[, - 1] #删除第一列
fpkm <- fpkm[, 1:28] #提取表达量数据
fpkm <- log2(fpkm + 1) #取对数

#读入差异表达分析结果
deseq_results <- read.csv("DESeq2_results_significant.csv", row.names = "X", header = TRUE)
SubGeneNames <- as.character(rownames(deseq_results)) #提取差异表达基因名称
datExpr <- fpkm[SubGeneNames, ] #提取差异表达基因表达量数据
datExpr <- na.omit(datExpr) #去除NA值
datExpr <- as.data.frame(t(datExpr)) #颠换行和列

#检查是否存在异常值
gsg <- goodSamplesGenes(datExpr, verbose = 3)
gsg$allOK

#读入表型数据
datTraits <- read.table("traits_wgcna.txt")
#datTraits <- datTraits[1:14, ]
table(rownames(datTraits) == rownames(datExpr))

2、样本的聚类

#根据表达量对样本进行聚类
A <- adjacency(t(datExpr), type = "signed")
k <- as.numeric(apply(A, 2, sum)) - 1
Z.k <- scale(k)
thresholdZ.k <- - 2.5
outlierColor <- ifelse(Z.k < thresholdZ.k, "red"
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉香GG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值