https://github.com/perrin-isir/xomx
a python library providing data processing and machine learning tools for computational omics, with emphasis on explainability
https://github.com/perrin-isir/xomx
bioinformatics computational-biology explainability machine-learning omics
Last synced: 25 days ago
JSON representation
a python library providing data processing and machine learning tools for computational omics, with emphasis on explainability
- Host: GitHub
- URL: https://github.com/perrin-isir/xomx
- Owner: perrin-isir
- License: bsd-3-clause
- Created: 2021-03-23T14:59:49.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-01T12:26:11.000Z (about 2 years ago)
- Last Synced: 2025-11-29T00:46:09.671Z (3 months ago)
- Topics: bioinformatics, computational-biology, explainability, machine-learning, omics
- Language: Python
- Homepage:
- Size: 13.4 MB
- Stars: 7
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 

[](https://github.com/psf/black)
[](https://perrin-isir.github.io/xomx/)
[](https://pypi.org/project/xomx/)
*xomx* is an open-source python library providing data processing and
machine learning tools for computational omics, with a
particular emphasis on explainability.
It relies on [AnnData](https://anndata.readthedocs.io) objects, which makes it
fully compatible with [Scanpy](https://scanpy.readthedocs.io).
*xomx is currently in beta version.*
-----
## Install
Option 1: conda (preferred option)
This option is preferred because it relies mainly on conda-forge (which among other things simplifies the installation of JAX).
git clone https://github.com/perrin-isir/xomx.git
cd xomx
conda update conda
Install micromamba if you don't already have it (you can also simply use conda, by replacing below `micromamba create`, `micromamba update` and `micromamba activate` respectively by `conda env create`, `conda env update` and `conda activate`, but this will lead to a significantly slower installation):
conda install -c conda-forge micromamba
Choose a conda environment name, for instance `xomxenv`.
The following command creates the `xomxenv` environment with the requirements listed in [environment.yaml](environment.yaml):
micromamba create --name xomxenv --file environment.yaml
If you prefer to update an existing environment (`existing_env`):
micromamba update --name existing_env --file environment.yml
Then, activate the `xomxenv` environment:
micromamba activate xomxenv
Finally, to install the *xomx* library in the activated environment:
pip install -e .
Option 2: pip
For the pip install, you need to properly install JAX yourself. Otherwise, if JAX is installed automatically as a pip dependency of *xomx*, it will probably not work as desired (e.g. it will not be GPU-compatible). So you should install it beforehand, following these guidelines:
[https://github.com/google/jax#installation](https://github.com/google/jax#installation)
Then, install *xomx* with:
pip install xomx
JAX
The neural network-based machine learning algorithms in *xomx* are written in JAX (and flax), so it needs to be installed properly for them to work.
To verify that the JAX installation went well, check the backend used by JAX with the following command:
```
python -c "import jax; print(jax.lib.xla_bridge.get_backend().platform)"
```
It will print "cpu", "gpu" or "tpu" depending on the platform JAX is using.
-----
## Tutorials
Tutorials are the best way to learn how to use
*xomx*.
The xomx-tutorials repository contains a list of tutorials (colab notebooks) for xomx:
https://github.com/perrin-isir/xomx-tutorials
-----
## Acknowledgements
Maintainer and main contributor:
- Nicolas Perrin-Gilbert (CNRS, ISIR)
Other people who contributed to *xomx*:
- Joshua J. Waterfall (Curie Institute)
- Julien Vibert (Curie Institute)
- Mathias Vandenbogaert (Curie Institute)
- Paul Klein (Curie Institute)
-----
## Citing the project
To cite this repository in publications:
```bibtex
@misc{xomx,
author = {Perrin-Gilbert, Nicolas and Vibert, Julien and Vandenbogaert, Mathias and Waterfall, Joshua J.},
title = {xomx},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/perrin-isir/xomx}},
}
```