[Bioc-devel] coerce ExpressionSet to SummarizedExperiment
Levi Waldron
lwaldron.research at gmail.com
Mon Sep 11 02:38:24 CEST 2017
I just dug up this old thread because I realized we still don't have a
coercion method as(sample.ExpressionSet, "SummarizedExperiment"). Since we
do have SummarizedExperiment(sample.ExpressionSet), could the coercion
method also be added easily?
> library(Biobase) > library(SummarizedExperiment) >
example("ExpressionSet")
> SummarizedExperiment(sample.ExpressionSet)class: SummarizedExperiment
dim: 500 26
metadata(0):
assays(1): ''
rownames(500): AFFX-MurIL2_at AFFX-MurIL10_at ... 31738_at 31739_at
rowData names(0):
colnames(26): A B ... Y Z
colData names(0):> as(sample.ExpressionSet,
"SummarizedExperiment")Error in as(sample.ExpressionSet,
"SummarizedExperiment") :
no method or default for coercing “ExpressionSet” to “SummarizedExperiment”
> sessionInfo()R version 3.4.0 RC (2017-04-20 r72569)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.3 LTS
Matrix products: default
BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0
LAPACK: /usr/lib/atlas-base/atlas/liblapack.so.3.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=C
attached base packages:
[1] stats4 parallel stats graphics grDevices utils
datasets methods base
other attached packages:
[1] SummarizedExperiment_1.7.5 DelayedArray_0.3.16
matrixStats_0.52.2
[4] GenomicRanges_1.29.6 GenomeInfoDb_1.13.4
IRanges_2.11.7
[7] S4Vectors_0.15.5 Biobase_2.37.2
BiocGenerics_0.23.0
loaded via a namespace (and not attached):
[1] lattice_0.20-35 bitops_1.0-6 grid_3.4.0
[4] zlibbioc_1.23.0 XVector_0.17.0 Matrix_1.2-11
[7] tools_3.4.0 RCurl_1.95-4.8 compiler_3.4.0
[10] GenomeInfoDbData_0.99.1
>
On Mon, Sep 22, 2014 at 1:54 AM, Hervé Pagès <hpages at fhcrc.org> wrote:
> 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","SummarizedEx
> periment"’:
> 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/coe
>>>> rce-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
>
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
--
Levi Waldron
http://www.waldronlab.org
Assistant Professor of Biostatistics CUNY School of Public Health
US: +1 646-364-9616 <+1%20646-364-9616>
Skype: levi.waldron
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list