[BioC] Does old workspace work?

Martin Morgan mtmorgan at fhcrc.org
Thu Oct 30 21:33:55 CET 2008


Hi Loren --

Loren Engrav <engrav at u.washington.edu> writes:

> With the show(obj) function and the write.table function, I can see the
> stuff in the old objects so that may solve the immediate problem
>
> But changing exprSet to ExpressionSet is attractive
> And I see it has been discussed before (see below)
>
> ===========================
> [BioC] Error loading, on Bioconductor 1.8, exprSet generated with
> bioconductor 1.7
> Martin Morgan mtmorgan at fhcrc.org
> Thu Jun 8 18:11:14 CEST 2006
>
>         Previous message: [BioC] Error loading, on Bioconductor 1.8,
> exprSet generated with bioconductor 1.7
>         Next message: [BioC] [SPAM] Re: Error loading, on Bioconductor 1.8,
> exprSet generated with bioconductor 1.7
>         Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
>
> 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.
> =============================================
>
> So I try
>> ABeset_gcrmaExpressionSet <- as (ABeset_gcrma, "ExpressionSet")
> And get
>
> Loading required package: Biobase
> Loading required package: tools
>
> Welcome to Bioconductor
>
>   Vignettes contain introductory material. To view, type
>   'openVignette()'. To cite Bioconductor, see
>   'citation("Biobase")' and for packages 'citation(pkgname)'.
>
> Warning message:
> In asMethod(object) :
>   missing or mis-shaped 'se.exprs' in original object; creating
> ExpressionSet without se.exprs

At this point I think ABeset_gcrmaExpressionSet is fine; this is a
'warning' message, not an error. The exprSet instance was 'supposed'
to contain an se.exprs matrix, but my guess is that ABeset_gcrma did
not (many exprSet instances did not). You might have luck with

> str(ABeset_gcrma)

you might see something like (it's a little hard to recreate this on
2.8.0)

Formal class 'exprSet' [package "Biobase"] with 8 slots
  ..@ exprs            : num [1:500, 1:26] 192.7  97.1  45.8
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:500] "AFFX-MurIL2_at" "AFFX-MurIL10_at"
  .. .. ..$ : chr [1:26] "A" "B" "C" "D" ...
  ..@ se.exprs         : num [1:500, 1:26] 2.85 3.24 3.05
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:500] "AFFX-MurIL2_at" "AFFX-MurIL10_at"
  .. .. ..$ : chr [1:26] "A" "B" "C" "D" ...
 
