Search
Question: Error loading, on Bioconductor 1.8, exprSet generated with bioconductor 1.7
0
gravatar for raffaele calogero
11.5 years ago by
Italy/Turin/University of Torino
raffaele calogero500 wrote:
Hi, today I was working on an Affy exprSet I saved before the new release of Bioconductor (1.8). I loaded it but I got the following error when I tried to show it: library(affy) load("tr7.rma.rda") tr7.rma Error in slot(object, what) : no slot of name "pubMedIds" for this object of class "MIAME" Furthermore, if I issue the command: str(tr7.rma) I got this error: Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this object of class "exprSet" I was expecting that there should be some sort of back compatibility with at least the previous release of the exprSet. The error comes using the Biobase Version: 1.10.0. There is any way to fix the problem or Do I have to install again the old release of Bioconductor? Thanks Raf -- ---------------------------------------- Prof. Raffaele A. Calogero Bioinformatics and Genomics Unit Dipartimento di Scienze Cliniche e Biologiche c/o Az. Ospedaliera S. Luigi Regione Gonzole 10, Orbassano 10043 Torino tel. ++39 0116705420 Lab. ++39 0116705408 Fax ++39 0119038639 Mobile ++39 3333827080 email: raffaele.calogero at unito.it www: www.bioinformatica.unito.it
ADD COMMENTlink modified 11.5 years ago by Martin Morgan ♦♦ 20k • written 11.5 years ago by raffaele calogero500
0
gravatar for Martin Morgan
11.5 years ago by
Martin Morgan ♦♦ 20k
United States
Martin Morgan ♦♦ 20k wrote:
Raf -- Can you provide just a bit more information? What's the result of > class(tr7.rma) Also, I suspect that tr7.rma was created not in the last release of Biobase, but the release before that (at least). I say this because the 'reporterInfo' slot was present in the 1.7 release. In the mean time, I suspect that > show(tr7.rma) will display the contents of your object. Martin rcaloger <raffaele.calogero at="" unito.it=""> writes: > Hi, > today I was working on an Affy exprSet I saved before the new release of > Bioconductor (1.8). > I loaded it but I got the following error when I tried to show it: > library(affy) > load("tr7.rma.rda") > tr7.rma > Error in slot(object, what) : no slot of name "pubMedIds" for this > object of class "MIAME" > > Furthermore, if I issue the command: > str(tr7.rma) > I got this error: > Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this > object of class "exprSet" > > I was expecting that there should be some sort of back compatibility > with at least the previous release of the exprSet. > The error comes using the Biobase Version: 1.10.0. > > There is any way to fix the problem or Do I have to install again the > old release of Bioconductor? > Thanks > Raf > > > -- > > ---------------------------------------- > Prof. Raffaele A. Calogero > Bioinformatics and Genomics Unit > Dipartimento di Scienze Cliniche e Biologiche > c/o Az. Ospedaliera S. Luigi > Regione Gonzole 10, Orbassano > 10043 Torino > tel. ++39 0116705420 > Lab. ++39 0116705408 > Fax ++39 0119038639 > Mobile ++39 3333827080 > email: raffaele.calogero at unito.it > www: www.bioinformatica.unito.it > > _______________________________________________ > 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 COMMENTlink written 11.5 years ago by Martin Morgan ♦♦ 20k
You are right, I check the object creation, it was July 2005, therefore it was created with the release 1.6 of Bioconductor. This is the output of the class(tr7.rma) [1] "exprSet" attr(,"package") [1] "Biobase" I manage to see the content of the object with show(tr7.rma) also on Bioconductor 1.8. However, the str(tr7.rma) gives the error Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this object of class "exprSet" I have then created a new instace of exprSet in the following way: pd.xx<-new("phenoData") pData(pd.xx)<-pData(tr7.rma) xx<-new('exprSet', exprs = exprs(tr7.rma), phenoData=pd.xx) tr7.rma<-xx I had to recreate also the phenoData instance since the varMetadata variable was missed in my phenoData. However, this problem rise the question: is ti reasonable to use exprSet objects as backup? Thanks for your help Raffaele Martin Morgan wrote: >Raf -- > >Can you provide just a bit more information? What's the result of > > > >>class(tr7.rma) >> >> > >Also, I suspect that tr7.rma was created not in the last release of >Biobase, but the release before that (at least). I say this because >the 'reporterInfo' slot was present in the 1.7 release. > >In the mean time, I suspect that > > > >>show(tr7.rma) >> >> > >will display the contents of your object. > >Martin > >rcaloger <raffaele.calogero at="" unito.it=""> writes: > > > >>Hi, >>today I was working on an Affy exprSet I saved before the new release of >>Bioconductor (1.8). >>I loaded it but I got the following error when I tried to show it: >>library(affy) >>load("tr7.rma.rda") >>tr7.rma >>Error in slot(object, what) : no slot of name "pubMedIds" for this >>object of class "MIAME" >> >>Furthermore, if I issue the command: >>str(tr7.rma) >>I got this error: >>Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this >>object of class "exprSet" >> >>I was expecting that there should be some sort of back compatibility >>with at least the previous release of the exprSet. >>The error comes using the Biobase Version: 1.10.0. >> >>There is any way to fix the problem or Do I have to install again the >>old release of Bioconductor? >>Thanks >>Raf >> >> >>-- >> >>---------------------------------------- >>Prof. Raffaele A. Calogero >>Bioinformatics and Genomics Unit >>Dipartimento di Scienze Cliniche e Biologiche >>c/o Az. Ospedaliera S. Luigi >>Regione Gonzole 10, Orbassano >>10043 Torino >>tel. ++39 0116705420 >>Lab. ++39 0116705408 >>Fax ++39 0119038639 >>Mobile ++39 3333827080 >>email: raffaele.calogero at unito.it >>www: www.bioinformatica.unito.it >> >>_______________________________________________ >>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 >> >> -- ---------------------------------------- Prof. Raffaele A. Calogero Bioinformatics and Genomics Unit Dipartimento di Scienze Cliniche e Biologiche c/o Az. Ospedaliera S. Luigi Regione Gonzole 10, Orbassano 10043 Torino tel. ++39 0116705420 Lab. ++39 0116705408 Fax ++39 0119038639 Mobile ++39 3333827080 email: raffaele.calogero at unito.it www: www.bioinformatica.unito.it
ADD REPLYlink written 11.5 years ago by raffaele calogero500
Hi Raffaele, rcaloger wrote: > However, this problem rise the question: is ti reasonable to use exprSet > objects as backup? There are (at least) two ways to save the results of an analysis. The first is to save your workspace as a binary .RData object, and load it later if you want to do more work, etc. I have no idea if this is a common thing to do, but you can run into the problems you have experienced if you do so. Personally, I have never used this approach, and I would bet that is true of most experienced R users. The second is to save the code you used to do the analysis. If you want to re-run the analysis or do more work, all you have to do is source() the code and then continue on. The obvious downside of this approach is the time required to re-run the code. However, I find that the vast majority of the analyses I do can be re-run in a matter of minutes. If I have something that took a long time to run, I will usually write the results to disk (using write.table()), and then I can use read.table() to read it back in. Using some sort of R-aware editor such as (X)emacs/ESS makes saving your code much more straightforward, not to mention all the niceties such as parentheses matching, highlighting, etc. HTH, Jim > Thanks for your help > Raffaele -- 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 REPLYlink written 11.5 years ago by James W. MacDonald45k
James W. MacDonald wrote: > Hi Raffaele, > > rcaloger wrote: > >>However, this problem rise the question: is ti reasonable to use exprSet >>objects as backup? > > > There are (at least) two ways to save the results of an analysis. The > first is to save your workspace as a binary .RData object, and load it > later if you want to do more work, etc. I have no idea if this is a > common thing to do, but you can run into the problems you have > experienced if you do so. Personally, I have never used this approach, > and I would bet that is true of most experienced R users. I use a combination of approaches, saving .RData (but giving it a specific name and NOT saving everything in the workspace but only those objects that are "important"), but also saving all code to reproduce the analysis. Often, I need to just reproduce a figure, or some such thing, and I want to do it with EXACTLY the same data that I used to produce the first. This isn't always possible, but often is. > The second is to save the code you used to do the analysis. If you want > to re-run the analysis or do more work, all you have to do is source() > the code and then continue on. The obvious downside of this approach is > the time required to re-run the code. However, I find that the vast > majority of the analyses I do can be re-run in a matter of minutes. If I > have something that took a long time to run, I will usually write the > results to disk (using write.table()), and then I can use read.table() > to read it back in. > > Using some sort of R-aware editor such as (X)emacs/ESS makes saving your > code much more straightforward, not to mention all the niceties such as > parentheses matching, highlighting, etc. > > HTH, > > Jim > > > > >>Thanks for your help >>Raffaele > > >
ADD REPLYlink written 11.5 years ago by Sean Davis21k
0
gravatar for Martin Morgan
11.5 years ago by
Martin Morgan ♦♦ 20k
United States
Martin Morgan ♦♦ 20k wrote:
Hi Raf, Thanks for the clarification. It sounds like you've found a good solution. The long-term intention is to move away from exprSet as the basic building block, and toward a similar 'ExpressionSet' class. With this in mind, you could also have done (with the current version of Biobase) > obj <- as(tr7.rma, "ExpressionSet") to obtain an ExpressionSet from your (broken) exprSet. An ExpressionSet has methods like exprs(), phenoData(), and pData() that work as exprSet methods, so for many purposes having an ExpressionSet is a great replacement for exprSet. It's important to be able to return to previous versions of objects, and make them 'current'. To that end, the development version of Biobase introduces ways of 'versioning' objects (so that it's easy to figure out when the object was created) and an 'updateObject' method to bring an object up to date. So in the next release of Biobase (available to those already using the 'development' branch of R) you'll be able to > obj <- updateObject(tr76.rma) and stand a reasonable chance of getting an object that satisfies the current definition of exprSet. Finally, the following function might work to update exprSet-like (and perhaps other) objects to their current version. This might be useful until the next release of Bioconductor. Martin updateObject <- function(x, xclass=class(x), verbose=FALSE) { if (is(x, "environment")) { if (verbose) message("returning original object of class 'environment'") return(x) } news <- names(getSlots(xclass)) if (is.null(news)) { if (verbose) message("definition of '", xclass, "' has no slots; ", "returning original object") return(x) } errf <- function(...) function(err) { if (verbose) message(..., ":\n ", conditionMessage(err), "\n trying next method...") NULL } if (verbose) message("updateObject('", xclass, "')") olds <- attributes(unclass(x)) joint <- intersect(names(olds), news) olds[joint] <- lapply(olds[joint], updateObject, verbose=verbose) res <- NULL if (is.null(res)) res <- tryCatch({ do.call("new", c(xclass, olds[joint])) }, error=errf("'new(\"",xclass,"\", ...)' from slots failed")) if (is.null(res)) res <- tryCatch({ obj <- do.call("new", list(xclass)) for (slt in joint) slot(obj, slt) <- slot(x, slt) obj }, error=errf("failed to add slots to 'new(\"",xclass,"\", ...)'")) if (is.null(res)) stop("could not updateObject to class '", xclass, "'") validObject(res) res } rcaloger <raffaele.calogero at="" unito.it=""> writes: > You are right, I check the object creation, it was July 2005, > therefore it was created with the release 1.6 of Bioconductor. > This is the output of the class(tr7.rma) > [1] "exprSet" > attr(,"package") > [1] "Biobase" > > I manage to see the content of the object with show(tr7.rma) also on > Bioconductor 1.8. > However, the str(tr7.rma) gives the error > > Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this > object of class "exprSet" > > > I have then created a new instace of exprSet in the following way: > pd.xx<-new("phenoData") > pData(pd.xx)<-pData(tr7.rma) > xx<-new('exprSet', exprs = exprs(tr7.rma), phenoData=pd.xx) > tr7.rma<-xx > > I had to recreate also the phenoData instance since the varMetadata > variable was missed in my phenoData. > However, this problem rise the question: is ti reasonable to use > exprSet objects as backup? > Thanks for your help > Raffaele > > Martin Morgan wrote: > >>Raf -- >> >>Can you provide just a bit more information? What's the result of >> >> >> >>>class(tr7.rma) >>> >>> >> >>Also, I suspect that tr7.rma was created not in the last release of >>Biobase, but the release before that (at least). I say this because >>the 'reporterInfo' slot was present in the 1.7 release. >> >>In the mean time, I suspect that >> >> >> >>>show(tr7.rma) >>> >>> >> >>will display the contents of your object. >> >>Martin >> >>rcaloger <raffaele.calogero at="" unito.it=""> writes: >> >> >> >>>Hi, >>> today I was working on an Affy exprSet I saved before the new >>> release of Bioconductor (1.8). >>>I loaded it but I got the following error when I tried to show it: >>>library(affy) >>>load("tr7.rma.rda") >>>tr7.rma >>> Error in slot(object, what) : no slot of name "pubMedIds" for this >>> object of class "MIAME" >>> >>>Furthermore, if I issue the command: >>>str(tr7.rma) >>>I got this error: >>> Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this >>> object of class "exprSet" >>> >>> I was expecting that there should be some sort of back >>> compatibility with at least the previous release of the exprSet. >>>The error comes using the Biobase Version: 1.10.0. >>> There is any way to fix the problem or Do I have to install again >>> the old release of Bioconductor? >>>Thanks >>>Raf >>> >>> >>> -- >>> >>>---------------------------------------- >>>Prof. Raffaele A. Calogero >>>Bioinformatics and Genomics Unit >>>Dipartimento di Scienze Cliniche e Biologiche >>>c/o Az. Ospedaliera S. Luigi >>>Regione Gonzole 10, Orbassano >>>10043 Torino >>>tel. ++39 0116705420 >>>Lab. ++39 0116705408 >>>Fax ++39 0119038639 >>>Mobile ++39 3333827080 >>>email: raffaele.calogero at unito.it >>>www: www.bioinformatica.unito.it >>> >>>_______________________________________________ >>>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 >>> >>> > > > -- > > ---------------------------------------- > Prof. Raffaele A. Calogero > Bioinformatics and Genomics Unit > Dipartimento di Scienze Cliniche e Biologiche > c/o Az. Ospedaliera S. Luigi > Regione Gonzole 10, Orbassano > 10043 Torino > tel. ++39 0116705420 > Lab. ++39 0116705408 > Fax ++39 0119038639 > Mobile ++39 3333827080 > email: raffaele.calogero at unito.it > www: www.bioinformatica.unito.it
ADD COMMENTlink written 11.5 years ago by Martin Morgan ♦♦ 20k
Hi Martin, many thanks for you kind suggestions and informations. Yours comments come at the right time since I am starting to play around with the 'ExpressionSet' class to reorganize the structure of the applera library we have developed. Best Raf Martin Morgan wrote: >Hi Raf, > >Thanks for the clarification. It sounds like you've found a good >solution. > >The long-term intention is to move away from exprSet as the basic >building block, and toward a similar 'ExpressionSet' class. With this >in mind, you could also have done (with the current version of >Biobase) > > > >>obj <- as(tr7.rma, "ExpressionSet") >> >> > >to obtain an ExpressionSet from your (broken) exprSet. An >ExpressionSet has methods like exprs(), phenoData(), and pData() that >work as exprSet methods, so for many purposes having an ExpressionSet >is a great replacement for exprSet. > >It's important to be able to return to previous versions of objects, >and make them 'current'. To that end, the development version of >Biobase introduces ways of 'versioning' objects (so that it's easy to >figure out when the object was created) and an 'updateObject' method >to bring an object up to date. So in the next release of Biobase >(available to those already using the 'development' branch of R) >you'll be able to > > > >>obj <- updateObject(tr76.rma) >> >> > >and stand a reasonable chance of getting an object that satisfies the >current definition of exprSet. > >Finally, the following function might work to update exprSet-like (and >perhaps other) objects to their current version. This might be useful >until the next release of Bioconductor. > >Martin > >updateObject <- function(x, xclass=class(x), verbose=FALSE) { > if (is(x, "environment")) { > if (verbose) > message("returning original object of class 'environment'") > return(x) > } > news <- names(getSlots(xclass)) > if (is.null(news)) { > if (verbose) message("definition of '", xclass, "' has no slots; ", > "returning original object") > return(x) > } > errf <- function(...) > function(err) { > if (verbose) > message(..., ":\n ", conditionMessage(err), > "\n trying next method...") > NULL > } > if (verbose) message("updateObject('", xclass, "')") > olds <- attributes(unclass(x)) > joint <- intersect(names(olds), news) > olds[joint] <- lapply(olds[joint], updateObject, verbose=verbose) > res <- NULL > if (is.null(res)) > res <- > tryCatch({ > do.call("new", c(xclass, olds[joint])) > }, error=errf("'new(\"",xclass,"\", ...)' from slots failed")) > if (is.null(res)) > res <- > tryCatch({ > obj <- do.call("new", list(xclass)) > for (slt in joint) slot(obj, slt) <- slot(x, slt) > obj > }, error=errf("failed to add slots to 'new(\"",xclass,"\", ...)'")) > if (is.null(res)) > stop("could not updateObject to class '", xclass, "'") > validObject(res) > res >} > > > > >rcaloger <raffaele.calogero at="" unito.it=""> writes: > > > >>You are right, I check the object creation, it was July 2005, >>therefore it was created with the release 1.6 of Bioconductor. >>This is the output of the class(tr7.rma) >>[1] "exprSet" >>attr(,"package") >>[1] "Biobase" >> >>I manage to see the content of the object with show(tr7.rma) also on >>Bioconductor 1.8. >>However, the str(tr7.rma) gives the error >> >>Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this >>object of class "exprSet" >> >> >>I have then created a new instace of exprSet in the following way: >>pd.xx<-new("phenoData") >>pData(pd.xx)<-pData(tr7.rma) >>xx<-new('exprSet', exprs = exprs(tr7.rma), phenoData=pd.xx) >>tr7.rma<-xx >> >>I had to recreate also the phenoData instance since the varMetadata >>variable was missed in my phenoData. >>However, this problem rise the question: is ti reasonable to use >>exprSet objects as backup? >>Thanks for your help >>Raffaele >> >> Martin Morgan wrote: >> >> >> >>>Raf -- >>> >>>Can you provide just a bit more information? What's the result of >>> >>> >>> >>> >>> >>>>class(tr7.rma) >>>> >>>> >>>> >>>> >>>Also, I suspect that tr7.rma was created not in the last release of >>>Biobase, but the release before that (at least). I say this because >>>the 'reporterInfo' slot was present in the 1.7 release. >>> >>>In the mean time, I suspect that >>> >>> >>> >>> >>> >>>>show(tr7.rma) >>>> >>>> >>>> >>>> >>>will display the contents of your object. >>> >>>Martin >>> >>>rcaloger <raffaele.calogero at="" unito.it=""> writes: >>> >>> >>> >>> >>> >>>>Hi, >>>>today I was working on an Affy exprSet I saved before the new >>>>release of Bioconductor (1.8). >>>>I loaded it but I got the following error when I tried to show it: >>>>library(affy) >>>>load("tr7.rma.rda") >>>>tr7.rma >>>>Error in slot(object, what) : no slot of name "pubMedIds" for this >>>>object of class "MIAME" >>>> >>>>Furthermore, if I issue the command: >>>>str(tr7.rma) >>>>I got this error: >>>>Error in FUN(X[[6]], ...) : no slot of name "reporterInfo" for this >>>>object of class "exprSet" >>>> >>>>I was expecting that there should be some sort of back >>>>compatibility with at least the previous release of the exprSet. >>>>The error comes using the Biobase Version: 1.10.0. >>>>There is any way to fix the problem or Do I have to install again >>>>the old release of Bioconductor? >>>>Thanks >>>>Raf >>>> >>>> >>>>-- >>>> >>>>---------------------------------------- >>>>Prof. Raffaele A. Calogero >>>>Bioinformatics and Genomics Unit >>>>Dipartimento di Scienze Cliniche e Biologiche >>>>c/o Az. Ospedaliera S. Luigi >>>>Regione Gonzole 10, Orbassano >>>>10043 Torino >>>>tel. ++39 0116705420 >>>>Lab. ++39 0116705408 >>>>Fax ++39 0119038639 >>>>Mobile ++39 3333827080 >>>>email: raffaele.calogero at unito.it >>>>www: www.bioinformatica.unito.it >>>> >>>>_______________________________________________ >>>>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 >>>> >>>> >>>> >>>> >>-- >> >>---------------------------------------- >>Prof. Raffaele A. Calogero >>Bioinformatics and Genomics Unit >>Dipartimento di Scienze Cliniche e Biologiche >>c/o Az. Ospedaliera S. Luigi >>Regione Gonzole 10, Orbassano >>10043 Torino >>tel. ++39 0116705420 >>Lab. ++39 0116705408 >>Fax ++39 0119038639 >>Mobile ++39 3333827080 >>email: raffaele.calogero at unito.it >>www: www.bioinformatica.unito.it >> >> -- ---------------------------------------- Prof. Raffaele A. Calogero Bioinformatics and Genomics Unit Dipartimento di Scienze Cliniche e Biologiche c/o Az. Ospedaliera S. Luigi Regione Gonzole 10, Orbassano 10043 Torino tel. ++39 0116705420 Lab. ++39 0116705408 Fax ++39 0119038639 Mobile ++39 3333827080 email: raffaele.calogero at unito.it www: www.bioinformatica.unito.it Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
ADD REPLYlink written 11.5 years ago by raffaele calogero500
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 2.2.0
Traffic: 304 users visited in the last hour