转录组丨limma差异表达分析,绘制火山图和热图

这篇博客介绍了如何在R语言中利用limma包进行转录组的差异表达分析,包括环境部署、数据准备、差异分析过程、结果可视化(火山图和热图的绘制)。文章详细阐述了每一步的操作,从数据导入、构建分组和比较矩阵到差异基因的筛选和标注,最后展示了两种绘制火山图的方法和热图的生成。
摘要由CSDN通过智能技术生成

limma差异表达分析

本篇笔记的内容是在R语言中利用limma包进行差异表达分析,主要针对转录组测序得到的基因表达数据进行下游分析,并将分析结果可视化,绘制火山图热图

基因表达差异分析是我们做转录组最关键根本的一步,不管哪种差异分析,其本质都是广义线性模型,limma也是广义线性模型的一种,其对每个gene的表达量拟合一个线性方程。

limma包是2015年发表在Nucleic Acids Resarch一个做差异分析的工具,目前引用次数高达七千多次,最流行的差异分析软件之一就是limma。

环境部署与安装

  • 安装limma包
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("limma")
  • 安装ggVolcano包
# install.packages("devtools")
devtools::install_github("BioSenior/ggVolcano")
  • 安装ggplot2包
#直接安装tidyverse,一劳永逸(推荐,数据分析大礼包)
install.packages("tidyverse")
#直接安装ggplot2
install.packages("ggplot2")
#从Github上安装最新的版本,先安装devtools(如果没安装的话)
devtools::install_github("tidyverse/ggplot2")

输入数据准备

  • 样本信息表:第一列为样本名称ID,第二列为样本的分组(CK、HT),sampleinfo.csv格式如下

    这一步需要注意:每个分组下至少有两个生物学重复,即至少4行数据,如果没有重复的话在后续贝叶斯检验会出错,原因是该模型利用统计假设检验,多个重复能够评估变异性,而如果仅有一组数据,则无法检验。

    sample group
    A01 CK
    A02 HT
  • 表达矩阵:每行是一个基因,每列是一个样本,表达数据为TPM,data.csv格式如下

    A01 A02
    gene1 xx xx
    gene2 xx xx

差异表达分析过程

准备环节

载入R包,设置参数,其中job变量用于项目输出文件前缀标识,可以自定义修改。

setwd("D:/LABdata")
options(stringsAsFactors = F)
rm(list=ls()) #清空变量
job <- "test" #设定项目名称
library(limma)
library(ggplot2) #用于绘制火山图
library(ggVolcano)

数据导入

导入样本信息和表达量数据,然后进行删除表达量之和为0基因、log2化、替换异常值等步骤,得到原始数据矩阵。

# 输入表达矩阵和分组文件 -------------------------------------------------------------

expr_data<-read.csv("data.csv",header = T
差异表达基因(Differentially Expressed Genes,简称DEG)是指在不同生物学条件下,例如正常织与疾病织之间,或者在不同发育阶段、不同处理条件下,表达水平存在显著差异的基因。在基因表达分析中,DEG的识别是理解生物体对环境变化响应和疾病发生机制的关键步骤。 在R语言中,通常使用一些生物信息学软件包来识别和分析差异表达基因。其中一个非常流行的包是DESeq2,它使用负二项式分布模型来分析RNA-Seq数据,以确定差异表达的基因。此外,edgeR、limma、NOISeq等包也是处理这类问题的常用工具。 以下是一个使用DESeq2包进行DEG分析的基本步骤: 1. 安装并加载DESeq2包: ```R if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("DESeq2") library(DESeq2) ``` 2. 准备数据:通常需要一个计数矩阵(count matrix)和一个样本信息的数据框(data frame)来指定样本的分信息。 3. 构建DESeqDataSet对象:使用上述数据来构建用于后续分析的对象。 4. 运行DESeq分析:使用`DESeq()`函数来拟合负二项式模型并进行差异表达分析。 5. 获取结果:通过`results()`函数获取差异表达基因的结果表,可以设定阈值(如调整后的P值<0.05和|log2FoldChange|>1)来筛选出显著差异表达的基因。 6. 可视化和进一步分析:对差异表达基因结果进行可视化(如火山热图等)和生物学功能注释。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生信分析笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值