error in mas5calls() for soybean chip
2
0
Entering edit mode
Jenny Drnevich ★ 2.2k
@jenny-drnevich-382
Last seen 9.6 years ago
Hi all, I've run into some sort of error or bug when trying to get Affy's present/marginal/absent calls for Affy's soybean array. I've traced the error to this part of mas5calls.AffyBatch(): calls <- sapply(p, function(y) { if (y < alpha1) { According to Benjamin Otto's reponse (https://stat.ethz.ch/pipermail/bioconductor/2006-January/011568.html) to the exact same error message for HU6800 arrays, specifying alpha1= and alpha2= in the call to mas5calls() should work, but it doesn't for soybean arrays (all codes & output at the bottom). I'm actually not surprised that it doesn't work, because these are the defaults in the internal function mas5calls.AffyBatch() that's called. Is problem this related to similar problems with the qc() function from simpleaffy not working for some array types? I'll try the solution suggested in https://stat.ethz.ch/pipermail/bioconductor/2006-April/012655.html, but mas5calls is part of the affy package, and I didn't see where functions from simpleaffy were called. Thanks, Jenny > rawdata AffyBatch object size of arrays=1164x1164 features (317565 kb) cdf=Soybean (61170 affyids) number of samples=30 number of genes=61170 annotation=soybean > PMAcalls <- mas5calls(rawdata[,1:5]) Getting probe level data... Computing p-values Making P/M/A Calls Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > PMAcalls <- mas5calls(rawdata[,1:5],alpha1=0.04,alpha2=0.06) Getting probe level data... Computing p-values Making P/M/A Calls Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > sessionInfo() R version 2.2.1, 2005-12-20, i386-pc-mingw32 attached base packages: [1] "splines" "tools" "methods" "stats" "graphics" "grDevices" [7] "utils" "datasets" "base" other attached packages: soybeancdf made4 scatterplot3d ade4 affyQCReport "1.10.0" "1.4.0" "0.3-24" "1.4-0" "1.8.0" simpleaffy genefilter survival reposTools affyPLM "2.4.2" "1.8.0" "2.20" "1.8.0" "1.6.0" affydata limma gcrma matchprobes affy "1.6.0" "2.4.7" "2.2.0" "1.2.1" "1.8.1" Biobase RWinEdt "1.8.0" "1.7-4" Jenny Drnevich, Ph.D. Functional Genomics Bioinformatics Specialist W.M. Keck Center for Comparative and Functional Genomics Roy J. Carver Biotechnology Center University of Illinois, Urbana-Champaign 330 ERML 1201 W. Gregory Dr. Urbana, IL 61801 USA ph: 217-244-7355 fax: 217-265-5066 e-mail: drnevich at uiuc.edu
Survival hu6800 cdf probe Biobase genefilter reposTools affy affydata limma gcrma made4 • 1.4k views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 2 minutes ago
United States
Hi Jenny, Jenny Drnevich wrote: > Hi all, > > I've run into some sort of error or bug when trying to get Affy's > present/marginal/absent calls for Affy's soybean array. I've traced the > error to this part of mas5calls.AffyBatch(): > > calls <- sapply(p, function(y) { > if (y < alpha1) { > > > According to Benjamin Otto's reponse > (https://stat.ethz.ch/pipermail/bioconductor/2006-January/011568.html) to > the exact same error message for HU6800 arrays, specifying alpha1= and > alpha2= in the call to mas5calls() should work, but it doesn't for soybean > arrays (all codes & output at the bottom). I'm actually not surprised that > it doesn't work, because these are the defaults in the internal function > mas5calls.AffyBatch() that's called. Is problem this related to similar > problems with the qc() function from simpleaffy not working for some array > types? I'll try the solution suggested in > https://stat.ethz.ch/pipermail/bioconductor/2006-April/012655.html, but > mas5calls is part of the affy package, and I didn't see where functions > from simpleaffy were called. This problem isn't related to anything in simpleaffy. I am betting that there are some NAs in the p list that is returned from the call to 'DetectionPValue' (immediately preceding the code snippet you give above). Without actually having any soybean arrays to play with, I cannot confirm this, but you could by stepping through the code using debug(mas5calls.AffyBatch) mas5calls(rawdata[,1:5]) when you get to the point that the 'p' list is made, you can dump it into your .GlobalEnv using p <<- p and then quit the debugger (using Q). You could then do something like sum(sapply(p, is.na)) to see how many (or if) there are any NAs in there. You could also figure out which probesets are returning the NAs, and take a look at them using the PM() accessor to see if you can tell what the problem might be. Any information you might be able to give could be helpful in debugging this error. Best, Jim > > > Thanks, > Jenny > > > rawdata > AffyBatch object > size of arrays=1164x1164 features (317565 kb) > cdf=Soybean (61170 affyids) > number of samples=30 > number of genes=61170 > annotation=soybean > > > PMAcalls <- mas5calls(rawdata[,1:5]) > Getting probe level data... > Computing p-values > Making P/M/A Calls > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > > > PMAcalls <- mas5calls(rawdata[,1:5],alpha1=0.04,alpha2=0.06) > Getting probe level data... > Computing p-values > Making P/M/A Calls > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > > > > sessionInfo() > R version 2.2.1, 2005-12-20, i386-pc-mingw32 > > attached base packages: > [1] "splines" "tools" "methods" "stats" "graphics" "grDevices" > [7] "utils" "datasets" "base" > > other attached packages: > soybeancdf made4 scatterplot3d ade4 affyQCReport > "1.10.0" "1.4.0" "0.3-24" "1.4-0" "1.8.0" > simpleaffy genefilter survival reposTools affyPLM > "2.4.2" "1.8.0" "2.20" "1.8.0" "1.6.0" > affydata limma gcrma matchprobes affy > "1.6.0" "2.4.7" "2.2.0" "1.2.1" "1.8.1" > Biobase RWinEdt > "1.8.0" "1.7-4" > > > > Jenny Drnevich, Ph.D. > > Functional Genomics Bioinformatics Specialist > W.M. Keck Center for Comparative and Functional Genomics > Roy J. Carver Biotechnology Center > University of Illinois, Urbana-Champaign > > 330 ERML > 1201 W. Gregory Dr. > Urbana, IL 61801 > USA > > ph: 217-244-7355 > fax: 217-265-5066 > e-mail: drnevich at uiuc.edu > > _______________________________________________ > 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 -- James W. MacDonald, M.S. Biostatistician Affymetrix and cDNA Microarray Core University of Michigan Cancer Center 1500 E. Medical Center Drive 7410 CCGC Ann Arbor MI 48109 734-647-5623 ********************************************************** Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
ADD COMMENT
0
Entering edit mode
Hi Jim and Ken and the rest of the list, Thanks for the debugging suggestions. The problem is indeed with "probe sets" that only have one probe pair; if the PM > MM, then 'DetectionPValue' returns 0, but it PM <= MM then 'NaN' is returned. I was able to get 'mas5calls.AffyBatch' to work by simply adding this one command before the P/M/A calls were made: p[sapply(p,is.na)] <- 1 I'm not sure what's the best way to call P/M/A when there is only one probe pair in a probe set, but perhaps a warning/output could be generated along the lines of "One or more of the probe sets has only one probe pair. Use 'oneProbePair()' to find out which ones". [code is below for a simple function I wrote to get the probe set names]. Or would a warning cause more problems from unnecessary panic? I was surprised that there were 92 "probe sets" on the soybean chip with only one probe pair? I wonder how many other chips actually have single probe pair "probe sets" - as long as PM>MM for all the arrays, mas5calls() would work and you'd never know... Cheers, Jenny oneProbePair <- function(object) { x <- probeNames(object) dups <- unique(x[duplicated(x)]) singles <- setdiff(unique(x),dups) return(singles) } At 01:49 PM 4/18/2006, James W. MacDonald wrote: >Hi Jenny, > >Jenny Drnevich wrote: > > Hi all, > > > > I've run into some sort of error or bug when trying to get Affy's > > present/marginal/absent calls for Affy's soybean array. I've traced the > > error to this part of mas5calls.AffyBatch(): > > > > calls <- sapply(p, function(y) { > > if (y < alpha1) { > > > > > > According to Benjamin Otto's reponse > > (https://stat.ethz.ch/pipermail/bioconductor/2006-January/011568.html) to > > the exact same error message for HU6800 arrays, specifying alpha1= and > > alpha2= in the call to mas5calls() should work, but it doesn't for soybean > > arrays (all codes & output at the bottom). I'm actually not surprised that > > it doesn't work, because these are the defaults in the internal function > > mas5calls.AffyBatch() that's called. Is problem this related to similar > > problems with the qc() function from simpleaffy not working for some array > > types? I'll try the solution suggested in > > https://stat.ethz.ch/pipermail/bioconductor/2006-April/012655.html, but > > mas5calls is part of the affy package, and I didn't see where functions > > from simpleaffy were called. > >This problem isn't related to anything in simpleaffy. I am betting that >there are some NAs in the p list that is returned from the call to >'DetectionPValue' (immediately preceding the code snippet you give >above). Without actually having any soybean arrays to play with, I >cannot confirm this, but you could by stepping through the code using > >debug(mas5calls.AffyBatch) >mas5calls(rawdata[,1:5]) > >when you get to the point that the 'p' list is made, you can dump it >into your .GlobalEnv using > >p <<- p > >and then quit the debugger (using Q). You could then do something like > >sum(sapply(p, is.na)) > >to see how many (or if) there are any NAs in there. You could also >figure out which probesets are returning the NAs, and take a look at >them using the PM() accessor to see if you can tell what the problem >might be. > >Any information you might be able to give could be helpful in debugging >this error. > >Best, > >Jim > > > > > > > > Thanks, > > Jenny > > > > > rawdata > > AffyBatch object > > size of arrays=1164x1164 features (317565 kb) > > cdf=Soybean (61170 affyids) > > number of samples=30 > > number of genes=61170 > > annotation=soybean > > > > > PMAcalls <- mas5calls(rawdata[,1:5]) > > Getting probe level data... > > Computing p-values > > Making P/M/A Calls > > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > > > > > PMAcalls <- mas5calls(rawdata[,1:5],alpha1=0.04,alpha2=0.06) > > Getting probe level data... > > Computing p-values > > Making P/M/A Calls > > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > > > > > > > sessionInfo() > > R version 2.2.1, 2005-12-20, i386-pc-mingw32 > > > > attached base packages: > > [1] "splines" "tools" "methods" "stats" "graphics" "grDevices" > > [7] "utils" "datasets" "base" > > > > other attached packages: > > soybeancdf made4 scatterplot3d ade4 affyQCReport > > "1.10.0" "1.4.0" "0.3-24" "1.4-0" "1.8.0" > > simpleaffy genefilter survival reposTools affyPLM > > "2.4.2" "1.8.0" "2.20" "1.8.0" "1.6.0" > > affydata limma gcrma matchprobes affy > > "1.6.0" "2.4.7" "2.2.0" "1.2.1" "1.8.1" > > Biobase RWinEdt > > "1.8.0" "1.7-4" > > > > > > > > Jenny Drnevich, Ph.D. > > > > Functional Genomics Bioinformatics Specialist > > W.M. Keck Center for Comparative and Functional Genomics > > Roy J. Carver Biotechnology Center > > University of Illinois, Urbana-Champaign > > > > 330 ERML > > 1201 W. Gregory Dr. > > Urbana, IL 61801 > > USA > > > > ph: 217-244-7355 > > fax: 217-265-5066 > > e-mail: drnevich at uiuc.edu > > > > _______________________________________________ > > 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 > > >-- >James W. MacDonald, M.S. >Biostatistician >Affymetrix and cDNA Microarray Core >University of Michigan Cancer Center >1500 E. Medical Center Drive >7410 CCGC >Ann Arbor MI 48109 >734-647-5623 > > >********************************************************** >Electronic Mail is not secure, may not be read every day, and should not >be used for urgent or sensitive issues. > >_______________________________________________ >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 Jenny Drnevich, Ph.D. Functional Genomics Bioinformatics Specialist W.M. Keck Center for Comparative and Functional Genomics Roy J. Carver Biotechnology Center University of Illinois, Urbana-Champaign 330 ERML 1201 W. Gregory Dr. Urbana, IL 61801 USA ph: 217-244-7355 fax: 217-265-5066 e-mail: drnevich at uiuc.edu
ADD REPLY
0
Entering edit mode
Ken Simpson ▴ 70
@ken-simpson-520
Last seen 9.6 years ago
Hi Jenny, > > PMAcalls <- mas5calls(rawdata[,1:5]) > Getting probe level data... > Computing p-values > Making P/M/A Calls > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed > > > PMAcalls <- mas5calls(rawdata[,1:5],alpha1=0.04,alpha2=0.06) > Getting probe level data... > Computing p-values > Making P/M/A Calls > Error in if (y < alpha1) { : missing value where TRUE/FALSE needed I've seen this error with soybean chips myself, and traced it to probe sets which contained only a single probe (might also have occurred for those with 2 probes). I think the Affy P/A call fails for such cases, and is probably returning NAs. You could try removing these probe sets before calling mas5calls(), or writing an alternative version of mas5calls() that handles the NAs more gracefully. Cheers, Ken
ADD COMMENT

Login before adding your answer.

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