ChemEM is currently distributed via anaconda. To begin using ChemEM ensure you have an anaconda or miniconda installed.

1.0 Creating a Conda environment

First, create a new environment called chemem.

Note: ChemEM currently only works with python 3.9 or 3.10

conda create --name chemem python=3.9


conda create --name chemem python=3.10

Now, Activate the new environment with:

conda activate chemem

2.0 Install ChemEM

2.1 Recommended installation (with Mamba)

Install mamba to the environment:

Next, install the Mamba package manager which resolves conda dependencies faster:

conda install -c conda-forge mamba

Now its time to install ChemEM

mamba install -c chemem -c conda-forge chemem

2.2 Alternative installation (with conda)

You can install chemem with conda instead of mamba with the command:

conda install -c chemem -c conda-forge chemem

3.0 Install TEMPy

Finally, we need TEMPy, which is available on PyPI not Conda

pip install BioTEMPy==2.0.0

Testing the installation

To test the installation you can run the command:

chemem.test Platform

Where Platform is the OpenMM platform for calculations, by default this is OpenCL other valid inputs are CPU and CUDA. For more information on platforms see the OpenMM documentation

This will run the ChemEM algorithm and post processing steps on the PDB file 7jjo.

Note:The test command will run the full algorithm and may take some time to run and post-processing steps. All output files including the configuration file used will be written to the current working dictionary.

4.0 Running ChemEM

Once the installation is complete and you should be able to use ChemEM from the command line by specifying a configuration file with the necessary data like so:

chemem <configuration_file>

The minimum require data to run ChemEM is shown below:

#ChemEM config file
protein = ~/test_data/7jjo_protein.pdb
ligand = CC(C)NC[C@@H](c1ccc(c(c1)O)O)O
centroid = (134.087, 133.507, 174.180)
output = ~/some_directory
densmap = ~/test_data/7jjo.mrc
resolution = 2.6

Additionally, the enabled stages block must be included

#enabled stages
pre_process = 1
pre_process_split_density = 0
auto_split_point = 0
auto_split_zone = 0
fitting = 1
dock_only = 0
post_process = 1
rescore = 0

The enabled stages section allows the user to specify what functions ChemEM should run with the given data. To enable a stage set the value to 1 to disable a stage set the value to 1.

For more information see the documentation.