[BioC] preprocessing Affymetrix with threestep and expresso

Javier Pérez Florido jpflorido at gmail.com
Thu Aug 27 19:41:10 CEST 2009


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