Skip to main content

Welcome to ChemEx

Quick Overview

ChemEx is a comprehensive tool for analyzing NMR experimental data to characterize chemical exchange processes. This guide will help you get started with ChemEx, covering everything from installation to initial usage. Primarily, ChemEx facilitates analysis of experiments like Carr-Purcell-Meiboom-Gill (CPMG) relaxation dispersion and Chemical Exchange Saturation Transfer (CEST).

Prerequisites

Before installing ChemEx, ensure you have Python installed. For a hassle-free setup, especially for beginners, we recommend the Anaconda Distribution. It comes bundled with Python, Numpy, and a suite of scientific computing tools.

Installation Methods

ChemEx offers flexible installation options: through conda, pip, or directly from the source. Choose the method that best suits your setup.

Using conda

For an optimal experience, install ChemEx using conda. This method is ideal as it handles dependencies efficiently and is available in all versions of Anaconda and Miniconda.

# Create and activate a new environment for ChemEx
conda create -n chemex
conda activate chemex

# Ensure Python 3.11 is installed
conda install python=3.11

# Add conda-forge channel and install ChemEx
conda config --env --add channels conda-forge
conda install chemex

Using pip

Alternatively, you can install ChemEx using pip, available via the Python Package Index.

pip install chemex
tip

Utilize a virtual environment when installing with pip. Here's a helpful guide.

From source

For those interested in the latest features and updates, install the development version of ChemEx directly from GitHub.

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

Performance Optimization

ChemEx performance is significantly enhanced by using numerically optimized modules. We recommend installing NumPy and SciPy with Intel® Math Kernel Library (Intel® MKL) for the best performance. These optimized modules are available via Anaconda or the Intel® Distribution for Python. Note that the standard pip installations of these modules might not offer the same level of optimization.