preprocessing Affymetrix with threestep and expresso
1
0
Entering edit mode
@javier-perez-florido-3121
Last seen 6.1 years ago
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? 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)) 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)) Thanks in advance, Javier [[alternative HTML version deleted]]
Microarray Normalization Preprocessing gcrma Microarray Normalization Preprocessing gcrma • 1.2k views
ADD COMMENT
0
Entering edit mode
Laurent Gautier ★ 2.3k
@laurent-gautier-29
Last seen 9.7 years ago
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
ADD COMMENT
0
Entering edit mode
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 > >
ADD REPLY

Login before adding your answer.

Traffic: 654 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6