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 <hpa...@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 >>> <st...@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@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >>>> >>>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> Bioc-devel@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: hpa...@fhcrc.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > > _______________________________________________ > Bioc-devel@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]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel