nsFilter error
2
0
Entering edit mode
Thomas Lo ▴ 30
@thomas-lo-2258
Last seen 10.3 years ago
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20070705/ fff6a57a/attachment.pl
• 467 views
ADD COMMENT
0
Entering edit mode
Seth Falcon ★ 7.4k
@seth-falcon-992
Last seen 10.3 years ago
Hi Thomas, "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: > I have performed a GCRMA normalization with my Affy data, and then tried the > 'nsFilter' function from the 'genefilter' package but got an error message > as follows. Help much appreciated. Thanks. >> filterAns <- nsFilter(exset) > > Error: no 'dimnames' attribute for array Hmm, I haven't been able to reproduce this. Can you try calling traceback() after the error message appears and sending the output? Also, if you are able to share the data, I could try reproducing here. If the data is sharable, perhaps you can save the exset object using save() (and compress=TRUE) and post it on a web/ftp that I can download from? + seth -- Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center http://bioconductor.org
ADD COMMENT
0
Entering edit mode
Hi Seth, Thanks very much for your reply! Here is what I got from traceback(): > traceback() 6: switch(storage.mode, environment = , lockedEnvironment = { aData <- new.env(parent = emptyenv()) if (missing(i)) for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][, j, ..., drop = drop] else { if (missing(j)) for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, , ..., drop = drop] else for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, j, ..., drop = drop] } if ("lockedEnvironment" == storage.mode) assayDataEnvLock(aData) aData }, list = { if (missing(i)) lapply(orig, function(obj) obj[, j, ..., drop = drop]) else { if (missing(j)) lapply(orig, function(obj) obj[i, , ..., drop = drop]) else lapply(orig, function(obj) obj[i, j, ..., drop = drop]) } }) 5: eset[haveID, ] 4: eset[haveID, ] 3: requireID(eset, "ENTREZID") 2: nsFilter(exset) 1: nsFilter(exset) Is the output informative? I have just tried the same procedure with an independent data set, and that produced the same error. However, if I read the data in using ReadAffy() before performing gcrma(), then nsFilter() appears to work fine. So perhaps something that is not compatible between the justGCRMA() output and nsFilter()? Many thanks! Thomas -----Original Message----- From: Seth Falcon [mailto:sfalcon@fhcrc.org] Sent: Tuesday, July 10, 2007 4:35 AM To: Thomas Lo Cc: bioconductor at stat.math.ethz.ch Subject: Re: [BioC] nsFilter error Hi Thomas, "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: > I have performed a GCRMA normalization with my Affy data, and then tried the > 'nsFilter' function from the 'genefilter' package but got an error message > as follows. Help much appreciated. Thanks. >> filterAns <- nsFilter(exset) > > Error: no 'dimnames' attribute for array Hmm, I haven't been able to reproduce this. Can you try calling traceback() after the error message appears and sending the output? Also, if you are able to share the data, I could try reproducing here. If the data is sharable, perhaps you can save the exset object using save() (and compress=TRUE) and post it on a web/ftp that I can download from? + seth -- Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center http://bioconductor.org
ADD REPLY
0
Entering edit mode
@martin-morgan-1513
Last seen 4 months ago
United States
Hi Thomas -- This helped a lot; the code at position 6 of the traceback is from Biobase, and involves subsetting assayData. I ran example(ReadAffy) to get the file names of some cel files, and then > res = justGCRMA(filenames=fns) > res[featureNames(res)[1],] Error: no 'dimnames' attribute for array With these clues and a peak at the justGCRMA code, I found that the problem can be reproduced with > se.exprs <- matrix(0, 5, 2) > exprs <- matrix(0, 5, 2) > dimnames(exprs) <- list(LETTERS[1:5], letters[1:2]) > es <- new("ExpressionSet", exprs=exprs, se.exprs=se.exprs) > es["A",] Error: no 'dimnames' attribute for array The key is that se.exprs does not have any dimnames, so trying to subset it causes an error. The released and development version of Biobase have been patched to try to 'harmonize' the assayData element names when possible (i.e., when some of the dimnames are NULL); The irony is that se.exprs created by justGCRMA has only 'NA' values: > any(!is.na(assayData(res)[["se.exprs"]])) [1] FALSE The patched release version should appear as 1.14.1 in the next day or so. Martin "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: > Hi Seth, > > Thanks very much for your reply! Here is what I got from traceback(): > >> traceback() > 6: switch(storage.mode, environment = , lockedEnvironment = { > aData <- new.env(parent = emptyenv()) > if (missing(i)) > for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][, j, ..., > drop = drop] > else { > if (missing(j)) > for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, > , ..., drop = drop] > else for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, > j, ..., drop = drop] > } > if ("lockedEnvironment" == storage.mode) > assayDataEnvLock(aData) > aData > }, list = { > if (missing(i)) > lapply(orig, function(obj) obj[, j, ..., drop = drop]) > else { > if (missing(j)) > lapply(orig, function(obj) obj[i, , ..., drop = drop]) > else lapply(orig, function(obj) obj[i, j, ..., drop = drop]) > } > }) > 5: eset[haveID, ] > 4: eset[haveID, ] > 3: requireID(eset, "ENTREZID") > 2: nsFilter(exset) > 1: nsFilter(exset) > > Is the output informative? I have just tried the same procedure with an > independent data set, and that produced the same error. However, if I read > the data in using ReadAffy() before performing gcrma(), then nsFilter() > appears to work fine. So perhaps something that is not compatible between > the justGCRMA() output and nsFilter()? > > Many thanks! > > Thomas > > > -----Original Message----- > From: Seth Falcon [mailto:sfalcon at fhcrc.org] > Sent: Tuesday, July 10, 2007 4:35 AM > To: Thomas Lo > Cc: bioconductor at stat.math.ethz.ch > Subject: Re: [BioC] nsFilter error > > Hi Thomas, > > "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: >> I have performed a GCRMA normalization with my Affy data, and then tried > the >> 'nsFilter' function from the 'genefilter' package but got an error message >> as follows. Help much appreciated. Thanks. > >>> filterAns <- nsFilter(exset) >> >> Error: no 'dimnames' attribute for array > > Hmm, I haven't been able to reproduce this. Can you try calling > traceback() after the error message appears and sending the output? > > Also, if you are able to share the data, I could try reproducing > here. If the data is sharable, perhaps you can save the exset object > using save() (and compress=TRUE) and post it on a web/ftp that I can > download from? > > + seth > > -- > Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center > http://bioconductor.org > > _______________________________________________ > 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 -- Martin Morgan Bioconductor / Computational Biology http://bioconductor.org
ADD COMMENT
0
Entering edit mode
Hi, Many thanks. I understand more about the problem now. We look forward to the new release. Thanks and regards, Thomas -----Original Message----- From: Martin Morgan [mailto:mtmorgan@fhcrc.org] Sent: Wednesday, July 11, 2007 3:10 AM To: Thomas Lo Cc: 'Seth Falcon'; bioconductor at stat.math.ethz.ch Subject: Re: [BioC] nsFilter error Hi Thomas -- This helped a lot; the code at position 6 of the traceback is from Biobase, and involves subsetting assayData. I ran example(ReadAffy) to get the file names of some cel files, and then > res = justGCRMA(filenames=fns) > res[featureNames(res)[1],] Error: no 'dimnames' attribute for array With these clues and a peak at the justGCRMA code, I found that the problem can be reproduced with > se.exprs <- matrix(0, 5, 2) > exprs <- matrix(0, 5, 2) > dimnames(exprs) <- list(LETTERS[1:5], letters[1:2]) > es <- new("ExpressionSet", exprs=exprs, se.exprs=se.exprs) > es["A",] Error: no 'dimnames' attribute for array The key is that se.exprs does not have any dimnames, so trying to subset it causes an error. The released and development version of Biobase have been patched to try to 'harmonize' the assayData element names when possible (i.e., when some of the dimnames are NULL); The irony is that se.exprs created by justGCRMA has only 'NA' values: > any(!is.na(assayData(res)[["se.exprs"]])) [1] FALSE The patched release version should appear as 1.14.1 in the next day or so. Martin "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: > Hi Seth, > > Thanks very much for your reply! Here is what I got from traceback(): > >> traceback() > 6: switch(storage.mode, environment = , lockedEnvironment = { > aData <- new.env(parent = emptyenv()) > if (missing(i)) > for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][, j, ..., > drop = drop] > else { > if (missing(j)) > for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, > , ..., drop = drop] > else for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, > j, ..., drop = drop] > } > if ("lockedEnvironment" == storage.mode) > assayDataEnvLock(aData) > aData > }, list = { > if (missing(i)) > lapply(orig, function(obj) obj[, j, ..., drop = drop]) > else { > if (missing(j)) > lapply(orig, function(obj) obj[i, , ..., drop = drop]) > else lapply(orig, function(obj) obj[i, j, ..., drop = drop]) > } > }) > 5: eset[haveID, ] > 4: eset[haveID, ] > 3: requireID(eset, "ENTREZID") > 2: nsFilter(exset) > 1: nsFilter(exset) > > Is the output informative? I have just tried the same procedure with an > independent data set, and that produced the same error. However, if I read > the data in using ReadAffy() before performing gcrma(), then nsFilter() > appears to work fine. So perhaps something that is not compatible between > the justGCRMA() output and nsFilter()? > > Many thanks! > > Thomas > > > -----Original Message----- > From: Seth Falcon [mailto:sfalcon at fhcrc.org] > Sent: Tuesday, July 10, 2007 4:35 AM > To: Thomas Lo > Cc: bioconductor at stat.math.ethz.ch > Subject: Re: [BioC] nsFilter error > > Hi Thomas, > > "Thomas Lo" <thom.lo at="" cuhk.edu.hk=""> writes: >> I have performed a GCRMA normalization with my Affy data, and then tried > the >> 'nsFilter' function from the 'genefilter' package but got an error message >> as follows. Help much appreciated. Thanks. > >>> filterAns <- nsFilter(exset) >> >> Error: no 'dimnames' attribute for array > > Hmm, I haven't been able to reproduce this. Can you try calling > traceback() after the error message appears and sending the output? > > Also, if you are able to share the data, I could try reproducing > here. If the data is sharable, perhaps you can save the exset object > using save() (and compress=TRUE) and post it on a web/ftp that I can > download from? > > + seth > > -- > Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center > http://bioconductor.org > > _______________________________________________ > 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 -- Martin Morgan Bioconductor / Computational Biology http://bioconductor.org
ADD REPLY

Login before adding your answer.

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