[BioC] preprocessing Affymetrix with threestep and expresso

Javier Pérez Florido jpflorido at gmail.com
Tue Sep 1 19:10:06 CEST 2009


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



More information about the Bioconductor mailing list