RNA-seq 详细教程:详解DESeq2流程(9)

news2024/11/21 2:37:24

学习目标

  1. 了解 DESeq2 涉及的不同步骤
  2. 了解变异的来源并检查 size factors
  3. 检查基因水平的离散估计
  4. 了解差异表达分析过程中离散的重要性

DESeq2流程

前面,我们使用设计公式创建了 DESeq2 对象,并使用下面两行代码运行DESeq2

dds <- DESeqDataSetFromTximport(txi, colData = meta, design = ~ sampletype)

dds <- DESeq(dds)

我们用 DESeq2 完成了差异基因表达分析的整个工作流程。分析中的步骤如下:

workflow
workflow

我们将详细了解这些步骤中的每一个,以更好地了解 DESeq2 如何执行统计分析,以及我们应该检查哪些指标来验证我们的分析质量。

1. size factors

差异表达分析的第一步是估计大小因子,这正是我们已经对原始计数进行归一化所做的。

Estimate size factors
Estimate size factors

DESeq2 在执行差异表达分析时会自动估计大小因子。但是,如果您已经像我们之前所做的那样使用 estimateSizeFactors() 生成了大小因子,那么 DESeq2 将使用这些值。

为了归一化计数数据,DESeq2 使用前面教程中讨论的比率中值方法计算每个样本的大小因子。

  • MOV10 DE 分析:检查 size factors

让我们浏览一下每个样本的大小因子值:

# Check the size factors
sizeFactors(dds)

Irrel_kd_1 Irrel_kd_2 Irrel_kd_3 Mov10_kd_2 Mov10_kd_3 Mov10_oe_1 Mov10_oe_2 
 1.1149694  0.9606733  0.7492240  1.5633640  0.9359695  1.2262649  1.1405026 
Mov10_oe_3 
 0.6542030 

这些数字应该与我们最初运行函数 estimateSizeFactors(dds) 时生成的数字相同。查看每个样本的总读取数:

# Total number of raw counts per sample
colSums(counts(dds))
  • 这些数字如何与尺寸因子相关联?

我们看到较大的大小因子对应于具有较高测序深度的样本,这是有道理的,因为要生成我们的归一化计数,我们需要将计数除以大小因子。这解释了样本之间测序深度的差异。

现在看看归一化后的总深度:

# Total number of normalized counts per sample
colSums(counts(dds, normalized=T))
  • 样本间的值与每个样本的总计数相比如何?

您可能期望归一化后样本中的计数完全相同。然而,DESeq2 还在归一化过程中考虑了 RNA 组成。通过使用大小因子的中值比值,DESeq2 不应偏向于被少数 DE 基因吸收的大量计数;然而,这可能导致大小因素与仅基于测序深度的预期大不相同。

2. gene-wise dispersion

差异表达分析的下一步是估计基因差异。在我们进入细节之前,我们应该对 DESeq2 中的离散指的是什么有一个很好的了解。

gene-wise dispersion
gene-wise dispersion

RNA-seq 计数数据中,我们知道:

  1. 为了确定差异表达的基因,我们评估组间表达的变化并将其与组内(重复之间)的变化进行比较。
  2. 对于每个单独的基因,均值不等于方差。 高表达的基因将具有更一致的变异水平,但会高于平均值。 低表达的基因将表现出徘徊在平均值附近的变异(但具有更高的变异性)。

这种复杂的关系意味着我们不能只使用观察到的方差来解释组内变异。相反,DESeq2 使用离散。

relationship
relationship
  • 什么是离散( dispersion)?

离散参数通过描述方差偏离均值的程度来模拟组内变异性。离散度为 1 表示没有偏离均值(即均值 == 方差)。一个典型的 RNA-seq 数据集,将在重复中表现出一定数量的生物变异性,因此我们将始终具有小于 1 的离散值。

  • 离散值是如何计算的?

