首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RNA-seq 差异分析的点点滴滴(1)

RNA-seq 差异分析的点点滴滴(1)

作者头像
数据科学工厂
发布于 2024-12-30 01:42:24
发布于 2024-12-30 01:42:24
17400
代码可运行
举报
运行总次数:0
代码可运行

引言

本系列[1])将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。

为何使用未经标准化的计数数据?

DESeq2 工具包在接收输入时,期望得到的是未经处理的原始计数数据,比如从 RNA-seq 或其他高通量测序实验中获得的,这些数据以整数值矩阵的形式呈现。在这个矩阵中,第 i 行第 j 列的数值表示在样本 j 中可以归属于基因 i 的读段数。同样地,对于其他类型的实验,矩阵的行可能代表结合区域(例如 ChIP-Seq 实验)或肽序列(例如定量质谱实验)。

矩阵中的数值应当是未经标准化的读段计数(对于单端 RNA-seq)或片段计数(对于双端 RNA-seq)。RNA-seq 的工作流程中描述了多种制备此类计数矩阵的技术。为 DESeq2 的统计模型提供计数矩阵作为输入非常关键,因为只有原始的计数数据才能准确评估测量的精确度。DESeq2 模型在内部会校正文库大小的影响,因此不应该使用经过转换或标准化的数值,比如按文库大小调整后的计数,作为输入数据。

DESeqDataSet 对象

DESeq2 工具包中,用于存储读取计数和统计分析过程中的中间估计量的类对象是 DESeqDataSet,通常在代码中以 dds 表示。

技术细节上,DESeqDataSet 类扩展了 SummarizedExperiment 包中的 RangedSummarizedExperiment 类。“Ranged” 指的是测定数据的行(即计数)可以与基因组的特定区域(如基因的外显子)相关联。

DESeqDataSet 对象必须关联一个设计公式。这个公式描述了将在模型中使用的变量,通常以波浪号 (~) 开始,后跟用加号 (+) 分隔的变量(如果不是公式形式,系统会自动转换)。设计公式可以在后续更改,但需要重新执行所有差异分析步骤,因为设计公式用于估计离散度和模型的 log2 倍数变化。

注意:为了利用包的默认设置,应将感兴趣的变量放在公式的末尾,并确保对照组水平是第一水平。

接下来,将展示根据在 DESeq2 之前使用的管道不同,构建 DESeqDataSet 的四种方法:

  1. 从转录丰度文件和 tximport 生成
  2. 从计数矩阵生成
  3. 从 htseq-count 文件生成
  4. 从 SummarizedExperiment 对象生成

转录本丰度数据

建议在使用 DESeq2 之前,先采用快速的转录本丰度定量工具,然后通过 tximport导入这些定量数据来创建 DESeq2 所需的基因水平计数矩阵。这种方法允许用户从多种外部软件中导入转录本丰度估计值,包括以下方法:Salmon; Sailfish; kallisto ;RSEM

采用上述方法进行转录本丰度估计的好处包括:(i)这种方法能够校正样本间可能的基因长度变化(例如,由于异构体的不同使用),(ii)其中一些方法(Salmon, Sailfish, kallisto)相比需要创建和存储 BAM 文件的基于比对的方法,速度显著更快,且对内存和磁盘空间的需求更少,以及(iii)可以避免丢弃那些能够与多个具有同源序列的基因对齐的片段,从而提高检测的灵敏度。

请注意,tximport-to-DESeq2 方法使用的是转录本丰度定量器估计的基因计数,而不是标准化计数。

在这里,将展示如何从存储在 tximportData 包中的 Salmon quant.sf 文件导入转录本丰度,并构建一个基因水平的 DESeqDataSet 对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library("tximport")
library("readr")
library("tximportData")
dir <- system.file("extdata", package="tximportData")
samples <- read.table(file.path(dir,"samples.txt"), header=TRUE)
samples$condition <- factor(rep(c("A","B"),each=3))
rownames(samples) <- samples$run
samples[,c("pop","center","run","condition")]

##           pop center       run condition
## ERR188297 TSI  UNIGE ERR188297         A
## ERR188088 TSI  UNIGE ERR188088         A
## ERR188329 TSI  UNIGE ERR188329         A
## ERR188288 TSI  UNIGE ERR188288         B
## ERR188021 TSI  UNIGE ERR188021         B
## ERR188356 TSI  UNIGE ERR188356         B

接下来,使用适当的样本列指定文件的路径,并读取一个将转录本与该数据集的基因链接起来的表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
files <- file.path(dir,"salmon", samples$run, "quant.sf.gz")
names(files) <- samples$run
tx2gene <- read_csv(file.path(dir, "tx2gene.gencode.v27.csv"))

使用 tximport 函数导入 DESeq2 所需的量化数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
txi <- tximport(files, type="salmon", tx2gene=tx2gene)

最后,可以根据样本中的 txi 对象和样本信息构造一个 DESeqDataSet。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library("DESeq2")
ddsTxi <- DESeqDataSetFromTximport(txi,
                                   colData = samples,
                                   design = ~ condition)

