美文网首页StatQuest学习笔记分享
12高通量测序-DESeq2文库标准化

12高通量测序-DESeq2文库标准化

作者: 不到7不改名 | 来源:发表于2021-01-17 10:24 被阅读0次

DESeq2文库标准化

问题1:调整文库大小的差异

样本1的read是样本2的一半,样本2中每个基因的read是样本1的两倍。这种差异不是生物学造成的,而是测序深度造成的。RPKM,FPKM,TPM和CPM都处理这个问题。

image-20210105152717127.png

问题2:调整文库组成的差异

RNA-seq(和其他高通量测序)经常被用来比较一种组织类型和另一种组织类型。例如,肝脏vs脾脏。这可能是因为肝脏中转录有很多肝脏特异性基因,而脾脏中却没有。这是一个不同的文库组成(library composition)的例子,你也可以想象,如果你敲除一个转录因子,在同一种组织类型中,你会发现不同的文库组成。

在这个例子中,两个文库有相同的大小(read),现在,假设所有基因的表达都是一样的,只有一个例外。假设只有样本1转录A2M, 这意味着样本1中A2M消耗掉的563个reads,这563reads将会分布到样本2中的其他基因上。在样本2中,除了A2M之外,所有的reads都非常高。然而,唯一的差异表达基因是A2M。

image-20210105153817941.png

上传失败...(image-dfdecb-1610511799293)

编写DESeq2(和edgeR)的人意识到他们的工具将用于各种类型的数据集,所以他们希望他们的标准化去处理:

  • 问题1:调整文库大小的差异

  • 问题2:调整文库组成的差异

我们将从一个小数据集开始,说明DESeq2如何缩放(scale)不同的样本。目标是为每个样本计算一个标准化因子(scaling factor)。标准化因子必须考虑到read depth和library composition。

第一步:对全部值取log

  • DESeq2使用了log(“以e为底的log”)

  • DESeq2可以使用log2或log10,但在R中loge默认值。

  • 注意log(0) =-∞,这是因为R定义log(0)等于-∞。

第二步:每行取平均值

  • 任何时候你把一个数字加到无穷(或-无穷)你会得到无穷(或-无穷),这就是为什么这是负无穷。因为Gene1是负无穷,所以平均值也是负无穷。

  • 对数值的平均值有一件很酷的事情,那就是这个平均值不容易被异常值所影响。同理,我们可以看Gene3,存在异常值,取对数后,影响减小。

image-20210105155548099.png

第三步:过滤掉值为负无穷的基因

  • 一般来说,这一步在一个或多个样本中过滤掉read为零的基因。

  • 如果你在比较肝脏和脾脏,这将去除所有只在肝脏(或脾脏)转录的基因。

  • 理论上,这有助于将标准化因子集中在管家基因上——无论组织类型如何,基因转录水平都是相似的。

第四步:从log(counts)中减去平均对数值

  • 我们要检查的是每个样本读取数与所有样本均值的比。
image-20210105160529142.png
image-20210105160310632.png

第五步:计算每个样本比的中位数(median)

  • 注意:使用中位数是另一种避免极端基因在一个方向上过度影响的方法

  • 表达差异较大的基因对中位数的影响并不比表达差异较小的基因大,因为具有巨大差异的基因极有可能是罕见的,因此,这种效应会给差异较小的和“管家”基因带来更大的影响。

第六步:将中位数转换为“正态数”,得到每个样本的最终的标准化因子

  • 这些是对数值,所以它们是指数(这里是e的指数)

  • 太棒了! !我们有三个样本的标准化因子,现在我们要做的就是把原始的reads除以它们。

image-20210105161816057.png

第七步:将原始reads除以标准化因子

image-20210105162034553.png

相关文章

网友评论

    本文标题:12高通量测序-DESeq2文库标准化

    本文链接:https://www.haomeiwen.com/subject/hzduaktx.html