Package: aizynthfinder
AiZynthFinderAiZynthFinder 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-mcgAPrerequisitesBefore 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 installedanacondaorminicondawith python 3.9 - 3.11The tool has been developed on a Linux platform, but the software has been tested on Windows 10 and macOS Catalina.InstallationFor end-usersFirst time, execute the following command in a console or an Anaconda promptconda create "python>=3.8,<3.10" -n aizynth-envTo install, activate the environment and install the package using pypiconda activate aizynth-env
python -m pip install aizynthfinder[all]for a smaller package, without all the functionality, you can also typepython -m pip install aizynthfinderFor developersFirst clone the repository using Git.Then execute the following commands in the root of the repositoryconda env create -f env-dev.yml
conda activate aizynth-dev
poetry install --all-extrastheaizynthfinderpackage is now installed in editable mode.UsageThe tool will install theaizynthcliandaizynthapptools
as interfaces to the algorithm:aizynthcli --config config_local.yml --smiles smiles.txt
aizynthapp --config config_local.ymlConsult the documentationherefor more information.To use the tool you need1. A stock file
2. A trained expansion policy network
3. A trained filter policy network (optional)Such files can be downloaded fromfigshareandhereor they can be downloaded automatically usingdownload_public_data my_folderwheremy_folderis the folder that you want download to.
This will create aconfig.ymlfile that you can use with eitheraizynthclioraizynthapp.DevelopmentTestingTests uses thepytestpackage, and is installed bypoetryRun the tests using:pytest -vThe full command run on the CI server is available through aninvokecommandinvoke full-testsDocumentation generationThe documentation is generated by Sphinx from hand-written tutorials and docstringsThe HTML documentation can be generated byinvoke build-docsContributingWe 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 pushCreate the pull request.Please useblackpackage for formatting, and followpep8style guide.Contributors@SGenheden@lakshidaa@helenlai@EBjerrum@A-Thakkar@bentebThe contributors have limited time for support questions, but please do not hesitate to submit an issue (see above).LicenseThe software is licensed under the MIT license (see LICENSE file), and is free and provided as-is.ReferencesThakkar 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/C9SC04944DGenheden 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