[Bioc-devel] assayDat and ExpressionSet

Kasper Daniel Hansen khansen at stat.Berkeley.EDU
Tue Oct 16 00:36:53 CEST 2007

On Oct 15, 2007, at 3:04 PM, Martin Morgan wrote:

> Kasper Daniel Hansen <khansen at stat.berkeley.edu> writes:
>> There is currently (release version) no enforcement on whether an
>> ExpressionSet has one or more assayData members not called "exprs".
>> Is this intentional and will it be stable?
> ExpressionSet assayData has to have exprs, but can have additional
> members. 'Expression' is meant to imply summarized probe-set
> expression values rather than raw probe-level intensities.

Ok, makes sense. Not too happy with the distinction though, because  
not all data have the concept of probesets. But that does not matter.

>> Also, any particular reason why some of the validity functions like
>> validMsg (and some others as well) is not exported from Biobase? They
>> seem useful for validity tests.
> The usual reasons of being a little ad hoc and experimental, and not
> wanting to guarantee that they are permanent. Easy enough to export,
> and unless I hear otherwise I'll do that. Others for export?

I was just copying some validation code you wrote into my own  
package, from Biobase

setValidity("ExpressionSet", function(object) {
     msg <- validMsg(NULL, isValidVersion(object, "ExpressionSet"))
     msg <- validMsg(msg, assayDataValidMembers(assayData(object), c 
     if (is.null(msg)) TRUE else msg

whereas the SwirlSet in the vignette has

setValidity("SwirlSet", function(object) {
   assayDataValidMembers(assayData(object), c("R", "G", "Rb", "Gb"))

So I just went for an SwirlSet like approach.

>> Finally, as AffyBatch inherits from eSet there is no requirement (as
>> far as I can see) that an AffyData object has an "exprs" assayData
>> member. Shouldn't AffyBatch inherit from ExpressionSet (of course
>> that depends on the answer to my first question).
> They're structurally similar but conceptually distinct; many of the
> analyses you'd do on expression values would not make sense on raw
> intensities. (Most of the functionality of ExpressionSet is inherited
> from eSet).
> This distinction is blurred by early use of 'exprs' for naming and
> extracting the assayData element of AffyBatch; attempts to move away
> from exprs generated confusion.
> Probably several packages mis-use ExpressionSet.
> You didn't ask, but probably AffyBatch should have a validity method
> that checks for an appropriately dimensioned exprs element in
> assayData.

Of course.

While I am at it: we are dropping phenoData completely right? It is a  
bit confusing that all the new classes have phenoData slots which are  
of class AnnotatedDataFrame. Well, it is mostly confusing because the  
phenoData class is still around.

Shouldn't varLabels(annotatedDataFrame) return object at varMetadata 
$labelDescription if the varMetadata slot exists instead of as now  
where it just yields names(object at data)


> Martin
>> Kasper
>> _______________________________________________
>> Bioc-devel at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel

More information about the Bioc-devel mailing list