/simulator-predictor-hacking

Primary LanguageJupyter NotebookMIT LicenseMIT

Forked https://github.com/ml-jku/mgenerators-failure-modes

A Molecular Assays Simulator to Unravel Predictors Hacking in goal-directed molecular generations

Joseph-André Turk 🔥, Philippe Gendreau 🔥, Nicolas Drizard 🔥, Yann Gaston-Mathé 🔥,

🔥 Iktos

The paper can be found here: https://chemrxiv.org/engage/chemrxiv/article-details/62a338aabb75190ef7492fba

Feel free to send questions to philippe.gendreau@iktos.com

Create environment with dependencies

Poetry is used for dependencies management, you need to install it first.

Then, to install the dependencies:

poetry install

To activate the environment: poetry shell

Prepare oracle

python create_oracle.py dataset1 19 1 15

(arguments are: dataset_name, seed, n_targets, power)

Run experiment

After having created the relevant oracle

python my_run_goal_directed.py --chid dataset1 --results_dir my_res_dir --optimizer graph_ga --model_type lr --use_train_cs 1 --target_names 'target_1targs_power15_seed19_targid0' --seed 0

Special thanks

Special thanks goes out to the authors of Guacamol (Paper / Github), which code was used for the generative modelling/optimization part.

Special thanks goes out to the authors of On failure modes in molecule generation and optimization (Github). Their code was very helpful to setup the experiments, and they were the first authors to report on the preeminent issue of failure modes of molecule generators.

Special thanks goes out to the authors of Explaining and avoiding failure modes in goal-directed generation of small molecules. They provided further interesting analyses and insights on the failure modes.