批次校正的原因和方法
校正批次效应这篇说可以用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的错误更少一点
分析流程
暂时理解:
- 首先对一个GSE芯片数据进行组间校正
- 数据normalization
- 将不同GSE合并,再做批次校正?
不知道怎么搞啊
网友评论