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:

write_h5ad(
anndata,
filename,
compression = NULL,
compression_opts = NULL,
as_dense = list()
)

## Arguments

anndata An AnnData() object Filename of data file. Defaults to backing file. See the h5py filter pipeline. Options are "gzip", "lzf" or NULL. See the h5py filter pipeline. Sparse in AnnData object to write as dense. Currently only supports "X" and "raw/X".

## Examples

if (FALSE) {
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))
)