[Bioc-devel] SummarizedExperiments not equal after serialisation

Aaron Lun |n||n|te@monkey@@w|th@keybo@rd@ @end|ng |rom gm@||@com
Sun May 12 00:09:11 CEST 2019


I would say it's much worse than mismatching class definitions.

https://github.com/Bioconductor/SummarizedExperiment/issues/16

-A

On 5/11/19 5:07 AM, Martin Morgan wrote:
> I think it has to do with the use of reference classes in the assay slot, which have different environments
> 
>    se = SummarizedExperiment()
>    saveRDS(se, fl <- tempfile())
>    se1 = readRDS(fl)
> 
> and then
> 
>> all.equal(se using assays, se1 using assays)
> [1] "Class definitions are not identical"
>> all.equal(se using assays@.xData, se1 using assays@.xData)
> [1] "Component \".self\": Class definitions are not identical"
>> se using assays@.xData
> <environment: 0x7fb1de1ede90>
>> se1 using assays@.xData
> <environment: 0x7fb1fc2bca78>
> 
> Martin
> 
> On 5/11/19, 6:38 AM, "Bioc-devel on behalf of Laurent Gatto" <bioc-devel-bounces using r-project.org on behalf of laurent.gatto using uclouvain.be> wrote:
> 
>      I would appreciate some background about the following:
>      
>      > suppressPackageStartupMessages(library("SummarizedExperiment"))
>      > set.seed(1L)
>      > m <- matrix(rnorm(16), ncol = 4, dimnames = list(letters[1:4], LETTERS[1:4]))
>      > rowdata <- DataFrame(X = 1:4, row.names = letters[1:4])
>      > se1 <- SummarizedExperiment(m, rowData = rowdata)
>      > se2 <- SummarizedExperiment(m, rowData = rowdata)
>      > all.equal(se1, se2)
>      [1] TRUE
>      
>      But after serialising and reading se2, the two instances aren't equal any more:
>      
>      > saveRDS(se2, file = "se2.rds")
>      > rm(se2)
>      > se2 <- readRDS("se2.rds")
>      > all.equal(se1, se2)
>      [1] "Attributes: < Component “assays”: Class definitions are not identical >"
>      
>      Session information provided below.
>      
>      Thank you in advance,
>      
>      Laurent
>      
>      
>      R version 3.6.0 RC (2019-04-21 r76417)
>      Platform: x86_64-pc-linux-gnu (64-bit)
>      Running under: Ubuntu 18.04.2 LTS
>      
>      Matrix products: default
>      BLAS:   /usr/lib/x86_64-linux-gnu/libf77blas.so.3.10.3
>      LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3
>      
>      locale:
>       [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>       [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=en_US.UTF-8
>       [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=en_US.UTF-8
>       [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C
>       [9] LC_ADDRESS=C               LC_TELEPHONE=C
>      [11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C
>      
>      attached base packages:
>      [1] parallel  stats4    stats     graphics  grDevices utils     datasets
>      [8] methods   base
>      
>      other attached packages:
>       [1] SummarizedExperiment_1.14.0 DelayedArray_0.10.0
>       [3] BiocParallel_1.18.0         matrixStats_0.54.0
>       [5] Biobase_2.44.0              GenomicRanges_1.36.0
>       [7] GenomeInfoDb_1.20.0         IRanges_2.18.0
>       [9] S4Vectors_0.22.0            BiocGenerics_0.30.0
>      
>      loaded via a namespace (and not attached):
>       [1] lattice_0.20-38        bitops_1.0-6           grid_3.6.0
>       [4] zlibbioc_1.30.0        XVector_0.24.0         Matrix_1.2-17
>       [7] tools_3.6.0            RCurl_1.95-4.12        compiler_3.6.0
>      [10] GenomeInfoDbData_1.2.1
>      
>      
>      _______________________________________________
>      Bioc-devel using r-project.org mailing list
>      https://stat.ethz.ch/mailman/listinfo/bioc-devel
>      
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>



More information about the Bioc-devel mailing list