Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.4%) to scientific vocabulary
Keywords
Repository
A tool for retrosynthetic planning
Basic Info
- Host: GitHub
- Owner: MolecularAI
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://molecularai.github.io/aizynthfinder/
- Size: 3.93 MB
Statistics
- Stars: 707
- Watchers: 28
- Forks: 150
- Open Issues: 13
- Releases: 18
Topics
Metadata Files
README.md
AiZynthFinder
AiZynthFinder is a tool for retrosynthetic planning. The default algorithm is based on a Monte Carlo tree search that recursively breaks down a molecule to purchasable precursors. The tree search is guided by a policy that suggests possible precursors by utilizing a neural network trained on a library of known reaction templates. This setup is completely customizable as the tool supports multiple search algorithms and expansion policies.
An introduction video can be found here: https://youtu.be/r9Dsxm-mcgA
Prerequisites
Before you begin, ensure you have met the following requirements:
Linux, Windows or macOS platforms are supported - as long as the dependencies are supported on these platforms.
You have installed anaconda or miniconda with python 3.9 - 3.11
The tool has been developed on a Linux platform, but the software has been tested on Windows 10 and macOS Catalina.
Installation
For end-users
First time, execute the following command in a console or an Anaconda prompt
conda create "python>=3.9,<3.11" -n aizynth-env
To install, activate the environment and install the package using pypi
conda activate aizynth-env
python -m pip install aizynthfinder[all]
for a smaller package, without all the functionality, you can also type
python -m pip install aizynthfinder
For developers
First clone the repository using Git.
Then execute the following commands in the root of the repository
conda env create -f env-dev.yml
conda activate aizynth-dev
poetry install --all-extras
the aizynthfinder package is now installed in editable mode.
Usage
The tool will install the aizynthcli and aizynthapp tools
as interfaces to the algorithm:
aizynthcli --config config_local.yml --smiles smiles.txt
aizynthapp --config config_local.yml
Consult the documentation here for more information.
To use the tool you need
1. A stock file
2. A trained expansion policy network
3. A trained filter policy network (optional)
Such files can be downloaded from figshare and here or they can be downloaded automatically using
download_public_data my_folder
where my_folder is the folder that you want download to.
This will create a config.yml file that you can use with either aizynthcli or aizynthapp.
Development
Testing
Tests uses the pytest package, and is installed by poetry
Run the tests using:
pytest -v
The full command run on the CI server is available through an invoke command
invoke full-tests
### Documentation generation
The documentation is generated by Sphinx from hand-written tutorials and docstrings
The HTML documentation can be generated by
invoke build-docs
Contributing
We welcome contributions, in the form of issues or pull requests.
If you have a question or want to report a bug, please submit an issue.
To contribute with code to the project, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>. - Make your changes and commit them:
git commit -m '<commit_message>' - Push to the remote branch:
git push - Create the pull request.
Please use black package for formatting, and follow pep8 style guide.
Contributors
The contributors have limited time for support questions, but please do not hesitate to submit an issue (see above).
License
The software is licensed under the MIT license (see LICENSE file), and is free and provided as-is.
References
- Thakkar A, Kogej T, Reymond J-L, et al (2019) Datasets and their influence on the development of computer assisted synthesis planning tools in the pharmaceutical domain. Chem Sci. https://doi.org/10.1039/C9SC04944D
- Genheden S, Thakkar A, Chadimova V, et al (2020) AiZynthFinder: a fast, robust and flexible open-source software for retrosynthetic planning. ChemRxiv. Preprint. https://doi.org/10.26434/chemrxiv.12465371.v1
Owner
- Name: AstraZeneca - Molecular AI
- Login: MolecularAI
- Kind: organization
- Repositories: 38
- Profile: https://github.com/MolecularAI
Software from the Molecular AI department at AstraZeneca R&D
Citation (CITATION.cff)
# YAML 1.2
---
abstract: "We present the open-source AiZynthFinder software that can be readily used in retrosynthetic planning. The algorithm is based on a Monte Carlo tree search that recursively breaks down a molecule to purchasable precursors. The tree search is guided by an artificial neural network policy that suggests possible precursors by utilizing a library of known reaction templates. The software is fast and can typically find a solution in less than 10 s and perform a complete search in less than 1 min. Moreover, the development of the code was guided by a range of software engineering principles such as automatic testing, system design and continuous integration leading to robust software with high maintainability. Finally, the software is well documented to make it suitable for beginners. The software is available at http://www.github.com/MolecularAI/aizynthfinder."
authors:
-
family-names: Genheden
given-names: Samuel
-
family-names: Thakkar
given-names: Amol
-
family-names: "Chadimová"
given-names: Veronika
-
family-names: Reymond
given-names: "Jean-Louis"
-
family-names: Engkvist
given-names: Ola
-
family-names: Bjerrum
given-names: Esben
orcid: "https://orcid.org/0000-0003-1614-7376"
cff-version: "1.1.0"
date-released: 2020-12-08
doi: "https://doi.org/10.1186/s13321-020-00472-1"
identifiers:
-
type: doi
value: "10.1186/s13321-020-00472-1"
keywords:
- retrosynthesis
- casp
- retrosynthesis
- cheminformatics
- "neural-networks"
- "monte-carlo-tree-search"
- "chemical-reactions"
- astrazeneca
- "reaction-informatics"
license: MIT
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/MolecularAI/aizynthfinder"
title: AiZynthFinder
version: "2.2.1"
...
GitHub Events
Total
- Create event: 9
- Release event: 2
- Issues event: 24
- Watch event: 106
- Delete event: 7
- Issue comment event: 24
- Push event: 14
- Pull request review event: 6
- Pull request event: 18
- Fork event: 14
Last Year
- Create event: 9
- Release event: 2
- Issues event: 24
- Watch event: 106
- Delete event: 7
- Issue comment event: 24
- Push event: 14
- Pull request review event: 6
- Pull request event: 18
- Fork event: 14
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 72
- Total Committers: 7
- Avg Commits per committer: 10.286
- Development Distribution Score (DDS): 0.5
Top Committers
| Name | Commits | |
|---|---|---|
| Samuel Genheden | s****n@g****m | 36 |
| Samuel Genheden | s****n@a****m | 25 |
| dependabot[bot] | 4****]@u****m | 4 |
| Helio Machado | 0****t@g****m | 3 |
| Robert Burbidge | r****e@u****m | 2 |
| Naruki Yoshikawa | n****a@g****m | 1 |
| Esben Jannik Bjerrum | e****m@a****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 103
- Total pull requests: 71
- Average time to close issues: about 1 month
- Average time to close pull requests: 2 months
- Total issue authors: 67
- Total pull request authors: 10
- Average comments per issue: 2.86
- Average comments per pull request: 1.13
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 36
Past Year
- Issues: 12
- Pull requests: 16
- Average time to close issues: about 1 month
- Average time to close pull requests: about 13 hours
- Issue authors: 12
- Pull request authors: 3
- Average comments per issue: 1.25
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 5
Top Authors
Issue Authors
- queliyong (15)
- hongxianglics (6)
- drc007 (4)
- pkrezel (2)
- sitanshubhunia (2)
- Zbless (2)
- masyost (2)
- milktea-lab (2)
- danisetiawan (2)
- philipyang1 (2)
- shreyasvinaya (2)
- 0x2b3bfa0 (2)
- tagirshin (2)
- yangxiaofei77 (2)
- okikosuke (1)
Pull Request Authors
- dependabot[bot] (41)
- SGenheden (15)
- 0x2b3bfa0 (7)
- Lakshidaa (7)
- hubbs5 (2)
- ivanmilevtues (2)
- churnikov (2)
- chajath (2)
- bruceunx (1)
- proddi (1)
- EBjerrum (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- pypi 1,291 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 45
- Total maintainers: 2
proxy.golang.org: github.com/MolecularAI/aizynthfinder
- Documentation: https://pkg.go.dev/github.com/MolecularAI/aizynthfinder#section-documentation
- License: mit
-
Latest release: v4.4.0+incompatible
published 8 months ago
Rankings
proxy.golang.org: github.com/molecularai/aizynthfinder
- Documentation: https://pkg.go.dev/github.com/molecularai/aizynthfinder#section-documentation
- License: mit
-
Latest release: v4.4.0+incompatible
published 8 months ago
Rankings
pypi.org: aizynthfinder
Retrosynthetic route finding using neural network guided Monte-Carlo tree search
- Homepage: https://github.com/MolecularAI/aizynthfinder/
- Documentation: https://molecularai.github.io/aizynthfinder/
- License: MIT
-
Latest release: 4.4.0
published 8 months ago
Rankings
Dependencies
- 202 dependencies
- black ^22.0.0 develop
- invoke ^1.5.0 develop
- mypy ^0.800 develop
- pylint ^2.7.0 develop
- pytest ^6.2.2 develop
- pytest-black ^0.3.12 develop
- pytest-cov ^2.11.0 develop
- pytest-datadir ^1.3.1 develop
- pytest-mccabe ^2.0.0 develop
- pytest-mock ^3.5.0 develop
- sphinx ^4.0.0 develop
- deprecated ^1.2.10
- grpcio ^1.24.0
- ipywidgets ^7.5.1
- jinja2 ^3.0.0
- jupyter ^1.0.0
- jupytext ^1.3.3
- matplotlib ^3.0.0
- more-itertools ^8.2.0
- networkx ^2.4
- pandas ^1.0.0
- pillow ^9.0.0
- pymongo ^3.10.1
- python >=3.7,<3.10
- rdchiral ^1.0.0
- requests ^2.23.0
- route_distances *
- scikit-learn >0.21.0
- scipy ^1.0
- tables ^3.6.1
- tensorflow ^2.8.0
- tensorflow-serving-api ^2.1.0
- timeout-decorator ^0.5.0
- tqdm ^4.42.1
- actions/checkout v3 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v3 composite
- codecov/codecov-action v1 composite