理解DESeq2的标准化步骤

作者: 小潤澤 | 来源:发表于2020-12-06 00:03 被阅读0次

    总结

    DESeq2的标准化步骤分为:1.计算标准化因子;2.计算dispersion;3.拟合dispersion曲线 ;4.shrink到曲线附近

    计算标准化因子

    首先是对我们的count矩阵进行标准化处理,每一列sample都对应一个标准化因子,每一列的每一个元素都除以该标准化因子,即完成了标准化
    我们的count data:



    首先我们计算标准化因子:

    type <- factor(c(rep("control",2),c("treat",2)))
    
    dds <- DESeqDataSetFromMatrix(data, DataFrame(type), design= ~ type)
    dds <- DESeq(dds)
    
    dds.sizefactor <- estimateSizeFactors(dds)  
    sizeFactors(dds.sizefactor )
    

    我们可以看到,每一个sample对应的标准化因子,那么每一个sample对应的那一列count值分别除以该标准化因子后,即得到标准化后的矩阵

    估计离散值(dispersion)

    由于我们的数据每一个处理都有若干个生物学重复,那么我们需要考虑组内(相同处理内)的一个离散程度,这里定义为离散度dispersion
    离散度的定义式:


    其中 α 即为 dispersion,var为组内方差,μ为组内平均表达量
    由上式可知,方差增加,离散增加;平均表达量增加,离散减少
    那么如何求解 dispersion呢?

    拟合dispersion


    根据上面所述,我们分别求出每个基因在各个处理之中平均表达量与对应的dispersion之间的散点图,并通过极大似然法拟合出曲线。上图为某处理中某处理各基因的离散度与平均表达量的散点图

    收缩

    这一步收缩(shrink)是因为DESeq2认为具有相似表达水平(相似平均表达量)的基因应该具有相似的离散度。



    因此离散在红色拟合曲线上下的基因需要收缩到红色拟合曲线附近,以保证具有相似表达水平(相似平均表达量)的基因应该具有相似的离散度。这样矫正之后,DESeq2才继续进行建模,来计算差异表达基因

    可以利用DESeq2软件的 lfcShrink() 函数实现收缩(shrink),收缩后的log2FC可能更好看一些,并不受极端值的影响

    相关文章

      网友评论

        本文标题:理解DESeq2的标准化步骤

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