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@assays, se1@assays)
[1] "Class definitions are not identical"
> all.equal(se@[email protected], se1@[email protected])
[1] "Component \".self\": Class definitions are not identical"
> se@[email protected]
<environment: 0x7fb1de1ede90>
> se1@[email protected]
<environment: 0x7fb1fc2bca78>

Martin

On 5/11/19, 6:38 AM, "Bioc-devel on behalf of Laurent Gatto" 
<[email protected] on behalf of [email protected]> 
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
    
    
    _______________________________________________
    [email protected] mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
    
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to