This repository contains a tutorial on how to use hierarchical coarse-grained models and mutli-level Bayesian optimization for molecular discovery. Although the example system is quite simple, the methods are general and can be applied to more complex systems and larger molecules.
The tutorial is based on the paper Navigating Chemical Space: Multi-Level Bayesian Optimization with Hierarchical Coarse-Graining.
To run the tutorial, clone this repository:
git clone https://github.com/BereauLab/Molecule-Optimization-w-Hierarchical-Coarse-Graining.git
cd Molecule-Optimization-w-Hierarchical-Coarse-Graining
Next, a few dependencies are required:
-
GROMACS: This program is used to run molecular dynamics simulations. See this page for installation instructions.
-
Python packages: The provided
requirements.txt
file lists the necessary python packages. You can install them using pip:pip install -r requirements.txt
It is recommended to use Python 3.11 and to create a virtual environment, e.g. using
venv
oruv
.
To run the tutorial, launch the Jupyter notebook Tutorial_on_Coarse_Grained_Molecular_Optimization.ipynb in a Jupyter environment, e.g. using the command:
jupyter lab Tutorial_on_Coarse_Grained_Molecular_Optimization.ipynb