ChemTorch is a modular research framework for deep learning of chemical reactions.
- 🚀 Streamline your research workflow: seamlessly assemble modular deep learning pipelines, track experiments, conduct hyperparameter sweeps, and run benchmarks.
- 💡 Multiple reaction representations with baseline implementations including SMILES tokenizations, molecular graphs, 3D geometries, and fingerprint descriptors.
- ⚙️ Preconfigured data pipelines for common benchmark datasets including RDB7, cycloadditions, USPTO-1k, and more.
- 🔬 OOD evaluation via chemically informed data splitters (size, target, scaffold, reaction core, ...).
- 🗂️ Extensible component library (growing) for all parts of the ChemTorch pipeline.
- 🔄 Reproducibility by design with Weights & Biases experiment tracking and a guide for setting up reproducibility tests.
Follow the Quick Start guide to install all dependencies, download some data, and run your first experiment! For more, checkout the official ChemTorch documentation!
For a few examples of what you can already do with ChemTorch read our white paper on ChemRxiv.
If you want to ask a question, report a bug, or suggest a feature feel free to open an issue on our issue tracker and we will get back to you :)
ChemTorch is in active development and the public CLI/configuration API may change between releases. To detect breaking changes early and safeguard your workflows:
- Check the release notes.
- Add and run Integrity & Reproducibility tests for your experiments to ensure reproducibility of past results with newer releases.
We welcome contributions. Please read the contribution guide before opening issues or PRs.
If you use this code in your research, please cite the following paper:
@article{landsheere_chemtorch_2025,
title = {ChemTorch: A Deep Learning Framework for Benchmarking and Developing Chemical Reaction Property Prediction Models},
doi = {10.26434/chemrxiv-2025-9mggj},
journal = {ChemRxiv},
author = {De Landsheere, Jasper and Zamyatin, Anton and Karwounopoulos, Johannes and Heid, Esther},
year = {2025},
}
This project is licensed under the MIT License.
ChemTorch builds on and was inspired by many excellent open-source projects and community work — thank you to the authors and maintainers <3
- Hydra — flexible configuration and experiment management
- PyTorch Lightning — cleaner training loops and logging
- Weights & Biases — experiment tracking and visualization in one place
- GraphGPS and GraphGym — modular GNN repos which inspired this framework
- lightning-hydra-template — project structure and integration patterns