这里的ddsTxi对象就可以在下面的分析步骤中用作dds。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RNA-seq 详细教程:分析准备(3)
在过去的十年中,RNA-seq 已成为转录组差异表达基因和 mRNA 可变剪切分析不可或缺的技术。正确识别哪些基因或转录本在特定条件下的表达情况,是理解生物反应过程的关键。
数据科学工厂
2023/01/29
1.2K0
RNA-seq 详细教程:分析准备(3)
在过去的十年中,RNA-seq 已成为转录组差异表达基因和 mRNA 可变剪切分析不可或缺的技术。正确识别哪些基因或转录本在特定条件下的表达情况,是理解生物反应过程的关键。
数据科学工厂
2023/02/27
1.3K0
RNA-seq 详细教程:分析准备(3)
limma/voom,edgeR,DESeq2分析注意事项,差异分析表达矩阵与分组信息
给粉丝朋友们带来了很多理解上的挑战,所以我们开辟专栏慢慢介绍其中的一些概念性的问题,上一期: 箱线图的生物学含义
生信技能树
2019/08/22
14.3K0
跟着存档教程动手学RNAseq分析(一)
这个中文教程是原始资料的关键内容过一遍,以帮助自己的研究和学习。如果对R不熟悉,推荐学习 Introduction to R[1]。
王诗翔呀
2022/06/27
1.1K0
跟着存档教程动手学RNAseq分析(一)
RNA-seq 差异分析的点点滴滴(3)
本系列[1]将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。
数据科学工厂
2024/12/30
1870
RNA-seq 差异分析的点点滴滴(3)
RNA-seq 差异分析的点点滴滴(2)
本系列[1]将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。
数据科学工厂
2024/12/30
1990
RNA-seq 差异分析的点点滴滴(2)
转录组分析 | 使用DESeq2进行基因差异表达分析
通过RSEM我们获取了样本中每个基因的counts和表达量,接下来使用tximport校正不同样本间基因长度的差异。
生信小王子
2020/08/10
3.2K0
转录组分析 | 使用DESeq2进行基因差异表达分析
RNA-seq 差异分析的点点滴滴(4)
本系列[1]将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。
数据科学工厂
2024/12/30
2180
RNA-seq 差异分析的点点滴滴(4)
RNA-seq入门实战(五):差异分析——DESeq2 edgeR limma的使用与比较
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
21K0
RNA-seq入门实战(五):差异分析——DESeq2 edgeR limma的使用与比较
RNA-seq 详细教程:分析流程介绍(1)
进行差异表达基因分析的前提是,获取代表基因表达水平的矩阵。因此在进行分析前,必须知道基因表达矩阵是如何产生的。
数据科学工厂
2023/02/27
3.4K0
RNA-seq 详细教程:分析流程介绍(1)
RNA-seq入门实战(三):在R里面整理表达量counts矩阵
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
22.2K0
RNA-seq入门实战(三):在R里面整理表达量counts矩阵
跟着存档教程动手学RNAseq分析(六):差异分析流程总结
我们详细介绍了差异表达分析工作流程中的各个步骤,并提供了理论和示例代码。为了给运行DGE分析所需的代码提供更简洁的参考,我们总结了如下分析中的步骤:
王诗翔呀
2022/12/30
6010
RNA-seq 详细教程:搞定count归一化(5)
差异表达分析工作流程的第一步是计数归一化,这是对样本之间的基因表达进行准确比较所必需的。
数据科学工厂
2023/01/29
2K0
Kallisto定量结果:如何将transcript-level表达矩阵转为gene-level
这里将transcript-level表达矩阵转为gene-level的矩阵,使用的是R包 tximport,学习链接:https://bioconductor.org/packages/release/bioc/vignettes/tximport/inst/doc/tximport.html。这个软件可以接受这些软件的转录本定量结果:
生信技能树
2025/02/12
2590
Kallisto定量结果:如何将transcript-level表达矩阵转为gene-level
每月一生信流程之rnaseqDTU(差异转录本)
上一期我们推荐的是转录组经典表达量矩阵下游分析大全 本期我们聊聊可变剪切,流程里面写的差异转录本,或者差异外显子,都差不多的意思。
生信技能树
2019/11/09
2.5K0
RNA-seq数据差异表达分析
分析转录组测序数据时,通常使用p值/q值和foldchange值来衡量基因的差异的表达水平。目前,大家普遍都认为转录组数据的read counts(即基因的reads数量)符合泊松分布。几个用于差异表达分析的R包如DESeq2和edgeR等,都是基于负二项分布模型设计的,整体而言结果相差不大。Limma包也可以用来分析RNA-seq数据,但主要用于分析芯片数据,现在用的人不多了。当然如果用泊松分布来做差异表达分析的话,也存在缺点,可能会忽视生物学样本间的个体差异。
阿凡亮
2020/04/13
4.6K0
RNA-Seq数据分析上下游打通
数据集为GSE149638, 2x101 bp paired-end RNA-seq,Illumina HiSeq 2500 with poly-A selection。源于健康人的M0和M1 macrophages。原始数据M0和M1各有48个重复。全部使用还是需要耗费一定时间和计算资源的,这里就各挑选3个重复进行练习。
生信技能树
2021/07/29
3.2K0
RNA-seq 差异分析的细节详解 (5)
本系列[1]将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。
数据科学工厂
2024/12/30
3120
RNA-seq 差异分析的细节详解 (5)
基于Kallisto或Salmon的转录组定量流程
Kallisto和Salmon在RNA-seq数据分析中,相比于包含hisat2和STAR等软件的流程,展现出更高的处理速度。这主要归因于它们基于转录组序列reference(即cDNA序列)的特性和k mer比对原理。以下是关于Kallisto和Salmon在RNA-seq流程中速度优势的关键点归纳:
生信学习者
2024/06/13
2590
基于Kallisto或Salmon的转录组定量流程
跟着存档教程动手学RNAseq分析(三):使用DESeq2进行计数标准化
差异表达分析工作流程的第一步是计数标准化,这是对样本间基因表达进行准确比较所必需的。
王诗翔呀
2022/06/27
3.7K0
跟着存档教程动手学RNAseq分析(三):使用DESeq2进行计数标准化
推荐阅读
相关推荐
RNA-seq 详细教程:分析准备(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验