edgeR/DESeq2
1. 标准化:library size/composition
edgeR
1. 过滤低表达的基因
仅保留在两个样品或更多样本中CPM>1的基因
CPM=Reads/(total reads in the sample/1,000,000)
问题:会受到测序深度的影响
2. 选择一个the most average sample作为reference sample
1. 对于每一个sample
1. 除以size做normalization
2. 选择top25%的基因表达值(75%的基因表达<=这个值)
2. 对上述取平均值,最接近这个平均值的sample就是reference sample。
3. 对于非reference sample,分别计算scale factor
1. 选择gene list
1. biased genes:log fold change ,过滤掉top/down 30%
2. highly/lowly transcribed in both samples:geometric mean,过滤掉top/down 5%
3. 取交集
2. 对log2计算加权平均
1. scale factor = 2 ^ (weighted average of log2 ratios)
4. 对于所有sample的scale factors,center后得到最后的scale factor
DESeq2:
1. 去掉不表达或者只在一个sample表达的基因
DESeq2查看某个基因所有样本均一化read的平均值
2. Log e (defalut:e为底)
3. 为每一个基因
1. 计算平均值
2. 每一个值减去平均值
4. 为每一个sample计算median
5. 将median还原成normal number,得到最终的scale factor
2. 根据模型求p-value
一般而言,样本间的变异系数(coefficient of variance,CV)是由两部分组成的,一是技术差异(Technical CV),另一个是生物学差异(Biological coefficient of variance,BCV)。前者是会随着测序通量的提升而消失的,而后者则是样本间真实存在的差异。所以,对于一个基因g而言,它的BCV在样本间足够大的话,就可以认为基因g是一个差异表达基因。
拟合负二项广义对数线性模型,如果某个基因的表达值偏离分布模型,那么该基因为差异表达基因。
为什么使用负二项分布而不是泊松分布?
overdispersion: 真实数据的分布偏离泊松分布(方差=均值),方差明显比均值大
edgeR和后期的DeSeq2使用负二项式广义模型中的NB2模型
早期的DeSeq2:the variance is determined by the smoothed function f of the mean
3. p-value矫正
BH等
参考资料:
1. [Gene expression units explained: RPM, RPKM, FPKM, TPM, DESeq, TMM, SCnorm, GeTMM, and ComBat-Seq](https://www.reneshbedre.com/blog/expression_units.html)
2. statquest: DeSeq2/edgeR共三个视频
3. [广义典型相关分析_广义线性模型(GLM)概述及负二项回归应用举例和R计算_weixin_39629467的博客-CSDN博客](https://blog.csdn.net/weixin_39629467/article/details/111341514)
4. [17. 负二项式模型 — 张振虎的博客 张振虎 文档](https://zhangzhenhu.github.io/blog/glm/source/%E8%B4%9F%E4%BA%8C%E9%A1%B9%E6%A8%A1%E5%9E%8B/content.html)