[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