[BioC] limma's implementation of VSN

Hooiveld, Guido Guido.Hooiveld at wur.nl
Wed Sep 2 23:23:57 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)? 

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
> 
> _______________________________________________
> 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
> 
> 



More information about the Bioconductor mailing list