Installation#
We recommend using micromamba to manage Python environments and install Meeko.
Other similar package managers also work, like mamba, conda, or miniconda.
We prefer micromamba because it uses conda-forge as its default channel.
If you use other package managers, please use the -c conda-forge option.
To get micromamba, visit https://mamba.readthedocs.io/en/latest/
From conda-forge#
micromamba install -c conda-forge meeko
Other tools like mamba or conda can also be used. Note that conda
is significantly slower.
Installing dependencies manually#
The conda-forge recipe includes the list of dependencies, and using micromamba will install them automatically. But we didn’t add them to the Python package configuration, to allow the user to control dependencies manually.
Meeko requires Python 3.10 or later, and scipy, rdkit, gemmi, and tqdm, which can be installed from PyPI with pip:
pip install scipy rdkit gemmi tqdm
If using Python 3.8 or 3.9, please see Support for Python 3.8 for details.
Optional dependencies#
Although optional, ProDy is installed by the conda-forge recipe.
Meeko uses Prody to parse PDB and mmCIF files. Without prody, PDB files
can be parsed with the command line option --read_pdb and with the Python
method Polymer.from_pdb_string(). However, without ProDy it
won’t be possible to read mmCIF files or use tethered docking.
Prody is available on PyPI and conda-forge for (at least) Python 3.11 and 3.12.
pip install prody
Espaloma can be used to assign partal charges and proper torsion parameters. These parameters are useful only for development. Not to be confused with package espaloma_charge. Meeko uses the espaloma package. See installation details at espaloma readthedocs
OpenFF forcefields is used to assign vdW and proper torsion parameters. This is useful only for development. It can be installed with:
micromamba install -c conda-forge "openff-forcefields>=2026"
OpenFF Toolkit is used to assign NAGL charges, useful only for development. See installation instructions
From PyPI#
pip install meeko
If using micromamba or a similar package manager, pip installs the
package in the active environment. The following dependencies required:
python, numpy, scipy, gemmi, and rdkit.
Installing with pip does not check for missing dependencies or attempt to
resolve conflicts between versions. That information is included on the
conda-forge recipe and used by a package manager like
mamba or micromamba.
From source#
Here, we will checkout the develop branch, as it is likely more recent than the
default release branch. Accessing features that are not in a release yet is one
of the reasons to use the develop branch, which requires installing from source.
git clone https://github.com/forlilab/Meeko.git
cd Meeko
git checkout develop
pip install .
Alternatively, it is possible to install with pip install -e .. Then, changes to
the source files take immediate effect without requiring further pip install ..
This is useful for developers. Changes to the command line scripts may still require
a re-installation.
Support for Python 3.8#
As of v0.6.1, Meeko starts to use features that are only available in Python 3.9 or later. These features are:
Dictionary Union Operators
Py39 Type Hints
importlib.resources.files(Details in PR #223)
However, they are not essential for the code structure or function. To adapt Meeko to a Python 3.8 environment, consider the respective workarounds, such as:
Replace dictionary union operators with dictionary unpacking ({**dict1, **dict2}), or the update() method.
Use
List,Set,Dict, andTuplefromtypingfor type hints.Use
Pathfrompathlib, orimportlib_resourcesbackport package forimportlib.resources.files.
See a diff report of these changes in Issue #313.
Meeko v0.8 includes match/case statements, which require Python 3.10