etc if se.exprs has dimensions 0 (instead of 'chr [1:500]' and 'chr
[1:26]' in the example above) then the se.exprs was missing or empty
and hence its loss not important. If it's not missing, then you can
decide how aggressively you want to rehabilitate your data. Likely
you'll be able to retrieve the se.exprs with

> se <- slot(ABeset_gcrma, "se.exprs")

manipulate it to have the same dimenions and dimnames as your
ExpressionSet has, and add it, e.g.,

> assayData(ABeset_gcrmaExpressionSet)[["se.exprs"]] <- se

I think normally you'll not have to go through these steps though, the
se.exprs of exprSet will have had no data in it.

> Then I try
>> ABeset_gcrmaUPDATE <- updateObject(ABeset_gcrma)
> And get
> Error in updateObjectFromSlots(object, ..., verbose = verbose) :
>   could not updateObject to class 'phenoData'
> consider defining an 'updateObject' method for class 'phenoData'

updateObject is meant to update 'within a class', e.g., from an old
version of ExpressionSet to a new version of ExpressionSet. Use 'as'
and you are probably ok.

There may be issues, especially with very old exprSets, so let me know
if you have problems.

Martin


> All with
>> sessionInfo()
> R version 2.8.0 Patched (2008-10-26 r46783)
> i386-apple-darwin9.5.0
>
> locale:
> C
>
> attached base packages:
> [1] tools     stats     graphics  grDevices utils     datasets  methods
> base     
>
> other attached packages:
> [1] Biobase_2.2.0
>
>> .Machine$sizeof.pointer
> [1] 8
>
> Now since I can "see" the data with show and write.table I should probably
> quit, but for the fun of it, are either of these messages a "quick fix" for
> a novice?
>>
>>
>>
>>
>>
>>
>>
>>
>> From: Robert Gentleman <rgentlem at fhcrc.org>
>> Date: Tue, 28 Oct 2008 11:57:36 -0700
>> To: Loren Engrav <engrav at u.washington.edu>
>> Cc: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>> Subject: Re: [BioC] Does old workspace work?
>> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> 
>> Re the quality of the link: You need to ask the owner, not this list
>> 
>> and the answer to your second question is that it depends on what you
>> want to catch up on.  Ideally packages should have up to date vignettes,
>> and they are your main starting point. Contact maintainers if the
>> vignettes are incomplete or out of date.
>> 
>> best wishes
>>   Robert
>> 
>> Loren Engrav wrote:
>>> Ok, I can deal with change
>>> 
>>> One more question, to learn about and deal with the deprecated stuff
>>> 
>>> Is the file at the url below current, or out of date?
>>> 
>>> http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/R_BioCondManual.html#BioC
>>> primer
>>> 
>>> If it is out of date, is there a better url to catch up fast?
>>> 
>>>> From: Robert Gentleman <rgentlem at fhcrc.org>
>>>> Date: Tue, 28 Oct 2008 09:56:31 -0700
>>>> To: Loren Engrav <engrav at u.washington.edu>
>>>> Cc: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>>> Subject: Re: [BioC] Does old workspace work?
>>>> 
>>> Loren Engrav wrote:
>>>>>> Ok, I will get my stuff modern
>>>>>> One more question
>>>>>> Those old saved workspaces and histories might be 32bit from before I went
>>>>>> to 64bit
>>>>>> If they are 32bit workspaces will they work in 64bit (save for the
>>>>>> deprecated stuff)
>>>   Currently that is the case.  But I am not sure how long it will remain
>>> so, as it means that R cannot be truly 64bit, so likely in the next year
>>> or so some change will be needed.  Of course, one will always be able to
>>> read 32 bit workspaces in 64bits, but the converse will not likely hold
>>> for very much longer
>>> 
>>>   Robert
>>> 
>>> 
>>>>>> 
>>>>>>> From: Robert Gentleman <rgentlem at fhcrc.org>
>>>>>>> Date: Mon, 27 Oct 2008 22:31:21 -0700
>>>>>>> To: Loren Engrav <engrav at u.washington.edu>
>>>>>>> Cc: "bioconductor at stat.math.ethz.ch" <bioconductor at stat.math.ethz.ch>
>>>>>>> Subject: Re: [BioC] Does old workspace work?
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> Loren Engrav wrote:
>>>>>>>>> sessionInfo()
>>>>>>>> R version 2.8.0 Patched (2008-10-26 r46783)
>>>>>>>> i386-apple-darwin9.5.0
>>>>>>>> 
>>>>>>>> locale:
>>>>>>>> en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>>>>>>> 
>>>>>>>> attached base packages:
>>>>>>>> [1] splines   tools     stats     graphics  grDevices utils     datasets
>>>>>>>> methods   base
>>>>>>>> 
>>>>>>>> other attached packages:
>>>>>>>> [1] simpleaffy_2.18.0  genefilter_1.22.0  survival_2.34-1
>>>>>>>> affyio_1.10.0
>>>>>>>> porcinecdf_2.3.0   gcrma_2.14.0       matchprobes_1.14.0 affy_1.20.0
>>>>>>>> Biobase_2.2.0
>>>>>>>> 
>>>>>>>> loaded via a namespace (and not attached):
>>>>>>>> [1] AnnotationDbi_1.4.0  DBI_0.2-4            RSQLite_0.7-1
>>>>>>>> annotate_1.20.0      preprocessCore_1.4.0
>>>>>>>> 
>>>>>>>> ==============
>>>>>>>> A year or so ago I ran 64bit R on Mac PPC and saved various workspaces
>>>>>>>> 
>>>>>>>> Now am running 64bit R on Intel 2x3.2 QuadCore and MacOS 10.5.5
>>>>>>>> 
>>>>>>>> I load up the old workspaces
>>>>>>>> and I enter
>>>>>>>> 
>>>>>>>>> write.exprs(ABeset_gcrma, file="ABeset_gcrma081028orig.txt")
>>>>>>>> Where ABeset_gcrma is an old file
>>>>>>>> 
>>>>>>>> and I get
>>>>>>>> Error in function (classes, fdef, mtable)  :
>>>>>>>> unable to find an inherited method for function "write.exprs", for
>>>>>>>> signature
>>>>>>>> "exprSet"
>>>>>>>> 
>>>>>>>    It was probably more than a year ago - the exprSet class was
>>>>>>> deprecated and subsequently made defunct.
>>>>>>> 
>>>>>>>    You could try to do:
>>>>>>>   library(Biobase)
>>>>>>> 
>>>>>>>    updateObject(ABeset_gcrma)
>>>>>>> 
>>>>>>>   failing that, you can try something like
>>>>>>>    write.table(ABeset_gcrma at exprs,
>>>>>>> file="ABeset_gcrma081028orig.txt",uote = FALSE, sep = "\t",
>>>>>>>          col.names = NA)
>>>>>>> 
>>>>>>>   or something like that.
>>>>>>> 
>>>>>>>> And I enter
>>>>>>>>> exprs2excel(ABeset_gcrma, file="ABeset_gcrma081028v2.csv")
>>>>>>>> And I get
>>>>>>>> Error: could not find function "exprs2excel"
>>>>>>>    That function has been made defunct.
>>>>>>>> Am I doing something wrong?
>>>>>>>    No, you just can't expect that things won't change.
>>>>>>> 
>>>>>>>   best wishes
>>>>>>>     Robert
>>>>>>> 
>>>>>>>> Thank you
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>>>>>> 
>>>>>>> -- 
>>>>>>> Robert Gentleman, PhD
>>>>>>> Program in Computational Biology
>>>>>>> Division of Public Health Sciences
>>>>>>> Fred Hutchinson Cancer Research Center
>>>>>>> 1100 Fairview Ave. N, M2-B876
>>>>>>> PO Box 19024
>>>>>>> Seattle, Washington 98109-1024
>>>>>>> 206-667-7700
>>>>>>> rgentlem at fhcrc.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
>>>>>> 
>> 
>>> _______________________________________________
>>> 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
>> 
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v2.0.9 (GNU/Linux)
>> Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
>> 
>> iEYEARECAAYFAkkHYKAACgkQ6fE3kSKck1NjswCfQmXWj+2ny14EFrCB+4eNinxo
>> kOkAnRAK5j9/K01A3zHf80OR2akCmL6P
>> =NtCJ
>> -----END PGP SIGNATURE-----
>
> _______________________________________________
> 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
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M2 B169
Phone: (206) 667-2793



More information about the Bioconductor mailing list