[BioC] question about limma ebayes Fit lod score
magates at u.washington.edu
magates at u.washington.edu
Mon Aug 30 22:14:43 CEST 2004
Hello all,
With limma I am confused about the meaning of lods values (ebfit$lods) for an
eBayes Fit Object.
Many of the genes listed as significant by classifyTestsF have negative
ebfit$lods scores, which is what is confusing me.
Associated ebfit$p.values of the genes listed by classifyTestsF are all indeed
smaller than the threshold p.value, as I would expect.
(A plot of log(p.values) vs lods is pretty darn linear, again as I would
expect, just the intercept is shifted by about -8 units.)
My dim understanding of Lods would be that negative numbers are not
significant. Do I misunderstand the meaning of the lods being reported, or has
something gone awry?
As always, thanks for your help.
Michael Gates
some details:
fit <- lmFit(MAb1,design)
ebfit <- eBayes(fit)
results <- classifyTestsF(ebfit,p.value=0.05)
o <- order(ebfit$lods[,3],decreasing=TRUE)
# now filter thru a boolean function that -among other things -
# selects a subset of the significant genes for which the
# interaction effect is significant, but a particular main effect
# is not significant (details below)
s <- myResultsFilter()
# and look at the fits, p.values, results, lods, etc
# of the desired subset of signficant genes
data.frame(
Name=MAb1$genes$Name[o[s[o]]],
Expression=ebfit$coefficients[o[s[o]],3],
P=ebfit$p.value[o[s[o]],3],
Ftest=results05[o[s[o]],3],
LOD=ebfit$lods[o[s[o]],3]
)
myResultsFilter <- function(fitObject=ebfit, resultObject=results,foldDiff=0)
{
# make sure LB is a number
# and that it's larger than the desired fold difference
(!is.na(fitObject$coefficients[,3]) &
(abs(fitObject$coefficients[,3]) > foldDiff)) &
(
# if L is not significant, select significant LB
# that are not significant for B
((resultObject[,1] %in% c(0)) & (resultObject[,3] %in% c(-1,1)) &
(resultObject[,2] %in% c(0))) |
# if L is significant, make sure it and LB go same way,
# and that B is not significant
((resultObject[,1] %in% c(1)) &
(resultObject[,3] %in% c(1)) &
(resultObject[,2] %in% c(0))) |
((resultObject[,1] %in% c(-1)) &
(resultObject[,3] %in% c(-1)) &
(resultObject[,2] %in% c(0))
)
)
}
More information about the Bioconductor
mailing list