Open Drug Discovery Toolkit (ODDT) is modular and comprehensive toolkit for use in cheminformatics, molecular modeling etc. ODDT is written in Python, and make extensive use of Numpy/Scipy
- Documentation: http://oddt.readthedocs.org/en/latest
- Mailing list: [email protected] http://groups.google.com/d/forum/oddt
- Issues: https://github.com/oddt/oddt/issues
- Python 3.12+
- OpenBabel (3.0+) or/and RDKit (2018.03+)
- Numpy (1.13+)
- Scipy (0.19+)
- Sklearn (0.18+)
- joblib (0.10+)
- pandas (0.19.2+)
- packaging (20+)
- Skimage (0.12.3+) (optional, only for surface generation)
CI tests Python 3.12 and 3.14 with both chemistry backends, using RDKit 2026.03.1+ and Open Babel 3.2.1+. Python 3.14 is the latest supported version; Python 3.13 is supported but is not in the current CI matrix.
When all requirements are met, then installation process is simple
python setup.py install
You can also use pip. All requirements besides toolkits (OpenBabel, RDKit) are installed if necessary. Installing inside virtualenv is encouraged, but not necessary.
pip install oddt
To upgrade oddt using pip (without upgrading dependencies):
pip install -U --no-deps oddt
Install a clean Miniconda environment, if you already don't have one.
Install ODDT:
conda install -c oddt oddt
You can add a toolkit of your choice or install them along with oddt:
conda install -c conda-forge oddt rdkit openbabel
(Optionally) Install OpenBabel (using official channel):
conda install -c conda-forge openbabel
(Optionally) Install RDKit (using official channel):
conda install -c conda-forge rdkit
Upgrading procedure using conda is straightforward:
conda update -c oddt oddt
Create the Python 3.12 environment with both chemistry backends:
conda env create -n oddt-dev -f environment.yml
conda activate oddt-dev
python -m pip install --no-build-isolation --no-deps -e .
ODDT_TOOLKIT=rdk python -m pytest tests
ODDT_TOOLKIT=ob python -m pytest testsThe same environment includes conda-forge Vina 1.2.7+ and uses its Python API for docking and scoring. RDKit 2026.03.1 and Vina 1.2.7 share Boost 1.86, so there is no separate tool environment or additional library search path.
Vina 1.1.2 remains supported through its command-line executable. If both the
Python package and a legacy binary are available, pass the legacy binary's path
as executable to select it explicitly. CI installs the selected Vina version
in the ODDT environment: Python 3.12 and 3.14 test both interfaces.
Native tests are skipped only when neither the Python package nor an executable
is available.
Vina 1.2 affinity comes from the Python API. Its unweighted interaction terms are reconstructed with ODDT's internal scorer because the API does not expose them separately. Vina 1.1.2 retains the original native scoring path.
Automatic documentation for ODDT is available on Readthedocs.org. Additionally, it can be build locally:
cd docs
make html
make latexpdf
ODDT is released under permissive 3-clause BSD license
If you found Open Drug Discovery Toolkit useful for your research, please cite us!
- Wójcikowski, M., Zielenkiewicz, P., & Siedlecki, P. (2015). Open Drug Discovery Toolkit (ODDT): a new open-source player in the drug discovery field. Journal of Cheminformatics, 7(1), 26. doi:10.1186/s13321-015-0078-2