[BioC] preprocessing Affymetrix with threestep and expresso

Laurent Gautier laurent at cbs.dtu.dk
Sat Aug 22 22:43:49 CEST 2009


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

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


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