[Bioc-devel] coerce ExpressionSet to SummarizedExperiment
Hervé Pagès
hpages at fhcrc.org
Mon Sep 22 07:54:00 CEST 2014
Hi,
On 09/20/2014 11:14 AM, Martin Morgan wrote:
> On 09/20/2014 10:43 AM, Sean Davis wrote:
>> Hi, Vince.
>>
>> Looks like a good start. I'd probably pull all the assays from
>> ExpressionSet into SummarizedExperiment as the default, avoiding data
>> coercion methods that are unnecessarily lossy. Also, as it stands, the
>> assayname argument is not used anyway?
>
> I think there will be some resistance to uniting the 'Biobase' and
> 'IRanges' realms under 'GenomicRanges';
This coercion method could be defined (1) in Biobase (where
ExpressionSet is defined), (2) in GenomicRanges (where
SummarizedExperiment is defined), or (3) in a package that
depends on Biobase and GenomicRanges.
Since it's probably undesirable to make Biobase depend on GenomicRanges
or vice-versa, we would need to use Suggests for (1) or (2). That
means we would get a note like this at installation time:
** preparing package for lazy loading
in method for ‘coerce’ with signature
‘"ExpressionSet","SummarizedExperiment"’:
no definition for class “SummarizedExperiment”
Not very clean but it works.
(3) is a cleaner solution but then the coercion method would
not necessarily be available to the user when s/he needs it (unless
s/he knows what extra package to load). The obvious advantage of
putting the method in Biobase is that if a user has an ExpressionSet,
then s/he necessarily has Biobase attached and the method is already
in her/his search path.
Another solution would be (4) to move SummarizedExperiment somewhere
else. That would be in a package that depends on GenomicRanges and
Biobase, and the coercion method would be defined there.
H.
> considerable effort has gone in
> to making a rational hierarchy of package dependencies [perhaps Herve
> will point to some of his ASCII art on the subject].
>
> I have some recollection of (recent) discussion related to this topic in
> the DESeq2 realm, but am drawing a blank; presumably Michael or Wolfgang
> or ... will chime in.
>
> Martin
>
>>
>> Sean
>>
>>
>> On Sat, Sep 20, 2014 at 10:38 AM, Vincent Carey
>> <stvjc at channing.harvard.edu>
>> wrote:
>>
>>> do we have a facility for this?
>>>
>>> if not, we have
>>>
>>> https://github.com/vjcitn/biocMultiAssay/blob/master/R/exs2se.R
>>>
>>> https://github.com/vjcitn/biocMultiAssay/blob/master/man/coerce-methods.Rd
>>>
>>>
>>> it occurred to me that we might want something like this in
>>> GenomicRanges
>>> (that's where SummarizedExperiment is managed, right?) and I will add it
>>> if there are no objections
>>>
>>> the arguments are currently
>>>
>>> assayname = "exprs", # for naming SimpleList element
>>> fngetter =
>>> function(z) rownames(exprs(z)), # extract usable
>>> feature names
>>> annDbGetter =
>>> function(z) {
>>> clnanno = sub(".db", "", annotation(z))
>>> stopifnot(require(paste0(annotation(z), ".db"),
>>> character.only=TRUE) )
>>> get(paste0(annotation(z), ".db")) # obtain resource for
>>> mapping feature names to coordinates
>>> },
>>> probekeytype = "PROBEID", # chipDb field to use
>>> duphandler = function(z) { # action to take to process
>>> duplicated
>>> features
>>> if (any(isd <- duplicated(z[,"PROBEID"])))
>>> return(z[!isd,,drop=FALSE])
>>> z
>>> },
>>> signIsStrand = TRUE, # verify that signs of addresses define
>>> strand
>>> ucsdChrnames = TRUE # prefix 'chr' to chromosome token
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioc-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
>
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the Bioc-devel
mailing list