Installation
We support two installation modes:
- core installation allows you to build and benchmark your own models or search algorithms
- full installation also allows you to perform end-to-end search using the supported models
There are also two installation sources:
- pip, which provides the most recent released version
- GitHub, which provides the latest changes but may be less stable and may not be backward-compatible with the latest released version
conda env create -f environment.yml
conda activate syntheseus
pip install syntheseus
conda env create -f environment_full.yml
conda activate syntheseus-full
pip install "syntheseus[all]"
conda env create -f environment.yml
conda activate syntheseus
pip install -e .
conda env create -f environment_full.yml
conda activate syntheseus-full
pip install -e ".[all]"
Core installation includes only minimal dependencies (no ML libraries), while full installation includes all supported models and also dependencies for visualization/development.
Instructions above assume you already cloned the repository via
git clone https://github.com/microsoft/syntheseus.git
cd syntheseus
Note that environment_full.yml pins the CUDA version (to 11.3) for reproducibility.
If you want to use a different one, make sure to edit the environment file accordingly.
Setting up GLN
We also support GLN, but it requires a specialized environment and is thus not installed via pip.
See here for a Docker environment necessary for running GLN.
Reducing the number of dependencies
To keep the environment smaller, you can replace the all option with a comma-separated subset of {chemformer,local-retro,megan,mhn-react,retro-knn,root-aligned,viz,dev} (viz and dev correspond to visualization and development dependencies, respectively).
For example, pip install -e ".[local-retro,root-aligned]" installs only LocalRetro and RootAligned.
If installing a subset of models, you can also delete the lines in environment_full.yml marked with names of models you do not wish to use.
If you only want to use a very specific part of syntheseus, you could also install it without dependencies:
pip install -e . --no-dependencies
You then would need to manually install a subset of dependencies that are required for a particular functionality you want to access.
See pyproject.toml for a list of dependencies tied to the search and reaction_prediction subpackages.