SingleCellExperiment
s to artifacts and back againalabaster.sce 1.4.0
The alabaster.sce package implements methods to save SingleCellExperiment
objects to file artifacts and load them back into R.
Check out the alabaster.base for more details on the motivation and concepts of the alabaster framework.
Given a (Ranged)SingleCellExperiment
, we can use stageObject()
to save it inside a staging directory:
library(SingleCellExperiment)
example(SingleCellExperiment, echo=FALSE) # can't be bothered to copy it here.
sce
## class: SingleCellExperiment
## dim: 200 100
## metadata(0):
## assays(2): counts logcounts
## rownames: NULL
## rowData names(0):
## colnames: NULL
## colData names(0):
## reducedDimNames(2): PCA tSNE
## mainExpName: NULL
## altExpNames(0):
library(alabaster.sce)
tmp <- tempfile()
saveObject(sce, tmp)
list.files(tmp, recursive=TRUE)
## [1] "assays/0/array.h5" "assays/0/OBJECT"
## [3] "assays/1/array.h5" "assays/1/OBJECT"
## [5] "assays/names.json" "OBJECT"
## [7] "reduced_dimensions/0/array.h5" "reduced_dimensions/0/OBJECT"
## [9] "reduced_dimensions/1/array.h5" "reduced_dimensions/1/OBJECT"
## [11] "reduced_dimensions/names.json"
We can then load it back into the session with loadObject()
.
roundtrip <- readObject(tmp)
class(roundtrip)
## [1] "SingleCellExperiment"
## attr(,"package")
## [1] "SingleCellExperiment"
sessionInfo()
## R version 4.4.0 beta (2024-04-15 r86425)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.4 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] alabaster.sce_1.4.0 alabaster.base_1.4.0
## [3] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0
## [5] Biobase_2.64.0 GenomicRanges_1.56.0
## [7] GenomeInfoDb_1.40.0 IRanges_2.38.0
## [9] S4Vectors_0.42.0 BiocGenerics_0.50.0
## [11] MatrixGenerics_1.16.0 matrixStats_1.3.0
## [13] BiocStyle_2.32.0
##
## loaded via a namespace (and not attached):
## [1] sass_0.4.9 SparseArray_1.4.0 lattice_0.22-6
## [4] alabaster.se_1.4.0 digest_0.6.35 evaluate_0.23
## [7] grid_4.4.0 bookdown_0.39 fastmap_1.1.1
## [10] jsonlite_1.8.8 Matrix_1.7-0 alabaster.schemas_1.4.0
## [13] BiocManager_1.30.22 httr_1.4.7 UCSC.utils_1.0.0
## [16] HDF5Array_1.32.0 jquerylib_0.1.4 abind_1.4-5
## [19] cli_3.6.2 rlang_1.1.3 crayon_1.5.2
## [22] XVector_0.44.0 cachem_1.0.8 DelayedArray_0.30.0
## [25] yaml_2.3.8 S4Arrays_1.4.0 tools_4.4.0
## [28] Rhdf5lib_1.26.0 GenomeInfoDbData_1.2.12 alabaster.ranges_1.4.0
## [31] alabaster.matrix_1.4.0 R6_2.5.1 lifecycle_1.0.4
## [34] rhdf5_2.48.0 zlibbioc_1.50.0 bslib_0.7.0
## [37] Rcpp_1.0.12 xfun_0.43 knitr_1.46
## [40] rhdf5filters_1.16.0 htmltools_0.5.8.1 rmarkdown_2.26
## [43] compiler_4.4.0