Molecular optimization using generative models
Clone this repository:
git clone [email protected]:gmmsb-lncc/generative-optim.git # ssh
cd generative-optim
When using the HierVAE model, create a virtual environment with Python 3.8 (the latest tested compatible version) and install the dependencies:
conda create --prefix ./venv python=3.8 # using conda for python 3.8
conda activate ./venv
python -m pip install -r requirements-hiervae.txt
First, initialize a new aim repository for tracking experiments (just once):
aim init
Run the optimization script with the desired arguments:
python optim.py --help # show help
See the runs-example.sh
script for an example of how to run the optimization script.
Choose from the available optimization algorithms and problems (see --help
for more details). Objectives are defined in the objectives.conf.json
file.
To visualize experiments using aim UI, run the following command in the terminal:
aim up
Then, open the browser at http://localhost:43800/
to see the experiments.
By default, a checkpoint of the whole population is saved in a .csv
file inside the .aim/meta/chunks/{run_hash}/
folder at the end of each generation.
The final population of generated molecules is saved at .aim/meta/chunks/{run_hash}/generated_mols.txt
.
Matheus Müller Pereira da Silva, Jaqueline da Silva Angelo, Isabella Alvim Guedes, and Laurent Emmanuel Dardenne. 2024. A Generative Evolutionary Many-Objective Framework: A Case Study in Antimicrobial Agent Design. In Genetic and Evolutionary Computation Conference (GECCO ’24 Companion), July 14–18, 2024, Melbourne, VIC, Australia. ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/3638530.3664159