Entering edit mode
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]]