anndata.AnnData.write#
- AnnData.write(filename=None, compression=None, compression_opts=None, as_dense=())[source]#
Write
.h5ad
-formatted hdf5 file.Note
Setting compression to
'gzip'
can save disk space but will slow down writing and subsequent reading. Prior to v0.6.16, this was the default for parametercompression
.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
:from scipy.sparse import csr_matrix adata.X = csr_matrix(adata.X)
- Parameters:
- filename
Optional
[PathLike
] (default:None
) Filename of data file. Defaults to backing file.
- compression
Optional
[Literal
['gzip'
,'lzf'
]] (default:None
) For [
lzf
,gzip
], see the h5py Filter pipeline.Alternative compression filters such as
zstd
can be passed from the hdf5plugin library. Experimental.Usage example:
import hdf5plugin adata.write_h5ad( filename, compression=hdf5plugin.FILTERS["zstd"] )
Note
Datasets written with hdf5plugin-provided compressors cannot be opened without first loading the hdf5plugin library using
import hdf5plugin
. When using alternative compression filters such aszstd
, consider writing tozarr
format instead ofh5ad
, as thezarr
library provides a more transparent compression pipeline.- compression_opts
Union
[int
,Any
,None
] (default:None
) For [
lzf
,gzip
], see the h5py Filter pipeline.Alternative compression filters such as
zstd
can be configured using helpers from the hdf5plugin library. Experimental.Usage example (setting
zstd
compression level to 5):import hdf5plugin adata.write_h5ad( filename, compression=hdf5plugin.FILTERS["zstd"], compression_opts=hdf5plugin.Zstd(clevel=5).filter_options )
- as_dense
Sequence
[str
] (default:()
) Sparse arrays in AnnData object to write as dense. Currently only supports
X
andraw/X
.
- filename