Muon is originally a Python library to work with multimodal data. Muon.jl
brings the ability to work with the same data structures to Julia.
Muon.jl
implements I/O for .h5mu
and .h5ad
files as well as basic operations on the multimodal objects.
Datasets can usually be represented as matrices with values for the variables measured in different samples, or observations. Variables and observations tend to have annotations attached to them, a typical example would be metadata annotating samples. Such a dataset with the matrix in its centre and different kinds of annotations associated with it can be stored conveniently in an annotated data object, AnnData
for short.
Multimodal datasets are characterised by the variables coming from different generative processes. Each of these modalities is an annotated dataset by itself, but they can be managed and analyzed together within a MuData
object.
MuData
objects can be created from .h5mu
files:
using Muon
mdata = readh5mu("pbmc10k.h5mu");
Individual modalities can be accessed directly by their name:
mdata["rna"]
# => AnnData object 10110 ✕ 101001
Low-dimensional representations of the data can be plotted with the plotting library of choice:
using DataFrames
using GLMakie
using AlgebraOfGraphics
df = DataFrame(LF1 = mdata.obsm["X_umap"][1,:],
LF2 = mdata.obsm["X_umap"][2,:]);
data(df) * mapping(:LF1, :LF2) * visual(Scatter) |> draw