[BioC] Re: Bug in normalizeBetweenArrays, method="Rquantile"

Gordon Smyth smyth at wehi.edu.au
Thu Dec 9 03:16:33 CET 2004


At 07:52 AM 8/12/2004, Marcus Davy wrote:
>Gordon,
>the M values for the Rquantile normalization are incorrect,

You're right, well spotted. I have fixed this, and made some other changes 
to Rquantile and Gquantile normalization to ensure the results agree with 
the documentation. Fixes in limma 1.8.13.

Gordon

>  the code is currently calculating M as
>
>M = M - E
>     = (R - G ) - (qR - R)                   - qR is quantile normalized R 
> channel, R and G are log channel intensities
>     = 2R -G -qR
>
>Quick fix is to change the sign on line 61 of the code chunk :
>
>  Rquantile = {
>         R <- object$A + object$M/2
>         E <- normalizeQuantiles(R, ...) - R
>         object$M <- object$M - E                     # wrong sign
>         object$A <- object$A + E/2
>     }
>
>to
>
>   Rquantile = {
>         R <- object$A + object$M/2
>         E <- normalizeQuantiles(R, ...) - R
>         object$M <- object$M + E                    # sign change
>         object$A <- object$A + E/2
>     }
>
>then M = qR - G, A = (qR+G)/2.
>
> > packageDescription("limma", field="Version")
>[1] "1.8.12"
>
>marcus



More information about the Bioconductor mailing list