[BioC] LPE error caused by gcRMA [Error invar.M.adap[i] <- ifelse(!is.na(var.M.adap[i - 1]), mean(var.M.adap[i + : replacement has length zero]

Wolfgang Huber huber at ebi.ac.uk
Wed Nov 12 10:48:14 CET 2008

Dear Jean
thanks for the explanations!

> Dear gcrma users,
>  The reason for LPE error following gcrma is because gcrma shrinks some 
> values to the same lower bound, if it appears to be indistinguishable 
> from background distribution. In earlier versions of gcrma, the 
> GSB.adjust step was performed on all probes after background adjustment, 
> and since GSB.adjsut is slightly different array to array, the final 
> values for each gene will not be identical even if the gene appears to 
> be not expressed.
>   In recent versions we stopped performing GSB.adjust for those values 
> that appear to be indistinguishable from background (thus have no 
> specific binding), following the suggestion in the paper by Lim et al 
> (omparative analysis of microarray normalization procedures: effects on
> reverse engineering gene networks, Bioinformatics 2007 23(13)).
>   I do not think it is an error or something that should be avoided to 
> have identical values for some genes across all samples: if these genes 
> or targets appear to be well within background in all samples, then 
> probably the best thing to do is to acknowledge that their specific 
> signal is 0 in all samples. In gcrma we used a small lower bound instead 
> of 0 to avoid -inf in log transformation.
>  Maybe LPE can have a check on 0 sample variance it has trouble handling 
> genes with 0 variance right now. 

this would only work if the gene's value is shrunk to that magic minimal 
number for all arrays - and would not if shrunk for some but not for 
other arrays.

> Or, possibly a prior on variance 
> distribution can be introduced?

That might seem reasonable, yet perhaps isn't it a little convoluted to 
first shrink your estimate (in gcrma, using a heuristic) and then ask 
people to blow it up again (in virtually all subsequent differential 
expression computations, like LPE), using another heuristic.

In particular, since the additive-multiplicative error model of Rocke 
and Durbin has proven to be extremely useful in for microarray data, 
wouldn't it be better to use that, and then properly propagate the 
estimated uncertainty from there, rather than asking LPE et al. to make 
up ad hoc uncertainty estimates?

Best wishes

Wolfgang Huber, EMBL-EBI, http://www.ebi.ac.uk/huber

> best wishes
> Jean Wu
> Wolfgang Huber huber at ebi.ac.uk
> Tue Nov 4 11:47:28 CET 2008
>     * Previous message: [BioC] converting MA to a text file
>     * Next message: [BioC] LPE error caused by gcRMA [Error in 
> var.M.adap[i] <- ifelse(!is.na(var.M.adap[i - 1]), mean(var.M.adap[i + : 
> replacement has length zero]
>     * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> Dear Charlie,
> I agree a lot with you that this is troublesome... but I would be
> interested in discussing
> (i) do you (and others) consider this an "error", or rather "bad
> behaviour" or "poor performance"?
> (ii) and is it gcrma, or LPE that errs or poorly performs?
> (iii) and are any of the maintainers of these packages interested in
> these questions?
> Best wishes
>  Wolfgang

More information about the Bioconductor mailing list