Output data#

In order to save & share multimodal data, .h5mu file format has been designed.

.h5mu files#

.h5mu files are the default storage for MuData objects. These are HDF5 files with a standardised structure, which is similar to the one of .h5ad files where AnnData objects are stored. The most noticeable distinction is .mod group presence where individual modalities are stored — in the same way as they would be stored in the .h5ad files.

mdata.write("mudata.h5mu")

Inspect the contents of the file in the terminal:

> h5ls mudata.h5mu
mod                      Group
obs                      Group
obsm                     Group
var                      Group
varm                     Group

> h5ls data/mudata.h5mu/mod
atac                     Group
rna                      Group

AnnData inside .h5mu#

Individual modalities in the .h5mu file are stored in exactly the same way as AnnData objects. This, together with the hierarchical nature of HDF5 files, makes it possible to read individual modalities from .h5mu files as well as to save individual modalities to the .h5mu file:

adata = mu.read("mudata.h5mu/rna")

mu.write("mudata.h5mu/rna", adata)

The function muon.read() automatically decides based on the input if muon.read_h5mu() or rather muon.read_h5ad() should be called.