problem with "just.gcrma" and a fix
1
0
Entering edit mode
Jenny Bryan ▴ 110
@jenny-bryan-949
Last seen 10.2 years ago
First, many thanks to those behind this method and package. I have gcrma 1.1.0. I've experienced a problem with just.gcrma and I'm pretty sure it's not user error. I am pre-computing the probe affinity info and passing it via the "affinity.info" argument. The "just.gcrma" function is not passing that affinity info on to "fast.bkg" and/or "mem.bkg". Failure with pre-computed affinity info: > moe430a.ai <- compute.affinities("moe430a") > jeset.A <- + just.gcrma(filenames = paste(where.am.i, "data/celfiles/", + chip.details.sel[take.me, + "chip.names"], + sep=""), + phenoData = pD.A[1:4,], + affinity.info = moe430a.ai, + type="affinities") Adjusting for optical effect.....Done. Error in sample(1:length(pms[index.affinities, ]), 25000) : Object "index.affinities" not found Success when allowing just.gcrma to re-compute the affinity info: > jeset.A <- + just.gcrma(filenames = paste(where.am.i, "data/celfiles/", chip.details.sel[take.me, + "chip.names"], + + sep=""), + phenoData = pD.A[1:4,], + type="affinities") Computing affinities..Done. Adjusting for optical effect.....Done. Adjusting for non-specific binding....Done. Normalizing Calculating Expression Success with pre-computed affinity info, with a slight fix in just.gcrma: > jeset.A2 <- + jb.just.gcrma(filenames = paste(where.am.i, "data/celfiles/", + chip.details.sel[take.me, + "chip.names"], + sep=""), + phenoData = pD.A[1:4,], + affinity.info = moe430a.ai, + type="affinities") Adjusting for optical effect.....Done. Adjusting for non-specific binding....Done. Normalizing Calculating Expression The statements inside "if (needaff & is.nullaffinity.info)) {...} could be replaced with: if (needaff) { if (is.nullaffinity.info)) { if (verbose) cat("Computing affinities.") affinity.info <- compute.affinities(cdfName, verbose = verbose) int.aff.calc <- TRUE # is the garbage collection important? if (verbose) cat("Done.\n") } else int.aff.calc <- FALSE # allows garbage collection below pm.affinities <- pmaffinity.info) mm.affinities <- mmaffinity.info) index.affinities <- which(!is.na(pm.affinities)) pm.affinities <- pm.affinities[index.affinities] mm.affinities <- mm.affinities[index.affinities] if (int.aff.calc) { rmaffinity.info) gc() } } -- Jenny Bryan, Ph.D. *----------------------------------* * Assistant Professor * * Department of Statistics and * * the Michael Smith Laboratories * * University of British Columbia * *----------------------------------* 333-6356 Agricultural Road Vancouver, BC V6T 1Z2 Canada http://hajek.stat.ubc.ca/~jenny/ tel: 604.822.6422 fax: 604.822.6960 email: jenny@stat.ubc.ca
moe430a probe moe430a probe • 1.1k views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 1 hour ago
United States
Jenny Bryan wrote: > First, many thanks to those behind this method and package. I have > gcrma 1.1.0. > > I've experienced a problem with just.gcrma and I'm pretty sure it's > not user error. I am pre-computing the probe affinity info and > passing it via the "affinity.info" argument. The "just.gcrma" function > is not passing that affinity info on to "fast.bkg" and/or "mem.bkg". > > Failure with pre-computed affinity info: Thanks for the bug report. Neither just.gcrma nor gcrma will currently accept a pre-computed affinity.info object. The fix is actually simpler than what you suggest, and should be in place for the 1.5 release. Best, Jim -- James W. MacDonald Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109
ADD COMMENT
0
Entering edit mode
Thanks for your reply. My inspiration for using the pre-computed affinities was the Example given in the gcrma help file (and the slowness of my machine!). I'm not where I can test this right now, but given your response, maybe that example would fail too? (from gcrma help) Examples: if(require(affydata) & require(hgu95av2probe)){ data(Dilution) ai <- compute.affinities(cdfName(Dilution)) Dil.expr<-gcrma(Dilution,affinity.info=ai,type="affinities") } Jenny James W. MacDonald writes: > Thanks for the bug report. Neither just.gcrma nor gcrma will currently > accept a pre-computed affinity.info object. The fix is actually simpler > than what you suggest, and should be in place for the 1.5 release. > > Best, > > Jim
ADD REPLY
0
Entering edit mode
Jenny Bryan wrote: > Thanks for your reply. My inspiration for using the pre-computed > affinities was the Example given in the gcrma help file (and the > slowness of my machine!). I'm not where I can test this right now, but > given your response, maybe that example would fail too? > Yep. As you already noted, the fix is to decouple the following if statement: if (needaff & is.nullaffinity.info)) { if (verbose) cat("Computing affinities") affinity.info <- compute.affinities(cdfName(object), verbose = verbose) if (verbose) cat("Done.\n") pm.affinities <- pmaffinity.info) mm.affinities <- mmaffinity.info) index.affinities <- which(!is.na(pm.affinities)) pm.affinities <- pm.affinities[index.affinities] mm.affinities <- mm.affinities[index.affinities] rmaffinity.info) gc() } To: if (needaff) { if is.nullaffinity.info)) { if (verbose) cat("Computing affinities.") affinity.info <- compute.affinities(cdfName, verbose = verbose) if (verbose) cat("Done.\n") } pm.affinities <- pmaffinity.info) mm.affinities <- mmaffinity.info) index.affinities <- which(!is.na(pm.affinities)) pm.affinities <- pm.affinities[index.affinities] mm.affinities <- mm.affinities[index.affinities] rmaffinity.info) gc() } Something similar is required for gcrma. Best, Jim -- James W. MacDonald Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109
ADD REPLY

Login before adding your answer.

Traffic: 582 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