[Bioc-devel] assayDat and ExpressionSet

Benilton Carvalho bcarvalh at jhsph.edu
Tue Oct 16 01:12:10 CEST 2007


Kasper,

I assume you're not working with expression arrays. Given that affy  
will not support arrays other than expression anyways, you might want  
to consider the classes we're defining on the oligoClasses package.

I'm going to start working on the pdInfo packages for tiling soon,  
and that might be useful for you too.

b

On Oct 15, 2007, at 6:36 PM, Kasper Daniel Hansen wrote:

> 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
> ("exprs")))
>      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)
>
> Kasper
>
>> Martin
>>
>>> Kasper
>>>
>>> _______________________________________________
>>> Bioc-devel at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> _______________________________________________
> 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