sva ComBat去除GEO數(shù)據(jù)批次效應(yīng)

批次效應(yīng)

批次效應(yīng)是測(cè)量結(jié)果中的一部分,它們因?yàn)閷?shí)驗(yàn)條件的不同而具有不同的表現(xiàn)形式,并且與我們研究的變量沒(méi)有關(guān)系。不同平臺(tái)的數(shù)據(jù),同一平臺(tái)的不同時(shí)期的數(shù)據(jù),同一個(gè)樣品不同試劑的數(shù)據(jù),以及同一個(gè)樣品不同時(shí)間的數(shù)據(jù)等等都會(huì)產(chǎn)生一種 batch effect。校正批次效應(yīng)的目的是減少batch之間的差異,從而更好的獲取不同生物學(xué)狀態(tài)之間的差異。

載入包、GEO數(shù)據(jù)

數(shù)據(jù)為GEO芯片與RNAseq數(shù)據(jù)。

BiocManager::install("sva")
BiocManager::install("bladderbatch")
library(sva)
library(bladderbatch)
load("GeoData.rda")
#原始數(shù)據(jù)
FPKM[1:5,1:5]
                GSE102746_UC_1 GSE102746_UC_2 GSE102746_UC_3 GSE102746_UC_4 GSE102746_UC_5
ENSG00000008300       0.795651       12.74320        12.8748       0.296484        1.70187
ENSG00000044574      83.731600      167.95100        29.3973      85.368700       49.98990
ENSG00000067082      78.742500      130.74000        64.4235      68.536000       80.07060
ENSG00000071575       9.407460        8.30127        30.0466       9.541390        7.68865
ENSG00000089159      29.575000       59.32220        17.5021      27.272200       22.99260
#批次信息
sample_infor[1:5,]
                  sample_name  GSE_name Batch_GSE data_type disease
GSE102746_UC_1 GSE102746_UC_1 GSE102746         1 test_data      UC
GSE102746_UC_2 GSE102746_UC_2 GSE102746         1 test_data      UC
GSE102746_UC_3 GSE102746_UC_3 GSE102746         1 test_data      UC
GSE102746_UC_4 GSE102746_UC_4 GSE102746         1 test_data      UC
GSE102746_UC_5 GSE102746_UC_5 GSE102746         1 test_data      UC

PCA可視化不同GEO數(shù)據(jù)

library("FactoMineR")
library("factoextra")
pca.plot = function(dat,col){

  df.pca <- PCA(t(dat), graph = FALSE)
  fviz_pca_ind(df.pca,
               geom.ind = "point",
               col.ind = col ,
               addEllipses = TRUE,
               legend.title = "Groups"
  )
}
pca.plot(FPKM,factor(sample_infor$GSE_name))
image.png

批次校正

#設(shè)置model(可選)
mod = model.matrix(~as.factor(disease), data=sample_infor)
#校正其實(shí)就一步
combat_FPKM <- ComBat(dat = as.matrix(log2(FPKM+1)), batch = sample_infor$Batch_GSE,mod = mod,
                            par.prior = F)
pca.plot(combat_FPKM,factor(sample_infor$GSE_name))

經(jīng)校正后不同批次處于同一水平上,校正前后具有明顯差異


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容