On 09/10/2017 08:38 PM, Levi Waldron wrote:
I just dug up this old thread because I realized we still don't have a
coercion method as(sample.ExpressionSet, "SummarizedExperiment"). Since we
try as(sample.ExpressionSet, "RangedSummarizedExperiment"); see
?makeSummarizedExperimentFromExpressionSet
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
This email message may contain legally privileged and/or...{{dropped:2}}
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel