GEO芯片联合分析批次校正combat/limma

批次校正的原因和方法

校正批次效应这篇说可以用combat来进行批次校正
校正批次效应这篇说limma和combat都可以
ComBat or removebatcheffects via limma package这里说最好不要用combat进行批次校正,应该选择limma包的removebatcheffects()
好的,那我用limma,然而新的问题又出现了:
是先组间校正还是先批次校正?

limma还可以用来做RNA-seq的normalizationvoom

这篇好像可以回答
芯片数据的标准化方法
惊觉自己好像弄混了RNA-seq和芯片的normalization
DNA微阵列(基因芯片)简介
芯片校正原理

如何用limma进行批次校正

y <- matrix(rnorm(10*9),10,9)
y[,1:3] <- y[,1:3] + 5
batch <- c("A","A","A","B","B","B","C","C","C")
y2 <- removeBatchEffect(y, batch)
par(mfrow=c(1,2))
boxplot(as.data.frame(y),main="Original")
boxplot(as.data.frame(y2),main="Batch corrected")
批次校正结果

看起来似乎还需要组间校正?

combat与limma对比

combat

首先按照果子老师的帖子进行批次校正,校正后聚类,因为之前上课做组间校正用了boxplot,也好奇批次校正后有什么区别

校正前后

好像没有太大区别,稍微集中了一些

limma

before <- edata
batch <- pheno$batch
after <- removeBatchEffect(edata, batch)
par(mfrow=c(1,2))
boxplot(as.data.frame(before),names = F,main="Original")
boxplot(as.data.frame(after),names = F,main="Batch corrected")

limma_batchcorreted

boxplot看不出差别

聚类对比

combat vs limma

好像combat的错误更少一点

分析流程

暂时理解:

  1. 首先对一个GSE芯片数据进行组间校正
  2. 数据normalization
  3. 将不同GSE合并,再做批次校正?

不知道怎么搞啊

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容