[BioC] preprocessing Affymetrix with threestep and expresso

Laurent Gautier laurent at cbs.dtu.dk
Tue Sep 1 19:19:52 CEST 2009


<I left your earlier follow-up unanswered, as it disappeared out sight 
pushed by a surge of other emails>

Both are modifications of MAS5.0, therefore there is not one that is 
"right" while the other is "wrong".

If you do not have a theoretical rationale to choose one you could try 
comparing their respective performances (the dilution dataset was once 
popular) and make your choice accordingly.



L.



Javier Pérez Florido wrote:
> Dear list,
> Any tips for the following question?
> Affymetrix performs the normalization step after summarization and I 
> would like to know whether , using another normalization step than the 
> one described for MAS (scaling), I have to write the normalization step 
> after the summarization or not. I mean, If I want to use "quantile" as 
> normalization, I don't know if I have to proceed like this:
> 
> res<- expresso(data, bgcorrect.method = "mas", pmcorrect.method = "mas", 
> normalize = FALSE, summary.method = "mas")
> res2<-normalize(res,method="quantiles")
> exprs(res2)<-log2(exprs(res2))
> 
> or like this:
> 
> res<- expresso(data, bgcorrect.method = "mas", pmcorrect.method = "mas", 
> normalize.method = "quantiles", summary.method = "mas")
> exprs(res)<-log2(exprs(res))
> 
> Thanks again,
> Javier
> 
> 
> 
> Javier Pérez Florido escribió:
>> Laurent Gautier escribió:
>>> Javier Pérez Florido wrote:
>>>> Dear list,
>>>> I have 3 questions about threestep (affyPLM) and expresso (AFFY) 
>>>> functions:
>>>>
>>>>    1. Which type of pm correction does threestep function perform? 
>>>> PMonly?
>>>>    2. I would like to preprocess my microarray experiment using the
>>>>       following steps within the preprocessing method: GCRMA as
>>>>       background correction, INVARIANTSET as normalization, PMONLY 
>>>> as pm
>>>>       correction and TUKEY-BIWEIGHT (MAS) as summarization 
>>>> procedure. Is
>>>>       there any function which I can use to perform it? As far as I
>>>>       know, expresso hasn't got GCRMA as background correction and
>>>>       threestep function  hasn't got INVARIANTSET as normalization
>>>>       procedure. Any tips?
>>>
>>> In GCRMA it seems that it is named a background adjustment rather than a
>>> background correction, and therefore do not fit in the existing 
>>> framework.
>>>
>>> The following might(*) bring GCRMA to affy (*: not tested):
>>> bg.correct.gcrma <- bg.adjust.gcrma
>>> upDate.bgcorrect.methods(c(bgcorrect.methods(), "gcrma"))
>> Thanks Prof. Gautier, it worked like you said. Now, I am able to use 
>> gcrma as background "method" in expresso.
>>>
>>> For threestep, the set of normalization methods it accepts is an
>>> hard-coded list. Editing the code to make it accept an other method
>>> at the R level is rather simple, but one should check what is happening
>>> with those method names at the C level.
>>> Going the other way around and write a summary method for affy that
>>> performs the fit of a linear model of your choosing is also an 
>>> alternative.
>>>
>>>
>>>>    3. If I want to perform MAS preprocessing using expresso, I think I
>>>>       should do it like this:
>>>>
>>>>         eset<- expresso(data, bgcorrect.method = "mas", 
>>>> pmcorrect.method
>>>>     = "mas", normalize = FALSE, summary.method = "mas")
>>>>         eset<-affy.scalevalue.exprSet(eset)
>>>>         exprs(eset)<-log2(exprs(eset))
>>>
>>> The source is open:
>>>
>>>> mas5
>>> function (object, normalize = TRUE, sc = 500, analysis = "absolute",
>>>     ...)
>>> {
>>>     res <- expresso(object, bgcorrect.method = "mas", pmcorrect.method
>>> = "mas",
>>>         normalize = FALSE, summary.method = "mas", ...)
>>>     if (normalize)
>>>         res <- affy.scalevalue.exprSet(res, sc = sc, analysis = 
>>> analysis)
>>>     return(res)
>>> }
>>> <environment: namespace:affy>
>>>
>>>
>>>>     This is done this way because Affymetrix performs the normalization
>>>>     step after summarization. What about if I want to perform NO
>>>>     background correction, INVARIANTSET as normalization, MAS as pm
>>>>     correction and MAS as summarization? Is it like this?
>>>>        eset<- expresso(data, bgcorrect.method = "mas", pmcorrect.method
>>>>     = "mas", normalize.method="invariantset" summary.method = "mas")
>>>>        exprs(eset)<-log2(exprs(eset))
>>>
>>> Most likely not. It looks like you copied/pasted the call to perform
>>> MAS5.0 without a change.
>>> The help pages contain how to get the method names.
>>> Example: help("bgcorrect.methods")
>> OK, you were right about mas5 method (Affy package) and I wrote the 
>> expresso command in the wrong way.
>> What I wanted to mean is that Affymetrix performs the normalization 
>> step after summarization (I don`t know why). What I would like to know 
>> is if I want to use another normalization step than the one described 
>> for MAS (scaling), do I have to write the normalization step after the 
>> summarization? I mean, If I want to use "quantile" as normalization, I 
>> don't know if I have to proceed like this:
>>
>> res<- expresso(data, bgcorrect.method = "mas", pmcorrect.method = 
>> "mas", normalize = FALSE, summary.method = "mas")
>> res2<-normalize(res,method="quantiles")
>> exprs(res2)<-log2(exprs(res2))
>>
>> or like this:
>>
>> res<- expresso(data, bgcorrect.method = "mas", pmcorrect.method = 
>> "mas", normalize.method = "quantiles", summary.method = "mas")
>> exprs(res)<-log2(exprs(res))
>>
>> Thanks again,
>> Javier
>>
>>
>>
>>>
>>>
>>> L.
>>>
>>>> Thanks in advance,
>>>> Javier
>>>>
>>>>
>>>>     [[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
>>>
>>>
>>
>>
> 
> _______________________________________________
> 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