DESeq 中,我们知道给定基因的计数方差由均值和离散度建模:

formula1
formula1

现在让我们重新排列公式,以便我们可以看到离散参数等同于什么,以便我们可以更好地理解它与均值和方差的关系:

formula2
formula2

这也与以下内容相同:

formula3
formula3
Effect on dispersion
Variance increasesDispersion increases
Mean expression increasesDispersion decreases
  • DESeq2 中的离散

DESeq2 根据基因的表达水平(组内重复的平均计数)和重复观察到的方差来估计每个基因的离散度,正如我们用上面的公式所证明的那样。这样,具有相同均值的基因的离散估计将仅基于它们的方差而不同。因此,离散估计反映了给定平均值的基因表达的方差。

下面,有一个离散图,其中每个黑点都是一个基因,离散是针对每个基因的平均表达绘制的。如上所述,您可以看到均值和离散之间的反比关系。黑点是根据我们拥有的数据进行的离散估计。每组只有少数 (3-6) 次重复,每个基因的变异估计通常不可靠。

为了解决这个问题,DESeq2 使用一种称为 shrinkage 的方法在基因之间共享信息,以根据基因的平均表达水平生成更准确的变异估计。 DESeq2 假定具有相似表达水平的基因应该具有相似的离散度。蓝点代表缩小的离散值。

dispersion
dispersion

3. 拟合曲线

流程的下一步是将曲线拟合到基因方面的离散估计。将曲线拟合到数据背后的想法是,不同的基因将具有不同规模的生物变异性,但是,在所有基因中,将存在合理的离散估计分布。

Fit curve
Fit curve

这条曲线在下图中显示为一条红线,它绘制了给定表达强度的基因的预期离散值的估计值。每个黑点都是一个基因,具有相关的平均表达水平和离散的最大似然估计 (MLE)(步骤 1)。

Fit curve
Fit curve

4. Shrink

流程的下一步是将基因方面的离散估计缩小到预期的离散值。

Shrink
Shrink

当样本量较小时,该曲线可以更准确地识别差异表达的基因,并且每个基因的收缩强度取决于:

  • 基因离散离曲线有多近
  • 样本量(更多样本 = 更少收缩)

这种收缩方法对于减少差异表达分析中的误报尤为重要。具有低离散估计的基因向曲线收缩,并且输出更准确、更高收缩值用于模型拟合和差异表达测试。这些缩小的估计值代表了确定跨组基因表达是否显著不同所需的组内变异。

略高于曲线的离散估计也会向曲线收缩,以获得更好的离散估计;然而,具有极高离散值的基因则不然。这是由于该基因可能不遵循建模假设,并且由于生物学或技术原因比其他基因具有更高的变异性。向曲线收缩值可能会导致误报,因此这些值不会收缩。这些基因显示在下面的蓝色圆圈中。

Dispersion estimates
Dispersion estimates

这是一个很好的检查方式,以确保您的数据非常适合 DESeq2 模型。您希望您的数据通常散布在曲线周围,散布随着平均表达水平的增加而降低。如果您看到云或不同的形状,那么您可能想要更多地探索您的数据以查看您是否有污染(线粒体等)或异常样本。请注意,对于任何低自由度的实验,在 plotDispEsts() 图中的整个均值范围内收缩了多少。

令人担忧的离散图示例如下所示:

下图显示了离散值云,这些值通常不遵循曲线。这会令人担忧,并表明数据与模型的拟合不佳。

worrisome
worrisome

下图显示离散值最初下降,然后随着较大的表达值而增加。根据我们的预期,较大的平均表达值不应该有较大的离散——我们期望离散随着均值的增加而减小。这表明比预期的更高度表达的基因的变异更少。这也表明我们的分析中可能存在异常样本或污染。

worrisome
worrisome

5. MOV10

让我们看一下 MOV10 数据的离散估计:

# Plot dispersion estimates
plotDispEsts(dds)
MOV10
MOV10

