Kompot is a Python package for differential abundance and gene expression analysis using Gaussian Process models with JAX backend.
Kompot implements methodologies from the Mellon package for computing differential abundance and gene expression, with a focus on using Mahalanobis distance as a measure of differential expression significance. It leverages JAX for efficient computations and provides a scikit-learn like API with .fit()
and .predict()
methods.
Key features:
- Computation of differential abundance between conditions
- Gene expression imputation and uncertainty estimation
- Mahalanobis distance calculation for differential expression significance
- Weighted log fold change analysis with density difference weighting
- Support for covariance matrices and optional landmarks
- JAX-accelerated computations
- Empirical variance estimation
- Disk-backed storage for large datasets with Dask support
- Full scverse compatibility with direct AnnData integration
- Visualization tools for differential expression, abundance results, and customizable embedding plots
pip install kompot
For using the default diffusion map cell state representation:
pip install palantir
For additional plotting functionality with scanpy integration:
pip install kompot[plot]
For disk-backed storage with Dask support (recommended for large datasets):
pip install kompot[dask]
To install all optional dependencies:
pip install kompot[all]
Kompot depends on JAX for efficient computations. By default, the CPU version of JAX is used, which is recommended for most users as it provides good performance without memory constraints.
See JAX GitHub for more installation details.
See the Tutorial Notebook and documentation.
GNU General Public License v3 (GPLv3)