voom: precision weights unlock linear model analysis tools for RNA-seq read counts
标准化方式
首先在定义cpm的时候,作者利用如下公式进行计算
其中,我们在进行普通RNA-seq的时候通常会有n个sample,G个基因,那么r(gi),g = 1—G代表基因数目,i = 1—n代表样品数目,所以r(gi)即为第i个样品中第g个基因的count数
所以R(i)表示了对于每一个样本来说,它们所有基因的count总数量,也可以理解为每个文库的大小
最后的y(gi)即代表了第i个样品中第g个基因的cpm值
假设定义λ为r(gi)的均值,我们经过数学上的变化得到上图的式子 ,其中当r 比较大的时候,我们可以得到这个约等式子(个人推测是拟合得到的):
接下来有关近似处理,即var(y) = var(log2(r)) ,意思是当我取y的方差时,var(log2(R))忽略不计 ,var(6log2(10))为0
最后根据方差的线性性质结合泰勒公式就可以完美推出结果
作者做了一个关于每个基因表达水平和生物学重复间方差的关系图,其中横坐标表示每一个基因在相同处理中,各生物学重复count均值的对数值;纵坐标表示该基因在各生物学重复count的标准差
这几幅图主要描绘了每个基因在不同生物学重复简单均值和标准差之间的关系,可以了解到,随着count数的增大,该基因各生物学重复(这里指的是相同处理的生物学重复)的标准差在下降
也就是说,count值越大,某基因在各生物学重复间的波动就越小
标准化
由于voom采用的是cpm来进行定量的,所以在面对不同文库深度的数据时,影响不是很大
回顾下:
对于不同文库的不同的R(i)来说,r(gi) / R(i) 也就消除了由于文库深度所带来的影响。但是采用cpm会导致另外一个问题,即无法消除基因长度所带来的影响