[BioC] limma's implementation of VSN

Wolfgang Huber whuber at embl.de
Thu Sep 3 10:09:44 CEST 2009


> Thanks Wolfgang for your prompt reply and clarifications!
> 
> Still one question, though, for you or Gordon: with respect to the base
> of vsn2 and limma:
> To be sure, since I cannot deduce myselves from limma's code; is it only
> the statement that needs to be updated, or do you mean that the values
> returned by vsn2 are still converted by limma (while there is no reason
> to do so anymore)? 
>

Dear Guido
Only the man page needs to be updated. The code is correct.
	Best wishes
	Wolfgang

> Thanks,
> Guido
> 
>> -----Original Message-----
>> From: bioconductor-bounces at stat.math.ethz.ch 
>> [mailto:bioconductor-bounces at stat.math.ethz.ch] On Behalf Of 
>> Wolfgang Huber
>> Sent: 02 September 2009 22:09
>> To: Hooiveld, Guido
>> Cc: Bioconductor
>> Subject: Re: [BioC] limma's implementation of VSN
>>
>>
>> Dear Guido
>>
>> You raise several interesting points.
>>
>> * 'subtract' is spelled without an s between the b and the t 
>> in the arguments to vsn2.
>>
>> * the 'normalizeBetweenArrays' function calls the 'vsnMatrix' 
>> function directly, which does not have the 
>> 'backgroundsubtract' argument. That argument only exists for 
>> the 'NChannelSet' method of 'vsn2'. A workaround for you 
>> would be something like:
>>
>>    RG <- read.maimages(targets$FileName, source="agilent")
>>    RG$R = RG$R-RG$Rb;  RG$G = RG$G-RG$Gb;
>>    MA.vsn <- normalizeBetweenArrays(RG, method="vsn")
>>
>> * the statement in the normalizeBetweenArrays man page 
>> regarding the base used for the log function (2 or e) is 
>> outdated. In vsn2 (which is now used here), the base is 2. 
>> I'll ask Gordon to fix this. Although e is a much cooler 
>> number than 2, this fact never seems have to caught on with 
>> non-mathematicians, and  I bowed in.
>>
>> 	Best wishes
>> 	Wolfgang
>>
>>
>>
>> Hooiveld, Guido wrote:
>>> Dear list,
>>>  
>>> I am analyzing my first 2-color array experiment (Agilent arrays). 
>>> After reading the manual of LIMMA and the book BioC case studies, I 
>>> decided to use LIMMA applying VSN normalization. However, 
>> to me it is 
>>> not completely clear which arguments are passed to VSN when 
>> executed 
>>> from LIMMA.
>>>  
>>> >From ?normalizeBetweenArrays i learn:
>>> "method="vsn" uses the vsn function from the vsn package. For this 
>>> option the input object should contain raw intensities, 
>> i.e., prior to 
>>> background correction, log-transformation or any 
>> normalization. Note 
>>> that the normalized intensities are on the log-2 scale, not 
>> the log-e 
>>> scale output by the vsn function in the vsn package."
>>>  
>>> The code I ran:
>>> targets <- readTargets("targets.txt", row.names="Name") RG <- 
>>> read.maimages(targets$FileName, source="agilent") MA.vsn <- 
>>> normalizeBetweenArrays(RG, method="vsn")
>>>  
>>>  
>>> Questions:
>>> -  in the 3rd line code above, is VSN run with the argument 
>>> 'backgroundsubstract=TRUE'? I am asking because by default VSN does 
>>> NOT background subtraction, and when I explicitly state to subtract 
>>> background an error occurs:
>>>> MA.vsn <- normalizeBetweenArrays(RG, method="vsn",
>>> backgroundsubstract=TRUE)
>>> Error in vsnMatrix(x = y, ...) : 
>>>   unused argument(s) (backgroundsubstract = TRUE) Error in 
>>> exprs(vsnMatrix(x = y, ...)) :
>>>   error in evaluating the argument 'object' in selecting a 
>> method for 
>>> function 'exprs'
>>>
>>> - Regarding this statement from ?normalizeBetweenArrays ("Note that 
>>> the normalized intensities are on the log-2 scale, not the 
>> log-e scale 
>>> output by the vsn function in the vsn package"): does this 
>> mean that 
>>> the raw array data is processed fully as per VSN 
>> methodology, and that 
>>> only in the end it is converted into log2 scale? Thus that the raw 
>>> intensities present in RG are glog-transformed, which are then used 
>>> for background correction (?; see above) and variance stabilization 
>>> normalization, and finally the VSN intensities are 
>> converted from glog 
>>> to log2 scale? Or does this mean the VSN methodology is 
>> used on log2, 
>>> and NOT glog transformed data? I assume the former, but plz 
>> correct me 
>>> if I am wrong.
>>>  
>>> TIA,
>>> Guido
>>>  
>>>  
>>> ------------------------------------------------
>>> Guido Hooiveld, PhD
>>> Nutrition, Metabolism & Genomics Group Division of Human Nutrition 
>>> Wageningen University Biotechnion, Bomenweg 2
>>> NL-6703 HD Wageningen
>>> the Netherlands
>>> tel: (+)31 317 485788
>>> fax: (+)31 317 483342 
>>> internet:   http://nutrigene.4t.com <http://nutrigene.4t.com/>  
>>> email:      guido.hooiveld at wur.nl 
>>>
>>>
>>> 	[[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives: 
>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>> -- 
>>
>> Best wishes
>>       Wolfgang
>>
>> -------------------------------------------------------
>> Wolfgang Huber
>> EMBL
>> http://www.embl.de/research/units/genome_biology/huber
>>



More information about the Bioconductor mailing list