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
Requires: Python 3.10 – 3.14 · Linux x86_64, macOS arm64 · Docker images for other platforms
pip install SynPlanner
synplan --version1. Download pre-trained models, rules, and building blocks:
synplan download_preset --preset synplanner-article --save_to synplan_data2. Run planning on a target molecule:
synplan planning \
--config configs/planning_standard.yaml \
--targets targets.smi \
--reaction_rules synplan_data/policy/supervised_gcn/v1/reaction_rules.tsv \
--building_blocks synplan_data/building_blocks/emolecules-salt-ln/building_blocks.tsv \
--policy_network synplan_data/policy/supervised_gcn/v1/v1/ranking_policy.ckpt \
--results_dir planning_resultsTip
Try it in the browser, no installation required: Retrosynthetic planning · Benchmarking · Route clustering
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.
Questions & bug reports: open an issue or contact Tagir Akhmetshin (lead developer) and Almaz Gilmullin (clustering module)
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)
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
