Generally, if you have sparse data that are stored as a dense matrix, you can dramatically improve performance and reduce disk space by converting to a csr_matrix:
Usage
write_h5ad(
anndata,
filename,
compression = NULL,
compression_opts = NULL,
as_dense = list()
)
Arguments
- anndata
An
AnnData()
object- filename
Filename of data file. Defaults to backing file.
- compression
See the h5py filter pipeline. Options are
"gzip"
,"lzf"
orNULL
.- compression_opts
See the h5py filter pipeline.
- as_dense
Sparse in AnnData object to write as dense. Currently only supports
"X"
and"raw/X"
.
Examples
if (FALSE) { # \dontrun{
ad <- AnnData(
X = matrix(c(0, 1, 2, 3), nrow = 2, byrow = TRUE),
obs = data.frame(group = c("a", "b"), row.names = c("s1", "s2")),
var = data.frame(type = c(1L, 2L), row.names = c("var1", "var2")),
varm = list(
ones = matrix(rep(1L, 10), nrow = 2),
rand = matrix(rnorm(6), nrow = 2),
zeros = matrix(rep(0L, 10), nrow = 2)
),
uns = list(a = 1, b = 2, c = list(c.a = 3, c.b = 4))
)
write_h5ad(ad, "output.h5ad")
file.remove("output.h5ad")
} # }