All Projects → MolecularAI → Aizynthfinder

MolecularAI / Aizynthfinder

Licence: mit
A tool for retrosynthetic planning

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Aizynthfinder

Adcme.jl
Automatic Differentiation Library for Computational and Mathematical Engineering
Stars: ✭ 106 (-13.11%)
Mutual labels:  neural-networks
Keras Contrib
Keras community contributions
Stars: ✭ 1,532 (+1155.74%)
Mutual labels:  neural-networks
Nnpack
Acceleration package for neural networks on multi-core CPUs
Stars: ✭ 1,538 (+1160.66%)
Mutual labels:  neural-networks
Elephas
Distributed Deep learning with Keras & Spark
Stars: ✭ 1,521 (+1146.72%)
Mutual labels:  neural-networks
A Nice Mc
Code for "A-NICE-MC: Adversarial Training for MCMC"
Stars: ✭ 115 (-5.74%)
Mutual labels:  neural-networks
Learn Machine Learning
Learn to Build a Machine Learning Application from Top Articles
Stars: ✭ 116 (-4.92%)
Mutual labels:  neural-networks
Fast Style Transfer
TensorFlow CNN for fast style transfer ⚡🖥🎨🖼
Stars: ✭ 10,240 (+8293.44%)
Mutual labels:  neural-networks
Neuroner
Named-entity recognition using neural networks. Easy-to-use and state-of-the-art results.
Stars: ✭ 1,579 (+1194.26%)
Mutual labels:  neural-networks
Josef
A robot who learns how to draw
Stars: ✭ 115 (-5.74%)
Mutual labels:  neural-networks
Deephyper
DeepHyper: Scalable Asynchronous Neural Architecture and Hyperparameter Search for Deep Neural Networks
Stars: ✭ 117 (-4.1%)
Mutual labels:  neural-networks
Safe
SAFE: Self-Attentive Function Embeddings for binary similarity
Stars: ✭ 112 (-8.2%)
Mutual labels:  neural-networks
Pygat
Pytorch implementation of the Graph Attention Network model by Veličković et. al (2017, https://arxiv.org/abs/1710.10903)
Stars: ✭ 1,853 (+1418.85%)
Mutual labels:  neural-networks
Openann
An open source library for artificial neural networks.
Stars: ✭ 117 (-4.1%)
Mutual labels:  neural-networks
Deep architect
A general, modular, and programmable architecture search framework
Stars: ✭ 110 (-9.84%)
Mutual labels:  neural-networks
Amla
AutoML frAmework for Neural Networks
Stars: ✭ 119 (-2.46%)
Mutual labels:  neural-networks
Faceswap
Deepfakes Software For All
Stars: ✭ 39,911 (+32613.93%)
Mutual labels:  neural-networks
Lightwood
Lightwood is Legos for Machine Learning.
Stars: ✭ 115 (-5.74%)
Mutual labels:  neural-networks
Nlp Pretrained Model
A collection of Natural language processing pre-trained models.
Stars: ✭ 122 (+0%)
Mutual labels:  neural-networks
Nn
A tiny neural network 🧠
Stars: ✭ 119 (-2.46%)
Mutual labels:  neural-networks
Growing Neural Cellular Automata
A reproduction of growing neural cellular automata using PyTorch.
Stars: ✭ 116 (-4.92%)
Mutual labels:  neural-networks

AiZynthFinder

License Tests codecov Code style: black version Open In Colab

AiZynthFinder is a tool for 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 a policy that suggests possible precursors by utilizing a neural network trained on a library of known reaction templates.

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.6 - 3.8

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 env create -f https://raw.githubusercontent.com/MolecularAI/aizynthfinder/master/env-users.yml

And if you want to update the environment

conda env update -n aizynth-env -f https://raw.githubusercontent.com/MolecularAI/aizynthfinder/master/env-users.yml

The package is now installed in a new conda environment, that you need to activate each time you want to use it

conda activate aizynth-env

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

the aizynthfinder package is now installed in editable mode.

Troubleshooting

If the above simple instructions does not work, here are the more detailed instructions. You might have to modify conda channels or similar if the dependencies fails to install on your OS.

First, install these conda packages

conda install -c conda-forge "rdkit=>2019.09.1" -y
conda install graphviz -y

Secondly, install the aizynthfinder package

python -m pip install https://github.com/MolecularAI/aizynthfinder/archive/v2.4.0.tar.gz

if you want to install the latest version

or, if you have cloned this repository

conda install poetry
python poetry

Note on the graphviz installation: this package does not depend on any third-party python interfaces to graphviz but instead calls the dot executable directly. If the executable is not in the $PATH environmental variable, the generation of route images will not work. If unable to install it properly with the default conda channel, try using -c anaconda.

Usage

The tool will install the aizynthcli and aizynthapp tools as interfaces to the algorithm:

aizynthcli --config config.yml --smiles smiles.txt
aizynthapp --config config.yml

Consult the documentation here for more information.

To use the tool you need

1. A stock file
2. A trained rollout policy network (including the Keras model and the list of unique templates)
3. A trained filer 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:

  1. Fork this repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make your changes and commit them: git commit -m '<commit_message>'
  4. Push to the remote branch: git push
  5. 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

  1. 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
  2. Genheden S, Thakkar A, Chadimova V, et al (2020) AiZynthFinder: a fast, robust and flexible open-source software for retrosynthetic planning. J. Cheminf. https://jcheminf.biomedcentral.com/articles/10.1186/s13321-020-00472-1
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].