[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