总目录:
- 数据预处理
- limma包进行差异分析
- edgeR包进行差异分析
- DESeq2包进行差异分析
- 三大R包比较
1.输入数据比较
edgeR: 原始的count矩阵,支持单个样品和重复样品
DESeq2: 原始的count矩阵(htseq-count),只支持重复样品
limma: 原始的count矩阵(需自己标准化,一定要log化)、经过标准化的矩阵或芯片数据,只支持重复样品
注: 无重复RNAseq样本推荐使用Gfold软件进行分析
2.性能比较
导入数据
load('edgeR_diff.Rdata')
edgeR<-diff_signif
load('limma_diff.Rdata')
limma<-diff_signif
oad('deseq2_diff.Rdata')
deseq2<-diff_signif
差异基因数目比较
dim(deseq2)
dim(limma)
dim(edgeR)
edgeR: 得到基因数目最多
DESeq2: 得到基因数目适中
limma: 得到基因数目最少
差异基因一致性比较
library('VennDiagram')
data=list(DEseq2=rownames(deseq2),edgeR=rownames(edgeR),limma=rownames(limma))
ve<-venn.diagram(data,filename = NULL,fill=c('red','yellow','blue'))
grid.draw(ve)
结论:
三个R包得到的差异基因数目差别不是很大
edgeR包和DEseq2包得到的差异基因更加相似
limma包得到的差异基因准确率最高(其他两个R包不能得到的差异基因数量最少,只占总数的2%),但假阴性高(实际差异结果不差异)
edgeR包能得到更多的差异基因,但假阳性高(实际不差异结果差异)
运行速度比较
计算从导入数据(16610基因,8样本)到差异分析结束所需要的时间
limma: 3.944069 secs
edgeR: 5.882637 secs
DEseq2: 10.55145 secs
由此可见limma分析速度最快,DEseq2分析速度最慢
最后明确一个问题,三大R包用的什么标准化值来做的差异分析?他们用的是自己的标准化值。 那我想要用RPKM FPKM怎么办?自己算!
————————————————
原文链接:https://blog.csdn.net/weixin_45161743/article/details/103536523