[Bioc-devel] Limma 2.13.7: VSN normalization

Gordon K Smyth smyth at wehi.EDU.AU
Wed Apr 16 12:36:04 CEST 2008


Dear Koen,

Yes, you're probably correct.  I'll remove the log(2) division.

Can the vsn people please confirm.

Best wishes
Gordon

> Date: Tue, 15 Apr 2008 18:28:03 +0200
> From: "Koen Van Leemput" <koen.vanleemput at ua.ac.be>r
> Subject: [Bioc-devel] Limma 2.13.7: VSN normalization
> To: <bioc-devel at stat.math.ethz.ch>
> Message-ID: <4804D793.20403 at ua.ac.be>
> Content-Type: text/plain;	format=flowed;	charset="UTF-8"
>
> Hello,
>
> In preparation of an upgrade of R on our server, I have been testing our
> microarray analysis workflow (making extensive use of the limma and vsn
> packages)  and comparing results between the recent versions I am using
> now (R 2.6.2, limma 2.13.7 and vs 3.4.13)  and the old versions that are
> currently in use (R 2.4.1, limma 2.9.13, vsn 1.12.0).
>
> I have observed differences in the output of the
> "normalizeBetweenArrays" function when using the "vsn" normalization
> method.
>
> After looking through the documentation of both limma and vsn I think
> the problem lies in the fact that the main normalization function in the
> recent vsn package (called "vsn2") outputs data on a glog scale to base
> 2 while the previous version of this function "vsn" outputs data on glog
> scale of the natural logarithm.
>
> I have looked at the actual call made by limma in version 2.9.13:
>
>       y <- vsn(intensities = y, ...)
>        n2 <- ncol(y at exprs)/2
>        G <- y at exprs[, 1:n2]/log(2)
>        R <- y at exprs[, n2 + (1:n2)]/log(2)
>
>
> and compared it to the call made in the newer version 2.13.7:
>
>        y <- vsnMatrix(x = y, ...)
>        n2 <- ncol(y at hx)/2
>        G <- y at hx[, 1:n2]/log(2)
>        R <- y at hx[, n2 + (1:n2)]/log(2)
>
> Am I right in thinking that the division by log(2) is not necessary
> anymore in this last case?
>
> As far as I have tested, calling vsn like this:
>
>       y <- vsnMatrix(x = y, ...)
>       n2 <- ncol(y at hx)/2
>       G <- y at hx[, 1:n2]
>       R <- y at hx[, n2 + (1:n2)]
>
> produces very similar results to the old situation.  Is this something
> that should be changed in the new limma version or are the new results
> actually the more correct?
>
> Thanks,
> kind regards,
> Koen
>
> -- 
> Koen Van Leemput
> Advanced Database Research and Modelling (ADReM)
> Department of Mathematics and Computer Science
> University of Antwerp - Campus Middelheim
> Middelheimlaan 1, office G.217, B-2020 Antwerpen, Belgium
> e-mail: koen.vanleemput at ua.ac.be
> tel.: +32 3 265 3407
> fax: +32 3 265 3204



More information about the Bioc-devel mailing list