[BioC] RMA implemented in oligo package vs affy package

Mark Robinson mrobinson at wehi.EDU.AU
Thu Apr 2 22:52:17 CEST 2009


Hi heyi.

Peter White did some recent testing of 'affy', 'oligo', 'affyPLM' (and
aroma.affymetrix's use of them):

http://www.mail-archive.com/aroma-affymetrix@googlegroups.com/msg00307.html

These were all using the default BG adjustment of RMA.  The result is ...
affy and oligo are practically identical.

Have you double-checked your conversion of Nimblegen data to an AffyBatch
object and the CDF env creation ... I would expect that to be a
non-trivial thing.

Cheers,
Mark



>
>
> Dear all,
>
> I process a Nimblegen expression array using oligo + makePlatformDesign
> packages. And I managed to read the xys files into an AffyBatch object and
> built a CDF environment, and process the data using affy package. For both
> ways, I used RMA with default setting. However, I noticed that rma in
> oligo
> package gave quite different results from the rma in affy package. Could
> any
> body told me what is the difference between rma in oligo package vs the
> classical version implemented in affy package? Is there any way to get the
> R or
> C source codes for both rma functions? Any ideas/suggestion would be
> appreciated.
>
> I tried but this is all I can got so far and can’t see too
> much difference except the use of bg.dens function in oligo package.
>
>  
>
> oligo package rma:
>
> function (object, ...)
>
> {
>
>     .local <-
> function (object, background = TRUE, normalize = TRUE,
>
>         subset = NULL)
>
>
>     {
>
>         pms <-
> pm(object, subset)
>
>         pnVec <-
> probeNames(object, subset)
>
>         ngenes <-
> length(unique(pnVec))
>
>         idx <-
> order(pnVec)
>
>         pms <-
> pms[idx, , drop = FALSE]
>
>         pnVec <-
> pnVec[idx]
>
>         bg.dens <-
> function(x) {
>
>             density(x,
> kernel = "epanechnikov", n = 2^14)
>
>         }
>
>         exprs <-
> .Call("rma_c_complete_copy", pms, pms, pnVec,
>
>             ngenes,
> body(bg.dens), new.env(), normalize, background,
>
>             as.integer(2), PACKAGE = "oligo")
>
>         colnames(exprs) <-
> sampleNames(object)
>
>         out <-
> new("ExpressionSet", phenoData = phenoData(object),
>
>             annotation
> = annotation(object), experimentData = experimentData(object),
>
>             exprs =
> exprs)
>
>         return(out)
>
>     }
>
>     .local(object,
> ...)
>
> }
>
> <environment: namespace:oligo>
>
>  
>
> affy package rma:
>
> function (object, subset = NULL, verbose = TRUE, destructive
> = TRUE,
>
>     normalize = TRUE,
> background = TRUE, bgversion = 2, ...)
>
> {
>
>     rows <-
> length(probeNames(object, subset))
>
>     cols <-
> length(object)
>
>     if
> (is.null(subset)) {
>
>         ngenes <-
> length(geneNames(object))
>
>     }
>
>     else {
>
>         ngenes <-
> length(subset)
>
>     }
>
>     pNList <-
> probeNames(object, subset)
>
>     pNList <-
> split(0:(length(pNList) - 1), pNList)
>
>     if (destructive) {
>
>         exprs <-
> .Call("rma_c_complete", pm(object, subset),
>
>             pNList,
> ngenes, normalize, background, bgversion,
>
>             verbose,
> PACKAGE = "affy")
>
>     }
>
>     else {
>
>         exprs <-
> .Call("rma_c_complete_copy", pm(object, subset),
>
>             pNList,
> ngenes, normalize, background, bgversion,
>
>             verbose,
> PACKAGE = "affy")
>
>     }
>
>     colnames(exprs)
> <- sampleNames(object)
>
>    
> new("ExpressionSet", phenoData = phenoData(object), annotation
> = annotation(object),
>
>         experimentData
> = experimentData(object), exprs = exprs)
>
> }
>
>
>
>
>
> 	[[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