由于我们的样本量很小,因此对于许多基因,我们看到了相当多的收缩。那么我们的数据适合该模型吗?

随着平均表达的增加,我们看到离散度有很好的降低,这是好的。我们还看到离散估计通常围绕曲线,这也是预期的。总的来说,看起来不错。我们确实看到了强烈的收缩,这可能是因为我们的一个样本组只有两个重复。我们拥有的重复越多,对离散估计应用的收缩越少,能够识别的 DE 基因就越多。我们通常建议每个条件至少进行 4 次生物重复,以便更好地估计变异。


欢迎Star -> 学习目录

更多教程 -> 学习目录


本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《野球少年》:王牌投手·棒球联盟

身为一名投手&#xff0c;原田巧是位拥有着拔群棒球才能的少年。在初中入学时移居的山间城镇新田市&#xff0c;巧与接住自己全力投球的捕手永仓豪相遇了。进入新田东中学棒球部的两人&#xff0c;被卷入部员间的摩擦以及教师们的大人事情&#xff0c;时而相互产生冲突&#xf…

喊一声“嘿!GitHub”,说出需求VS Code就能自己写代码了

喊一句“嘿&#xff01;GitHub”&#xff0c;说出你的需求&#xff0c;代码自动来&#xff01; Python中导入pandas库&#xff0c;只需说一句“import pandas”&#xff1a; 长句语音、一连串命令&#xff0c;都不在话下&#xff1a; 嗯&#xff0c;就是和Siri一个味儿&#x…

ETDR 0A 电缆故障测试仪 手持便携式 电缆故障脉冲反射仪 可测30KM

用途&#xff1a; ETDR 10A-3 采用低压脉冲反射技术&#xff0c;用于快速、 精确测试通信或电力电缆的故障距离。 多种测试模式&#xff0c;适用于断线、短路、低阻、间歇性等故障类型&#xff0c;并能测试接头的位置。 使用环路脉冲发生器(ES 2002)可以更容易测试有分支的电缆…

实验五、U_GSQ对共源放大电路电压放大倍数的影响

一、题目 UGSU_{GS}UGS​ 对共源放大电路 A˙u\dot A_uA˙u​ 的影响。 二、仿真电路 共源放大电路如图(ccc)所示&#xff0c;其中MOS场效应管型号为2N7000。 三、仿真内容 图1(a)为2N7000相关的参数&#xff0c;图1(b)为其转移特性&#xff0c;以作为参考&#xff08;需注…

Python + ffmepg + nginx-html-flv实现摄像头的实时播放

Python ffmepg nginx-html-flv实现摄像头的实时播放 这段时间有个项目需要捕获摄像头的画面&#xff0c;做轨迹分析之后再做显示。做了四天的调研&#xff0c;虽然结果我还不是特别满意&#xff0c;但也颇有收获&#xff0c;在这里做一下总结。 整体的结构大概是这样的&…

redis高并发问题以及解决方案

文章目录1.高并发读操作问题1.1缓存穿透1.2缓存击穿1.3缓存雪崩2.高并发写问题2.1数据库双写不一致问题2.2双写不一致问题解决方案2.2.1延时双删2.2.2队列2.2.3分布式锁1.高并发读操作问题 1.1缓存穿透 指访问一个缓存和数据库中都不存在的key&#xff0c;由于这个key在缓存中…

[附源码]Node.js计算机毕业设计大学生心理健康咨询系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

[附源码]Python计算机毕业设计吃到撑零售微商城Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等…

R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析

总览 在这里&#xff0c;我们放宽了流行的线性方法的假设。最近我们被客户要求撰写关于非线性模型的研究报告&#xff0c;包括一些图形和统计输出。有时线性假设只是一个很差的近似值。有许多方法可以解决此问题&#xff0c;其中一些方法可以通过使用正则化方法降低模型复杂性…

计算机网络——应用层

应用层概述 计算机网络各层所解决的问题 我们在浏览器的地址中输入某个网站的域名后&#xff0c;就可以访问该网站的内容&#xff0c;这个就是万维网WWW应用&#xff0c;其相关的应用层协议为超文本传送协议HTTP 用户在浏览器地址栏中输入的是“见名知意”的域名&#xff0c;而…

115-127-mysql-高级篇-索引及结构

115-mysql-高级篇-索引及调优篇&#xff1a; 索引及调优篇 1、索引的数据结构 1. 索引及其优缺点 1.1 索引概述 索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。 **索引的本质&#xff1a;**索引是数据结构。“排好序的快…

Java项目:SSM在线蛋糕商城销售网站项目

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为前后台项目&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 用户角色包含以下功能&#xff1a; 查看所有蛋…

[附源码]Python计算机毕业设计宠物托管系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等…

redis--主从复制、哨兵和cluster集群

一、介绍redis 在Redis中&#xff0c;实现高可用的技术主要包括持久化、主从复制、哨兵和cluster集群&#xff0c;下面分别说明它们的作用&#xff0c;以及解决了什么样的问题。 持久化&#xff1a; 持久化是最简单的高可用方法&#xff08;有时甚至不被归为高可用的手段&…

[网络工程师]-网络安全-数字签名和数字证书

随着《中华人民共和国电子签名法》这部法律的出台和实施&#xff0c;电子签名获得了与传统手写签名和盖章同等的法律效力&#xff0c;这意味着经过电子签名的电子文档在网上传输有了合法性。电子签名并非是书面签名的数字图像化&#xff0c;而是一种电子代码。联合国贸发会的《…

单源最短路径问题——分支限界法(Java)

单源最短路径问题——分支限界法&#xff08;Java&#xff09; 文章目录单源最短路径问题——分支限界法&#xff08;Java&#xff09;1、 前置芝士1.1 分支限界法求解目标1.2 分支限界法引言1.3 分支限界法基本思想1.4 两种典型的解空间树2、分支限界法解题过程2.1 算法要点2.…

java 实现对数据表的备份与还原(备份与还原 到服务器中)

java备份还原表数据 背景 需求&#xff1a;这个功能还是费了我一段时间才完成&#xff0c;大体的需求是这样的。 首先是 分模块&#xff0c;每个模块有不同的几个表&#xff0c;备份的时候就按照模块来备份数据&#xff0c;相当于一次性备份多张表的数据了&#xff0c;模块 和…

攻防世界-baigeiRSA

1.下载附件&#xff0c;得到压缩包&#xff0c;解压得到两个文件。 import libnum from Crypto.Util import number from secret import flagsize 128 e 65537 p number.getPrime(size) q number.getPrime(size) n p*qm libnum.s2n(flag) c pow(m, e, n)print(n %d % …

(已更新)Discuz手机模板:NVBING5-APP手机版,界面美观大方,可封装安卓/苹果APP,模板文件+插件+分类信息导入文件

Discuz手机模板&#xff1a;NVBING5-APP手机版——是一款界面美观大方的完整Discuz手机模板&#xff0c;附带模板插件分类信息导入文件详细的安装说明模块说明。 功能介绍 *支持封装安卓APP、苹果APP&#xff0c;原生微信登录、分享等几十项功能 *支持视频上传至优酷云或本地…

水溶性荧光团磺酸基-花青素Cy7 酪酰胺,Tyramide-Sulfo-Cy7

磺酸基-花青素Cy7 酪酰胺是一种水溶性荧光团&#xff0c;用于近红外光谱部分。由于其结构中存在三亚甲基桥&#xff0c;使其量子产率比其他七甲基菁高。氟化染料是理想的体内成像应用。一个非氟化版本&#xff0c;Cyanine7&#xff0c;也可用。 『英文名称』&#xff1a;Tyram…