[BioC] newbie Q about object identity

Thomas Elliott telliott at hsc.wvu.edu
Wed Oct 10 14:28:56 CEST 2007


I am new to R and Bioconductor.  I'm exploring using the  
ExpressionSet object provided in Bioconductor Biobase package called  
sample.ExpressionSet.  I'm troubled because what looks like the same  
object behaves very differently depending on my "history."

With a clean history (.Rhistory and .Rdata deleted), I get this:

 > library("genefilter")
 > data(sample.ExpressionSet)
 > eset = sample.ExpressionSet
 > eset
ExpressionSet (storageMode: lockedEnvironment)
assayData: 500 features, 26 samples
   element names: exprs, se.exprs

and this call (and others like it) work:
 > varLabels(eset)
[1] "sex"   "type"  "score"

But if I now quit and save history, then start again and go:
 > eset
An object of class “ExpressionSet”
Slot "assayData":
<environment: 0xd2eac54>

The output is very different, and this call (and others like it)  
don't work:

 > varLabels(eset)
Error: could not find function "varLabels"

The two objects are closely related.  For example, this call gives  
the same result:
 > class(eset)
[1] "ExpressionSet"
attr(,"package")
[1] "Biobase"

If I then go

 > library("genefilter")
 > data(sample.ExpressionSet)

and **without reassigning to eset**, I get the first behavior.

How can the same object behave so differently?  This is deeply  
unnerving to me coming to R from Python.

Also, it seems obvious that one is an older way of doing things.  How  
do I know which way is up to date?  This is a general issue when many  
Vignettes reference older things like exprSet objects.  I assume the  
old stuff is left in for backwards compatibility but it is an obvious  
source of confusion to the newcomer.

Thanks for any insight.

Tom Elliott

Biobase 1.16.0, genefilter 1.16.0
R 2.6.0 GUI 1.21 (4815) on OS X 10.4.10


More information about the Bioconductor mailing list