Skip to content

gbouvignies/ChemEx

Repository files navigation

ChemEx: NMR Chemical Exchange Analysis Tool

Code style: black

Table of Contents

About ChemEx

ChemEx is an advanced, open-source software specifically designed for analyzing NMR experimental data to characterize chemical exchange processes. Ideal for researchers and scientists in the field of biochemistry and molecular biology, ChemEx aids in the analysis of NMR experiments like Carr-Purcell-Meiboom-Gill (CPMG) relaxation dispersion and Chemical Exchange Saturation Transfer (CEST).

Prerequisites

Before installing ChemEx, ensure you have Python 3.13 installed on your system.

Note: ChemEx requires Python 3.13. Python 3.14 was recently released and is being tested for compatibility, but Python 3.13 is recommended for production use until the scientific Python ecosystem fully adopts 3.14.

Installation

ChemEx offers several installation methods to suit your specific setup:

Quick Start with uv (Recommended)

uv is a fast Python package and project manager. If you don't have it installed:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

The fastest way to try ChemEx without installation:

uvx chemex --help

Or install it as a tool:

uv tool install chemex
chemex --help

Using pip with venv

Create an isolated environment and install ChemEx:

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install chemex

Using pip (global)

pip install chemex

From source

pip install git+https://github.com/gbouvignies/ChemEx.git

Using conda

If you prefer conda/mamba:

conda create -n chemex python=3.13
conda activate chemex
conda config --env --add channels conda-forge
conda install chemex

Performance Optimization

ChemEx performance depends on the underlying numerical libraries (NumPy and SciPy). The default installation provides good performance for most users:

  • pip (PyPI wheels): Uses OpenBLAS on Linux/Windows, or Apple's Accelerate framework on macOS
  • conda-forge: Uses OpenBLAS as the BLAS/LAPACK backend
  • Anaconda (defaults channel): Uses Intel® MKL, which can provide better performance for some operations
  • Intel® Distribution for Python: Also uses Intel® MKL

For most use cases, the default pip or conda-forge installation is sufficient. If you need maximum performance and are doing intensive numerical computations, consider using Anaconda's defaults channel or Intel's Python distribution.

Contributing

We encourage contributions from the community. Please see our CONTRIBUTING.md for guidelines on how to make ChemEx better. For any issues or suggestions, please open an issue or a discussion on our GitHub repository.

Support and Documentation

For additional support, tutorials, and detailed documentation, visit the ChemEx Documentation.

License

ChemEx is licensed under the GPL-3.0. See the LICENSE file for more details.


Developed with ❤️ by the ChemEx Contributors

About

ChemEx is an analysis program for chemical exchange detected by NMR.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6