差异表达edgeR,limma(上)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了差异表达edgeR,limma(上)相关的知识,希望对你有一定的参考价值。
参考技术A 为了方便起见,直接选用 airway 的数据作为训练数据使用 symbol_id 为y命名,并对重复的 symbol_id 与 ensembl_id 结合以防止重复id
进行后续处理一般都不会用raw counts的,因为存在测序深度、文库大小的差别,这样的结果是不准确的
一般的做法是:利用标准化算法,如CPM(counts per million), log-CPM (log2-counts per million), RPKM (reads per kilobase of transcript per million), FPKM(fragments per kilobase oftranscript per million)等去除文库大小、深度的影响。和RPKM、FPKM不同的是,CPM和log-CPM不需要考虑feature length的差异,也就是说基因长度在统计时被当成常数,只考虑不同处理下的不同,而不会受长度的影响
cpm使用 cpm() 函数;RPKM使用 rpkm 函数,都属于edegR
所有数据集都会存在一些检测不到的基因或者表达很少的基因,这些基因对于后续分析来说不仅对结果没有影响,还会增加下游分析的计算量,所以我们需要设计一定的阈值将这些基因去除
首先看一下表达量为0的基因
过滤基因:标准就是lcpm在所有样本表达量的平均值大于0,也就是cpm大于1
对于 edgeR 来说,进行差异表达时为什么需要counts矩阵呢,因为 edgeR 有自己的标准化步骤, edgeR 使用TMM(trimmed mean of M-values)算法,利用edgeR中函数 calNormFactors()
标准化用到的normalisation factors 就在DEGList中的 x$samples$norm.factors
如何检查是否标准化,可以做一个箱线图显示
以上是关于差异表达edgeR,limma(上)的主要内容,如果未能解决你的问题,请参考以下文章