Question: RMA implemented in oligo package vs affy package
0
gravatar for heyi xiao
10.4 years ago by
heyi xiao360
United States
heyi xiao360 wrote:
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]]
ADD COMMENTlink modified 10.4 years ago • written 10.4 years ago by heyi xiao360
Answer: RMA implemented in oligo package vs affy package
0
gravatar for heyi xiao
10.4 years ago by
heyi xiao360
United States
heyi xiao360 wrote:
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]]
ADD COMMENTlink written 10.4 years ago by heyi xiao360
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 at 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
ADD REPLYlink written 10.4 years ago by Mark Robinson1.1k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 90 users visited in the last hour