差异表达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(上)的主要内容,如果未能解决你的问题,请参考以下文章

limma、DESeq2、edgeR差异分析及绘制韦恩图

差异表达1|edgeR和DeSeq2

limma, edgeR, deseq2,genefilter计算差异R包的foldchange方法差别

转录组差异分析流程三大R包比较

R语言DESeq2基因差异表达分析

差异表达3|MaGeck