[BioC] Xps package : errors and RMA difference with Partek GS

cstrato cstrato at aon.at
Tue Mar 31 22:04:42 CEST 2009


Dear Arnaud,

Let me first answer your question how to export the background data 
(although an example is shown in vignette xps.pdf p.15):

# 1. compute background (or rma)
data.bg <- bgcorrect(data.exon, "ExonRMABgrdCore", filedir=datdir, 
           method="rma", select="antigenomic", option="pmonly:epanechnikov",
           params=c(16384), exonlevel="core")

# 2. find background treenames for data.bg
getTreeNames(rootFile(data.bg))

# 3. get background for all trees
export.root(rootFile(data.bg), schemeFile(data.bg), setName(data.bg), 
"*", "rbg", "fBg", "BgrdAll.txt")
# or get background intensity for e.g. tree "BreastA.rbg"
export.root(rootFile(data.bg), schemeFile(data.bg), setName(data.bg), 
"BreastA", "rbg", "fBg", "BgrdBreastA.txt")

In addition you can also export the background subtracted intensities:
# 4. get background corrected intensities for all trees
export.root(rootFile(data.bg), schemeFile(data.bg), setName(data.bg), 
"*", "int", "fInten", "IntenAll.txt")

However, please note that only the "core" probes are corrected, so I am 
not sure if you can use these data in another program.


Some notes on background correction:

Please note that the above background correction does NOT use 
"antigenomic" probes for background correction. The parameter 
select="antigenomic" does only define the kind of MM probes (although 
they are not used in this case). Which probes are used as PM probes is 
defined by exonlevel="core", which means that only "core" probes are 
used for background correction.

As you know, in the RMA background algorithm observed PM probes are 
modeled as the sum of a normal noise component and an exponential signal 
component. Since in above case only "core" probes are selected as PM 
probes, only these probes are used for background correction. This may 
be the reason why the background data differ from the background data 
computed by APT, as explained in vignette APTvsXPS.pdf.

If you want to compute the background using "genomic" or "antigenomic" 
probes and the APT algorithm based on GC content of these probes then 
you need to use:
data.bg <- bgcorrect(data.exon, "ExonGCBgrdCore", filedir=datdir, 
           method="gccontent", select="antigenomic", option="attenuatebg",
           params=c(0.4, 0.005, -1.0), exonlevel="core")
or the dedicated function:
data.bg <- bgcorrect.gc(data.exon, "ExonGCBgrdCore", filedir=datdir, 
           select="antigenomic", exonlevel="core")


Maybe one note on processing time:
My main goal was to allow processing of exon arrays on computers with 
1GB RAM only, and to allow access to all interim data such as background 
intensities and background-corrected probe intensities. Thus, all these 
data are stored as root trees, which means that saving all these interim 
data on HD is probably the time-consuming step.

I hope that I could answer your questions.

Best regards
Christian


