Skip to main content

Retrosynthesis route finder — AiZynthFinder + Rxn-INSIGHT + Chemistry by Design

Project description

Path Finder

Retrosynthesis route finder — AiZynthFinder · Rxn-INSIGHT · Chemistry by Design

Yara Chahda · Corentin Postmann · Inès Ouchen — EPFL 2026


User installation

1. Install RDKit

RDKit cannot be installed via pip — conda is required for this one step.

conda install -c conda-forge rdkit

2. Install Path Finder

pip install path-finder-retrosynthesis

3. Run the setup wizard

path-finder-setup

This automatically:

  • copies the bundled datasets into data/
  • downloads the AiZynthFinder model files (~500 MB) via the official AiZynthFinder downloader
  • generates data/config.yml with the correct paths

If the automatic download fails, download the model files manually from https://github.com/MolecularAI/aizynthfinder/releases and place them in data/aizynthfinder/.

4. Download the Rxn-INSIGHT USPTO database

Download uspto_rxn_insight.gzip from: The rxn-INSIGHT article

Place it in data/uspto_rxn_insight.gzip.

This file enables reaction condition prediction for novel routes (predicted routes section). Without it, only dataset and validated routes are shown.

5. Launch

path-finder

Open http://localhost:8501 in your browser.


Summary

conda install -c conda-forge rdkit
pip install path-finder-retrosynthesis
path-finder-setup
# → place uspto_rxn_insight.gzip in data/
path-finder

What the app does

Path Finder finds and ranks retrosynthesis routes for a target molecule using three sources:

Section Source Conditions Yield in scoring
📚 Dataset Curated Chemistry by Design routes Real Yes
✅ Validated AiZynthFinder + generic reactions (USPTO) Real Yes
🤖 Predicted AiZynthFinder + Rxn-INSIGHT Predicted No

Routes are scored using a weighted 1/i² scheme across three user-chosen criteria: steps, yield, atom economy, E-factor, or safety.


Data files

File Bundled Description
reaction_dataset.json Curated synthesis routes
toxicity_dataset.json Safety scores for reagents and solvents
generic_reactions.json 10 000 USPTO reactions for step validation
data/aizynthfinder/ AiZynthFinder model files — downloaded by wizard
data/config.yml Generated by wizard — do not commit
data/uspto_rxn_insight.gzip Rxn-INSIGHT USPTO database — download manually

Troubleshooting

Problem Solution
config.yml not found Run path-finder-setup
AiZynthFinder crash Check that all paths in data/config.yml are absolute
No routes found Try Galanthamine (OC1C=C[C@@]23c4cc(OC)ccc4CN(C)C[C@@H]2[C@@H]1O3)
Predicted routes disabled Add data/uspto_rxn_insight.gzip (see step 4 above)
Slow search (~2 min) Normal — AiZynthFinder MCTS is computationally intensive

Developer setup

git clone https://github.com/YaraChahda/path_finder.git
cd path_finder
conda install -c conda-forge rdkit
pip install -e .
path-finder-setup
path-finder

Project structure

path_finder/
├── src/path_finder/
│   ├── app_path_finder.py      # Streamlit front-end
│   ├── route_engine.py         # Scoring, AiZynthFinder, Rxn-INSIGHT
│   ├── molecule_rendering.py   # RDKit Cairo rendering
│   ├── localization.py         # EN/FR UI strings
│   ├── report_builder.py       # PDF generation
│   ├── cli.py                  # path-finder and path-finder-setup commands
│   ├── assets/banner.png
│   └── data/                   # bundled datasets + config template
├── data/                       # working data directory (not committed)
│   ├── config.yml              # generated by path-finder-setup
│   ├── aizynthfinder/          # model files downloaded by path-finder-setup
│   └── uspto_rxn_insight.gzip  # download manually
├── tests/
├── pyproject.toml
└── README.md

Publishing a new version

sed -i '' 's/version = "X.Y.Z"/version = "X.Y.Z+1"/' pyproject.toml
git add pyproject.toml
git commit -m "release: vX.Y.Z+1"
git tag vX.Y.Z+1
git push origin main --tags
# GitHub Actions publishes to PyPI automatically

Running tests

pytest tests/

Citation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

path_finder_retrosynthesis-1.0.3.tar.gz (876.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

path_finder_retrosynthesis-1.0.3-py3-none-any.whl (883.7 kB view details)

Uploaded Python 3

File details

Details for the file path_finder_retrosynthesis-1.0.3.tar.gz.

File metadata

File hashes

Hashes for path_finder_retrosynthesis-1.0.3.tar.gz
Algorithm Hash digest
SHA256 927b34b919684fda5b261315b091562148452580e3bd2c3ce57bdde8db8562a2
MD5 1a14a8c83266cb470398c63d0b25bf0e
BLAKE2b-256 20019626df6996f4dd52fddcd38c2bf75777dce66757eb557b891f72a7e0f58e

See more details on using hashes here.

File details

Details for the file path_finder_retrosynthesis-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for path_finder_retrosynthesis-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a2b14fad93c6234f87f078e0a8972184196d182e7f085c2d68cf51bd5dfcbf29
MD5 0c3a027ad1f2ba1b61dc9b7b9f212189
BLAKE2b-256 0d760db99ca57c389009564f45fc864464c95aaaa8c902cdb1e833023193b4c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page