[BioC] Covariate for batch effect removal by ComBat

Atul Kakrana atulkakrana at outlook.com
Mon Jun 10 19:42:52 CEST 2013


Hi Everybody,

I am analysing Illumina micro-array data and seem to have batch effects
(plots attached) in my data. For batch effect removal I am using Combat
from 'sva' package. This is my sample info file:

Array.name    Sample    Stage    Condition    Batch
P4_A    1    P4    Test    1
P4_B    2    P4    Test    1
P4_C    3    P4    Test    1
P30_A    4    P30    Test    1
P30_B    5    P30    Test    1
P12_A    6    P12    Test    2
P12_B    7    P12    Test    2
P52_A    8    P52    Test    2
P52_B    9    P52    Test    2
CON_A    10    Mix    Con    2
CON_B    11    Mix    Con    2
P8_A    12    P8    Test    2
P8_B    13    P8    Test    2
P20_A    14    P20    Test    2
P20_B    15    P20    Test    2
P42_A    16    P42    Test    2
P42_B    17    P42    Test    2


The data is from a time-series experiment and numbers in 'Array.name'
correspond to age at which samples harvested. None of the time point is
repeated again in any of the batch For ex. P4 is in batch 1 and never
repeated again. I have few questions about implementation of ComBat.

1. Which column should be used for co-variates. I am confused between
'Stage' and 'Condition'? Or should I use 'Condition' as covariates and
'Stage' as Continuous variables (numCovs)?

2. The adjustment, parametric or non-parametric?

Here is my Code:

IL.pheno <- read.table('PhenoData.csv', sep =',', header = T)##
PhenoData is same as sample info above
batch = IL.pheno$Batch
edata <- exprs(esetLumi.Reduced.AB)
mod = model.matrix(~as.factor(Condition), data=IL.pheno)
combat_edata = ComBat(dat=edata, batch=batch, mod=mod, numCovs=NULL,
par.prior=TRUE, prior.plots = TRUE)

##Fitting back to expression set
exprs(esetLumi.Reduced.AB) <- combat_edata


I appreciate your help.

Best

AK



More information about the Bioconductor mailing list