[BioC] Re: expresso and warnings (was: RE: Bioconductor digest, Vol 1 #208 - 2 msgs)

Laurent Gautier laurent@cbs.dtu.dk
Thu, 23 Jan 2003 07:38:00 +0100


On Tue, Jan 21, 2003 at 05:38:22PM -0500, Rafael A. Irizarry wrote:
> the function fit.li.wong operates on a matrix representing a probe 
> set and returns a list. there are two components having to 
> do with convergence: convergence1 (algorithm didnt converge after maxit 
> iterations) and convergence2 (too many outliers). expresso does not return 
> these but it shouldnt be too hard to tweak.

It may be not very straightforward to do for some.

Here is my two-pennies bit:

'expresso' calls the method computeExprSet for AffyBatch.
It currently only returns warnings for genes for which an error
occur during the computation of an expression value... or is supposed
to do so... I do not think it is really working the way it should.
I have been playing a bit with that but never found the time to finish
it up. I currently have the following (copy/paste or source the code
attached to patch your install. this is not yet in devel as I need to
check if this does not break other parts of the code).
Note that the 'gene.warnings' list returned by computeExprSet should go
somewhere in the MIAME attribute when used with expresso... along with other
 things (normalization methods can also be talkative about what they are doing.
there was a big rush just before the release last time and those parts
of the code were commented out. Everything should be done in due time for the next one (hopefully)).


Once you patched your version, computeExprSet returns a list with the attributes
'exprSet' (the exprSet like before) and 'pps.warnings'.
One way to do what you want is to do:

## ---------------------------------
# make sure your AffyBatch object has a 'phenoData' defined
# (important to avoid the "warning")
abatch <- bg.correct(abatch, method=<whatever>)
abatch <- normalize(abatch, method=<whatever>)

## make all warnings fatal
## (only do that now to avoid possible warnings when
##  normalizing or correcting the bg to be fatal)
options(warn=2)

eset <- alt.computeExprSet(abatch, bgcorrect.method=<whatever>, summary.method=<whatever>)

## get the IDs of the ones for which a warning/error was encountered
is.trouble <- unlist(lapply(eset$pps.warnings, function(x) identical(x, "Error")))

## dump them
geneNames(eset$exprSet)[is.trouble]

## redo the job for them (as they are currently 'NA').
options(warn=1)
eset.trouble <- alt.computeExprSet(abatch, pmcorrect.method=<whatever>, summary.method=<whatever>, ids=geneNames(eset$exprSet)[is.trouble])

## note: as long as you do not compare expression levels between each others
## (which is to be done with extreme caution (or more generally to 
## avoided) anyways), you may want to substitute the method you used by
## an another one (give a try to "playerout" for ex. It's slow but bearable with
## a limited number of genes). 
## -----------------------



Hopin' it helps,



L.



> On Tue, 21 Jan 2003, Aaron Aragaki wrote:
> 
> > Howdy
> > 
> > I have a question stemming from Laurent's response to Wei's question (21Jan03). 
> > 
> > Here's a quick recap:
> > 
> > WEI'S PROBLEM:  He gets convergence warnings when performing a dchip normalization.
> > eset<-expresso(affybatch,normalize.method="invariantset", bg.correct=F, pmcorrect.method="pmonly",summary.method="liwong") 
> > 1: No convergence in inner loop after 50 in outer .............
> > 
> > LAURENT'S RESPONSE:
> > "You may want to take note of these genes and be extra-careful with them in your analysis."
> > 
> > MY QUESTION:
> > How do I extract the names of genes that are associated with the non-convergence?
> > i.e., Is there a function that will produce a list of gene (that i need to be "extra-careful with") from the expresso object, eset?
> > 
> > Thanks
> > 
> > Aaron
> > 
> > Aaron K. Aragaki 		
> > Statistical Research Associate
> > Women's Health Initiative, Fred Hutchinson Cancer Research Center
> > 206-667-6734
> >      fax:  4142
> > 
> > http://www.whi.org
> > http://www.fhcrc.org
> > 
> > _______________________________________________
> > Bioconductor mailing list
> > Bioconductor@stat.math.ethz.ch
> > http://www.stat.math.ethz.ch/mailman/listinfo/bioconductor
> >
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor@stat.math.ethz.ch
> http://www.stat.math.ethz.ch/mailman/listinfo/bioconductor