美文网首页生信思路
一分钟搞懂 quantile normalization

一分钟搞懂 quantile normalization

作者: 生信云笔记 | 来源:发表于2024-02-02 10:45 被阅读0次

      最近学习了一个适用于CUT&RUNCUT&Tag文库大小矫正的方法,数据标准化过程用到了Quantile Normalization,记忆力有限需要动手记录一下。

      Quantile Normalization (分位数标准化) 可以将样本间的不同分布映射到同一种分布,从而消除分布差异便于样本间的比较。

      其主要思想是通过对每个样本进行排序、均值、映射,使得所有样本在每个位置上都具有相同的分布。下面来看看具体的过程。

      从原始矩阵出发:

      首先,样本基因表达值排序并保留排序位置:

      这一步相当于生成了两个新的矩阵,左边是样本内基因排序的矩阵,右边是基因在排序后的位置矩阵。

      接着,对表达值排序矩阵的每一行求平均值:

      最后,根据位置矩阵和行均值生成最终的结果矩阵:

      填充时根据基因在样本内的排序位置,从行均值里面找到对应行的值做为基因的表达值,如gene2在样本sample1的排序位置为5,则行均值的第5行的18.6即为gene2的表达值。

      当然,quantile normalization的过程无需自己动手写代码来实现,在R里面有可用的包来做这个事,如下面用preprocessCore包的函数来完成:

    >library(preprocessCore)
    
    >data
          sample1 sample2 sample3 sample4 sample5
    gene1       3      16      13       4      18
    gene2      17       2      11      13       2
    gene3      14      10       8      11       5
    gene4       4      20       3      18      17
    gene5      15      11      20      16      12
    
    >normalize.quantiles(as.matrix(data))
         [,1] [,2] [,3] [,4] [,5]
    [1,]  2.8 15.4 15.4  2.8 18.6
    [2,] 18.6  2.8 12.2 12.2  2.8
    [3,] 12.2  7.6  7.6  7.6  7.6
    [4,]  7.6 18.6  2.8 18.6 15.4
    [5,] 15.4 12.2 18.6 15.4 12.2
    

      搞懂了Quantile Normalization的原理及作用,下一个重要的问题就是适用于什么场景?没有最适合只有更适合,也许只有通过实践才知道答案。

    往期回顾

    奇怪!Input信号高于IP
    常见组蛋白修饰要点汇总
    打包2023,迈向2024
    ChIPseeker | 详解annotatePeak的三种注释方式
    macs2 | model vs nomodel

    相关文章

      网友评论

        本文标题:一分钟搞懂 quantile normalization

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