Salamander is a non-negative matrix factorization (NMF) framework for signature analysis build on top of AnnData and MuData. It implements multiple NMF algorithms, common visualizations, and can be easily customized & expanded.
PyPI:
pip install salamander-learn
The following example illustrates the basic syntax:
import anndata as ad
import salamander as sal
# initialize data
adata = ad.AnnData(...)
# NMF with Poisson noise
model = sal.models.KLNMF(n_signatures=5)
model.fit(adata)
# barplot
model.plot_signatures()
# stacked barplot
model.plot_exposures()
# signature correlation
model.plot_correlation()
# sample_correlation
model.plot_correlation(data="samples")
# dimensionality reduction of the exposures
model.plot_embeddings(method="umap")
For examples of how to customize any NMF algorithm and the plots, check out the tutorial. The following algorithms are currently available:
MIT
Consult the CHANGELOG file for enhancements and fixes of each version.