[Bioc-devel] Limma 2.13.7: VSN normalization

Wolfgang Huber huber at ebi.ac.uk
Wed Apr 16 13:01:30 CEST 2008


Dear Koen and Gordon,

thank you for pointing this out! You are absolutely right, vsn2 reports
its output on the logarithm base 2 scale (hence the "2" in its name :).

Also, "exprs(y)" is the somewhat more preferable accessor to the data in
the vsn-object y over "y at hx" (but both should work for the foreseeable
future).

 Best
 Wolfgang.

16/04/2008 11:36 Gordon K Smyth a écrit
> 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
> 
> _______________________________________________
> Bioc-devel at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel



More information about the Bioc-devel mailing list