Combat generating negative values, should I log2 transform first?
1
0
Entering edit mode
Ahdee ▴ 50
@ahdee-8938
Last seen 18 months ago
United States

Hi All, 

I've been using the combat function from the SVA module to try and correct a batch effect. I have two groups but was however done at different time points.   here is an example of how I did it. I first dummy coded time into 1 and 2 and called this timebatch.  

------------------------------------------------------------------------------------------

pheno1<-read.table(file='batchfile.csv',sep=',')
batch=pheno1$timebatch

modcombat = model.matrix(~1, data=pheno1)
combat_edata = ComBat(dat=RAWsignal, batch=timebatch, mod=modcombat, par.prior=TRUE, prior.plots=FALSE)

------------------------------------------------------------------------------------------

this works however it produces negative results in some of the cells and as such I cannot log2 transform some of the rows.  My question is should I log2 transform first then use the Combat function, and then quantile normalize, follow by a a linear design with limma?  Is this appropriate or is there something else I can do?  thanks in advance. 

 

Ahdee

 

 

 

 

combat batch effect • 4.9k views
ADD COMMENT
1
Entering edit mode
@w-evan-johnson-5447
Last seen 9 days ago
United States
Ahdee, Its probably best to use ComBat on logged data. ComBat assumes that the data symmetric and bell-shaped. If you are still getting negative values, you can set anything negative to 0. Evan On Oct 12, 2015, at 8:13 PM, Ahdee [bioc] <noreply@bioconductor.org<mailto:noreply@bioconductor.org>> wrote: Activity on a post you are following on support.bioconductor.org<https: support.bioconductor.org=""/> User Ahdee<https: support.bioconductor.org="" u="" 8938=""/> wrote Question: Combat generating negative values, should I log2 transform first?<https: support.bioconductor.org="" p="" 73266=""/>: Hi All, I've been using the combat function from the SVA module to try and correct a batch effect. I have two groups but was however done at different time points. here is an example of how I did it. I first dummy coded time into 1 and 2 and called this timebatch. ------------------------------------------------------------------------------------------ pheno1<-read.table(file='batchfile.csv',sep=',') batch=pheno1$timebatch modcombat = model.matrix(~1, data=pheno1) combat_edata = ComBat(dat=RAWsignal, batch=timebatch, mod=modcombat, par.prior=TRUE, prior.plots=FALSE) ------------------------------------------------------------------------------------------ this works however it produces negative results in some of the cells and as such I cannot log2 transform some of the rows. My question is should I log2 transform first then use the Combat function, and then quantile normalize, follow by a a linear design with limma? Is this appropriate or is there something else I can do? thanks in advance. Ahdee ________________________________ Post tags: combat, batch effect You may reply via email or visit Combat generating negative values, should I log2 transform first?
ADD COMMENT

Login before adding your answer.

Traffic: 481 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6