Skip to main content

alt text

version codestyle Documentation PyPI version

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 objects, which makes it fully compatible with Scanpy.

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:

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

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:

@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}},
}

Metadata

Release files for xomx 0.1.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for xomx 0.1.16
File Interpreter ABI Platform
xomx-0.1.16-py3-none-any.whl Python 3 none any Details

Release files / xomx-0.1.16-py3-none-any.whl

Download URL xomx-0.1.16-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed8e493e19592f414678cd590896532f559c8a29238270e7a32791cc07d0f8a8
BLAKE2b-256 checksum
How to use checksums
b922248891f6e5313ede35641542d90746e1434887a48829cb239b101f906ce1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.1.16 This release

1 release file

0.1.15

1 release file

0.1.14

1 release file

0.1.13

1 release file

0.1.12

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page