SummarizedExperiment
s to
artifacts and back againThe alabaster.se
package implements methods to save SummarizedExperiment
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)SummarizedExperiment
, we can use
saveObject()
to save it inside a staging directory:
# Example taken from ?SummarizedExperiment
library(SummarizedExperiment)
nrows <- 200
ncols <- 6
counts <- matrix(rpois(nrows * ncols, 10), nrows, ncols)
rowRanges <- GRanges(
rep(c("chr1", "chr2"), c(50, 150)),
IRanges(floor(runif(200, 1e5, 1e6)), width=100),
strand=sample(c("+", "-"), 200, TRUE)
)
colData <- DataFrame(
Treatment=rep(c("ChIP", "Input"), 3),
row.names=LETTERS[1:6]
)
rse <- SummarizedExperiment(
assays=SimpleList(counts=counts),
rowRanges=rowRanges,
colData=colData
)
rownames(rse) <- sprintf("GENE_%03d", 1:200)
rse
## class: RangedSummarizedExperiment
## dim: 200 6
## metadata(0):
## assays(1): counts
## rownames(200): GENE_001 GENE_002 ... GENE_199 GENE_200
## rowData names(0):
## colnames(6): A B ... E F
## colData names(1): Treatment
## [1] "OBJECT"
## [2] "assays/0/OBJECT"
## [3] "assays/0/array.h5"
## [4] "assays/names.json"
## [5] "column_data/OBJECT"
## [6] "column_data/basic_columns.h5"
## [7] "row_data/OBJECT"
## [8] "row_data/basic_columns.h5"
## [9] "row_ranges/OBJECT"
## [10] "row_ranges/ranges.h5"
## [11] "row_ranges/sequence_information/OBJECT"
## [12] "row_ranges/sequence_information/info.h5"
We can then load it back into the session with
readObject()
.
## class: RangedSummarizedExperiment
## dim: 200 6
## metadata(0):
## assays(1): counts
## rownames(200): GENE_001 GENE_002 ... GENE_199 GENE_200
## rowData names(0):
## colnames(6): A B ... E F
## colData names(1): Treatment
## R version 4.4.2 (2024-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
## [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: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] alabaster.se_1.7.0 alabaster.base_1.7.2
## [3] SummarizedExperiment_1.37.0 Biobase_2.67.0
## [5] GenomicRanges_1.59.1 GenomeInfoDb_1.43.2
## [7] IRanges_2.41.2 S4Vectors_0.45.2
## [9] BiocGenerics_0.53.3 generics_0.1.3
## [11] MatrixGenerics_1.19.0 matrixStats_1.4.1
## [13] BiocStyle_2.35.0
##
## loaded via a namespace (and not attached):
## [1] sass_0.4.9 SparseArray_1.7.2 lattice_0.22-6
## [4] digest_0.6.37 evaluate_1.0.1 grid_4.4.2
## [7] fastmap_1.2.0 jsonlite_1.8.9 Matrix_1.7-1
## [10] alabaster.schemas_1.7.0 BiocManager_1.30.25 httr_1.4.7
## [13] UCSC.utils_1.3.0 HDF5Array_1.35.2 jquerylib_0.1.4
## [16] abind_1.4-8 cli_3.6.3 rlang_1.1.4
## [19] crayon_1.5.3 XVector_0.47.0 cachem_1.1.0
## [22] DelayedArray_0.33.3 yaml_2.3.10 S4Arrays_1.7.1
## [25] tools_4.4.2 Rhdf5lib_1.29.0 GenomeInfoDbData_1.2.13
## [28] alabaster.ranges_1.7.0 alabaster.matrix_1.7.4 buildtools_1.0.0
## [31] R6_2.5.1 lifecycle_1.0.4 rhdf5_2.51.1
## [34] zlibbioc_1.52.0 bslib_0.8.0 Rcpp_1.0.13-1
## [37] xfun_0.49 sys_3.4.3 knitr_1.49
## [40] rhdf5filters_1.19.0 htmltools_0.5.8.1 rmarkdown_2.29
## [43] maketools_1.3.1 compiler_4.4.2