Question: ComBat error: "The covariate is confounded with batch! "
0
3 months ago by
United States
sharvari gujja20 wrote:

Hi,

I am trying run ComBat on methylation data to correct by plate and using experimental group as cancer type.

However, I get an error

> mMat = model.matrix(~as.factor(cancer), data=pheno) cbMat =
> ComBat(dat=as.matrix(hmMat), batch=pheno$plate, mod=mMat, > par.prior=TRUE, prior.plot=F) Found29batches Note: one batch has only one sample, setting mean.only=TRUE Adjusting for1covariate(s) or covariate level(s) Error in ComBat(dat = as.matrix(hmMat), batch = pheno$plate, mod = mMat,  :
The covariate is confounded with batch! Remove the covariate and rerun ComBat


Looking at the source code from where the error is thrown, the values for ncol(design) and n.batch are:

> ncol(design) [1] 31
> (n.batch+1) [1] 30

These two values are not equal. The breakdown for the cancers by plate is:

p1   p2  p3  p4  p5  p6  p6  p8  p9  p10 p11 p12 p13 p14 p15 p16
cancer1 2   5   8   1   6   32  16  4   0   26  16  0   0   4   0   0
cancer2 0   0   0   0   0   0   0   0   29  0   0   22  19  0   39  24

p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29
cancer1 0   0   0   0   0   0   0   0   0   0   0   0   1
cancer2 36  39  10  15  24  26  11  60  39  33  24  55  0


Thanks Sharvari

#combat • 95 views
written 3 months ago by sharvari gujja20

The error is pretty clear: non of your plates have a mix of your covariate (i.e. cancer type). So your only option is to run ComBat without accounting for cancer type.