arnaud Le Cavorzin wrote:
> Hi
>
> Thank you for your answer, I will download your last version when it 
> will be available.
>
> We found that the difference between Partek GS and xps package is the 
> background correction.
> And Partek's support confirmed that Partek GS doesn't use genomic or 
> antigenomic background correction but correction like described by 
> Professor Bolstad.
>
> But I have an other problem : I would like to perform background 
> correction with xps, using the function bgcorrect(), and after to 
> export the data.bg.rma for performing the normalization and 
> summarization with Partek GS (that take less time than xps)
> I have tried with function export.expr(), export.data and export() 
> without success.
>
> How can I do to extract the data.bg.rma into a .txt file, if it was 
> possible of course?
>
> Thanks
> Best regards
>
> Arnaud
>
>
> > Date: Mon, 30 Mar 2009 22:33:48 +0200
> > From: cstrato at aon.at
> > To: arnaudlc at msn.com
> > CC: bioconductor at stat.math.ethz.ch; delphine.rossille at chu-rennes.fr
> > Subject: Re: [BioC] Xps package : errors and RMA difference with 
> Partek GS
> >
> > Dear Arnaud,
> >
> > The error you get does only appear on Windows, since MS VC++ requires
> > every C function used to be listed in an Export Definition File
> > "xps.def". Since I have added this function later and do use WinXP only
> > for testing purposes, I have forgotten to add function "MetaProbesets".
> >
> > I have just uploaded a new version xps_1.2.8 to BioC which adds this
> > function to xps.def.
> > You should be able to download the new version in the next one or 
> two days.
> >
> > Thank you for reporting this error. I am sorry for the inconvenience.
> >
> > Best regards
> > Christian
> >
> >
> > arnaud Le Cavorzin wrote:
> > > Hi
> > >
> > > I have tried to create a .mps file with xps. But I have got an error,
> > > in french
> > > "Erreur dans .C("MetaProbesets", as.character(schemefile),
> > > as.character(infile), :
> > > le nom C de symbole "MetaProbesets" est introuvable dans la DLL pour
> > > le package "xps" "
> > > That means that there is an error with the name C of symbol
> > > MetaProbesets is missing into the ddl for the package xps.
> > >
> > > I don't understand what it mean, can you help me about this?
> > >
> > > The script used :
> > >
> > > /> xps.rma=validData(data.rma)
> > > > writeLines(rownames(xps.rma),"core.txt")
> > > > metaProbesets(scheme.huex10stv2r2,"core.txt","coreList.mps",
> > > + exonlevel="core")/
> > >
> > > (I have performed a RMA with
> > > background="antigenomic",option="transcript" and exonlevel="core"
> > > before this, for the comparison with APT and Partek GS)
> > >
> > > Thank you
> > > Best regards
> > >
> > > Arnaud
> > >
> > >
> > > > Date: Sat, 28 Mar 2009 23:03:21 +0100
> > > > From: cstrato at aon.at
> > > > To: arnaudlc at msn.com
> > > > CC: bioconductor at stat.math.ethz.ch; delphine.rossille at chu-rennes.fr
> > > > Subject: Re: [BioC] Xps package : errors and RMA difference with
> > > Partek GS
> > > >
> > > > Dear Arnaud,
> > > >
> > > > Regarding the problem with "bgcorrect.rma()":
> > > > Currently function "bgcorrect.rma()" works only with expression 
> arrays,
> > > > I will update it in the next version.
> > > > At the moment you need to use the general function "bgcorrect()" 
> with
> > > > the correct settings.
> > > >
> > > > Thus if you want to compute RMA stepwise you need to do:
> > > > ## 1.step: background - rma
> > > > data.bg.rma <- bgcorrect(data.exon, "ExonRMABgrd", filedir=datdir,
> > > > method="rma", select="antigenomic", option="pmonly:epanechnikov",
> > > > params=c(16384), exonlevel="core")
> > > >
> > > > ## 2.step: normalization - quantile
> > > > data.qu.rma <- normalize.quantiles(data.bg.rma, "ExonRMANorm",
> > > > filedir=datdir , exonlevel="core")
> > > >
> > > > ## 3.step: summarization - medpol
> > > > data.mp.rma <- summarize.rma(data.qu.rma, "ExonRMASum", 
> filedir=datdir,
> > > > exonlevel="core")
> > > >
> > > >
> > > > This will give the same expression levels as using function "rma()"
> > > > directly:
> > > > ## compute rma:
> > > > data.rma <- rma(data.exon, "ExonRMAcore", filedir=datdir,
> > > > background="antigenomic",
> > > > normalize=T, option="transcript", exonlevel="core")
> > > >
> > > >
> > > > Alternatively you can use function "express()" to compute RMA:
> > > > a, stepwise:
> > > > ## 1.step: background - rma
> > > > expr.bg.rma <- express(data.exon, "ExonExprsBgrd", filedir=datdir,
> > > > tmpdir="",
> > > > bgcorrect.method="rma", bgcorrect.select="antigenomic",
> > > > bgcorrect.option="pmonly:epanechnikov", bgcorrect.params=c(16384),
> > > > exonlevel="core")
> > > >
> > > > ## 2.step: normalization - quantile
> > > > expr.qu.rma <- express(expr.bg.rma, "ExonExprsNorm", filedir=datdir,
> > > > tmpdir="",
> > > > normalize.method="quantile", normalize.select="pmonly",
> > > > normalize.option="transcript:together:none", normalize.logbase="0",
> > > > normalize.params=c(0.0), exonlevel="core")
> > > >
> > > > ## 3.step: summarization - medpol
> > > > expr.mp.rma <- express(expr.qu.rma, "ExonExprsSum", filedir=datdir,
> > > > tmpdir="",
> > > > summarize.method="medianpolish", summarize.select="pmonly",
> > > > summarize.option="transcript", summarize.logbase="log2",
> > > > summarize.params=c(10, 0.01, 1.0), exonlevel="core")
> > > >
> > > >
> > > > b, with a single call to express()
> > > > expr.rma <- express(data.exon, "ExonExprs", filedir=datdir, 
> tmpdir="",
> > > > bgcorrect.method="rma", bgcorrect.select="antigenomic",
> > > > bgcorrect.option="pmonly:epanechnikov", bgcorrect.params=c(16384),
> > > > normalize.method="quantile", normalize.select="pmonly",
> > > > normalize.option="transcript:together:none", normalize.logbase="0",
> > > > normalize.params=c(0.0), summarize.method="medianpolish",
> > > > summarize.select="pmonly", summarize.option="transcript",
> > > > summarize.logbase="log2", summarize.params=c(10, 0.01, 1.0),
> > > > exonlevel="core")
> > > >
> > > >
> > > > I hope that these examples help you to use functions bgcorrect(),
> > > > normalize.quantiles(), summarize.rma() and express().
> > > >
> > > > Best regards
> > > > Christian
> > > >
> > > >
> > > > arnaud Le Cavorzin wrote:
> > > > > Hi all.
> > > > >
> > > > > I'm a new user of the xps package and I have some questions about
> > > it and some problems.
> > > > >
> > > > > I use xps package for analysing exon arrays (using Affymetrix
> > > Human Exon 1.0 ST Arrays), and I try to compare the results with the
> > > results obtained with Partek GS.
> > > > >
> > > > > So for that in R I import .CEL files and perform a RMA (using
> > > function rma with xps). I have no problem with this step, it works 
> but
> > > I don't obtain the same results with Partek.
> > > > > I have tried different options for rma (xps package) and for
> > > Partek (changing option=transcript or probeset, exonlevel=core or
> > > metacore in xps for example, and do the same thing in Partek) but the
> > > results are always differents.
> > > > >
> > > > > When I import the data from the .CEL files, all is ok, I have the
> > > same results with xps and Partek. But whenever I try a normalization
> > > (RMA) the results are different from the two softwares.
> > > > > I have done for example :
> > > > >
> > > > >
> > > > >>
> > > 
> data.probesetnoback.rma=rma(data.huextest,"tmpdt_HuextestprobesetnobackRMA",background="none",
> > > > >>
> > > > > + normalize=TRUE,option="probeset",exonlevel="core",verbose=FALSE)
> > > > >
> > > > >>
> > > 
> data.rma=rma(data.huextest,"tmpdt_HuextestRMA",background="antigenomic",
> > > > >>
> > > > > + normalize=TRUE,option="probeset",exonlevel="core",verbose=FALSE)
> > > > >
> > > > >>
> > > 
> data.metacore.rma=rma(data.huextest,"tmpdt_HuextestprobesetnobackRMA",background="antigenomic",
> > > > >>
> > > > > + 
> normalize=TRUE,option="probeset",exonlevel="metacore",verbose=FALSE)
> > > > >
> > > > >
> > > > > I have also tried with the xps package to perform a background
> > > correction first, after a quantile normalization and finally a
> > > summarization for compare step by step with Partek but it doesn't 
> work.
> > > > >
> > > > > I can't perform bgcorrect without error, like for example :
> > > > >
> > > > >
> > > > >>
> > > 
> data.qu.rma=bgcorrect.rma(data.huextest,"tmpdt_HuextestbgqumpRMA",filedir=getwd(),
> > > > >>
> > > > > + tmpdir="",exonlevel="core",verbose=FALSE)
> > > > > Erreur dans .local(object, ...) : error in function ‘BgCorrect’
> > > > >
> > > > >> traceback()
> > > > >>
> > > > > 6: stop(paste("error in function", sQuote("BgCorrect")))
> > > > > 5: .local(object, ...)
> > > > > 4: xpsBgCorrect(xps.data, filename = filename, filedir = filedir,
> > > > > tmpdir = tmpdir, update = update, select = select, method = 
> method,
> > > > > option = option, exonlevel = exonlevel, params = params,
> > > > > verbose = verbose)
> > > > > 3: xpsBgCorrect(xps.data, filename = filename, filedir = filedir,
> > > > > tmpdir = tmpdir, update = update, select = select, method = 
> method,
> > > > > option = option, exonlevel = exonlevel, params = params,
> > > > > verbose = verbose)
> > > > > 2: bgcorrect(xps.data, filename = filename, filedir = filedir,
> > > tmpdir = tmpdir,
> > > > > update = update, select = "none", method = "rma", option =
> > > "pmonly:epanechnikov",
> > > > > exonlevel = exonlevel, params = c(16384), verbose = verbose)
> > > > > 1: bgcorrect.rma(data.huextest, "tmpdt_HuextestbgqumpRMA", 
> filedir
> > > = getwd(),
> > > > > tmpdir = "", exonlevel = "core", verbose = FALSE)
> > > > >
> > > > >> data.bg.rma=bgcorrect(data.huextest,"tmpdt_HuextestbgqumpRMA",
> > > filedir = getwd(), tmpdir = "",
> > > select="none",method="rma",option="none",exonlevel = "core", 
> verbose =
> > > FALSE)
> > > > >>
> > > > > Erreur dans .local(object, ...) : empty parameter list ‘params’
> > > > > De plus : Warning message:
> > > > > In .local(object, ...) :
> > > > > ‘option’ is different from <pmonly:epanechnikov> for rma
> > > > >
> > > > >
> > > > > If I perform a normalization.quantiles without performing a
> > > bgcorrect it doesn't work, I obtain 0 for all of the values.
> > > > > And summarization give the same kind of error than bgcorrect.
> > > > >
> > > > > Therefore my questions :
> > > > >
> > > > > Why xps pakage and R don't give the same results using the same
> > > setup options?
> > > > > What does exactly xps when performing a RMA? A bgcorrect? A
> > > normalization?
> > > > >
> > > > > Thanks for your answer
> > > > > Best regards
> > > > >
> > > > > Arnaud
> > > > >
> > > > >
> > > > > _________________________________________________________________
> > > > >
> > > > > ? Lancez-vous !
> > > > >
> > > > > [[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
> > > >
> > >
> > > 
> ------------------------------------------------------------------------
> > > Tous vos amis discutent sur Messenger, et vous ? Téléchargez
> > > Messenger, c'est gratuit ! <http://get.live.com/messenger/overview>
> >
>
> ------------------------------------------------------------------------
> Vous voulez savoir ce que vous pouvez faire avec le nouveau Windows 
> Live ? Lancez-vous ! 
> <http://www.microsoft.com/windows/windowslive/default.aspx>



More information about the Bioconductor mailing list