mulink#
Links between modalities in mudata
Getting started#
mulink models feature relationships between mudata modalities as directed acyclic graph. To work with this mapping, it extends the namespace of mudata with a custom link attribute. The individual functionalities are implemented as accessors to this namespace.
import mudata as md
import mulink # registers the `link` namespace on mudata
from scipy.sparse import csr_matrix
# minimal example
mdata = mulink.simulate.hierarchical_mudata(n_mod=3)
assert isinstance(mdata, md.MuData)
assert "feature_mapping" in mdata.varp.keys()
assert hasattr(mdata, "link")
# add linkage matrix
mdata.link.add_link(csr_matrix(...))
# querying
mdata.link.query.descendants("mod0-0")
mdata.link.query.ancestors("mod2-0")
# plotting
mdata.link.pl.graph()
For more information, please refer to the documentation, in particular, the API documentation and the Design Document.
Installation#
You need to have Python 3.11 or newer installed on your system. If you don’t have Python installed, we recommend installing uv.
There are several alternative options to install mulink:
Install the latest development version:
pip install git+https://github.com/lucas-diedrich/mulink.git@main
Release notes#
See the changelog.
Contact#
If you found a bug, please use the issue tracker.
Citation#
This project was started at the scverse proteomics hackathon in Berlin 2026. Comparable features are implemented in the QFeatures package in R.
scverse proteomics working group 2026. mulink.