Skip to main content

SynPlanner banner

End-to-end retrosynthetic planning from raw reaction data

Docs Tutorials Paper GUI demo

PyPI Python License Downloads Last commit


SynPlanner is an open-source tool for retrosynthetic planning. It integrates Monte Carlo Tree Search (MCTS) with graph neural networks to evaluate applicable reaction rules (policy network) and the synthesizability of intermediate products (value network).

  • Data curation: standardize and filter raw chemical reaction data
  • Rule extraction: extract reaction templates with configurable specificity
  • Model training: train policy and value networks (supervised + RL)
  • Retrosynthesis: MCTS-based planning with multiple search strategies
  • Route quality: competing-sites scoring for functional group selectivity (Westerlund et al.)
  • Route clustering: group routes by strategic bonds (Gilmullin et al.)
  • Visualization: HTML route reports and interactive GUI

Installation

Requires: Python 3.10 – 3.14 · Linux x86_64, macOS arm64 · Docker images for other platforms

pip install SynPlanner
synplan --version

Quick start

1. Download pre-trained models, rules, and building blocks:

synplan download_preset --preset synplanner-gps --save_to synplan_data

2. Write your targets and fetch a planning config (configs/ is not installed by pip):

echo 'CC(=O)Oc1ccccc1C(=O)O' > targets.smi
curl -O https://raw.githubusercontent.com/Laboratoire-de-Chemoinformatique/SynPlanner/main/configs/planning_standard.yaml

3. Run planning on a target molecule:

synplan planning \
  --config planning_standard.yaml \
  --targets targets.smi \
  --reaction_rules synplan_data/policy/supervised_gps/v1/reaction_rules.tsv \
  --building_blocks synplan_data/building_blocks/emolecules-salt-ln/building_blocks.tsv \
  --policy_network synplan_data/policy/supervised_gps/v1/v1/ranking_policy.ckpt \
  --results_dir planning_results

Paths above are what synplanner-gps writes — the download command prints each one.

The full CLI includes commands for every pipeline step: reaction_mapping, reaction_standardizing, reaction_filtering, rule_extracting, ranking_policy_training, planning, clustering, and more. Run synplan --help for the complete list.

For local tutorials covering all steps from data curation to protection scoring, see the tutorials/ directory and the documentation.

Using SynPlanner with an AI agent

If you use Claude Code, Codex, Cursor, Copilot, or another agent that supports the Agent Skills format, this repository ships a skill that teaches the agent how to use SynPlanner correctly — which API to reach for, how chython differs from RDKit, and what to do by default.

Copy skills/synplanner-usage/ into your agent's skills directory — .claude/skills/, .cursor/skills/, or ~/.codex/skills/ — or ~/.claude/skills/ to make it available in every project. No further setup is needed.

It bundles a task index mapping each task to the API pieces it needs, in order.

For LLMs: llms.txt · skill, raw Markdown

Team

Questions & bug reports: open an issue or contact Tagir Akhmetshin (lead developer, maintainer) and Almaz Gilmullin (maintainer)

Contributors: Timur Madzhidov (initiator), Alexandre Varnek (supervisor), Dmitry Zankov (data curation, tutorials, reproducibility), Philippe Gantzer (GUI, writing module), Dmitry Babadeev (planning, visualization), Anna Pinigina (rule extraction), Milo Roucairol (search strategies), Mikhail Volkov (testing)

Citation

If you use SynPlanner in your research, please cite:

Akhmetshin, T.; Zankov, D.; Gantzer, P.; Babadeev, D.; Pinigina, A.; Madzhidov, T.; Varnek, A. SynPlanner: An End-to-End Tool for Synthesis Planning. J. Chem. Inf. Model. 2025, 65 (1), 15–21. doi:10.1021/acs.jcim.4c02004

If you use route clustering, please also cite:

Gilmullin, A.; Akhmetshin, T.; Madzhidov, T.; Varnek, A. Route Clustering by Strategic Bonds. ChemRxiv, 2025. doi:10.26434/chemrxiv-2025-lnkz6-vz

If you use the protection / route quality scoring, please also cite:

Westerlund, A. M. et al. Toward Lab-Ready AI Synthesis Plans with Protection Strategies and Route Scoring. ChemRxiv, 2025. doi:10.26434/chemrxiv-2025-68ff6

Metadata

Release files for SynPlanner 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for SynPlanner 1.7.0
File Interpreter ABI Platform
synplanner-1.7.0-py3-none-any.whl Python 3 none any Details

Release files / synplanner-1.7.0-py3-none-any.whl

Download URL synplanner-1.7.0-py3-none-any.whl
Size 504.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09e5e5cc727c1771013950779fdf9ea6ae2d132878e4142628fea82a5b0998a2
BLAKE2b-256 checksum
How to use checksums
9a40318eee5ccb357362ec0819f8b3c829ff31240baa9e0dbcd4e397108a48d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.7.0 This release

1 release file

1.6.0

1 release file

1.5.1

1 release file

1.5.0

1 release file

1.4.4

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.2

1 release file

1.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page