[BioC] Problem with limma backgroundCorrect function

michael_kirk at wmi.usyd.edu.au michael_kirk at wmi.usyd.edu.au
Wed Dec 15 04:06:39 CET 2004

I recently started to use the backgroundCorrect function in limma
with the "normexp" method, as suggested in the user guide so as to
avoid the problem of zero or negative intensities. When analyzing
a set of about a dozen arrays, one of them ended up with NA M values
for every gene after the call to backgroundCorrect.

Looking at the code it transpires that backgroundCorrect calls
fit.normexp (when method="normexp"), and the code for fit.normexp
contains the following:

    sigma <- sqrt(mean((f[f < mu] - mu)^2, na.rm = TRUE))
    if (!is.infinite(sigma) || sigma < 1) 
        sigma <- 1

I.e. sigma is set to 1 unless it is +Inf, which I suspect might
not be what was intended.  Removing the ! from is.infinite as a
test, and reanalysing the array which got set to all NAs, I do
get reasonable looking numbers back (not all NAs). 

If this is a bug, I wonder what effect would it have had on other
data - would all data analyzed with backgroundCorrect in this way
be compromised?


More information about the Bioconductor mailing list