DrugDiff is a latent diffusion model that uses predictor guidance to generate small molecules with desired molecular properties. Details about DrugDiff's architecture are illustrated below and further described in our paper.
Please download the DrugDiff checkpoint as well as the predictor checkpoints from here: zenodo
Save the checkpoints under /model/
.
To generate molecules from the learned distribution without guidance, use /scripts/generate_without_guidance.py
.
To generate molecules with guidance towards a single molecular property, use /scripts/generate_with_single_property_guidance.py
.
To generate molecules with guidance towards multiple molecular properties, use /scripts/generate_with_multi_property_guidance.py
.
Evaluation examples can be found under /notebooks/
, with examples for unconditional generation (evaluation_without_guidance.ipynb
), single-property guidance (evaluation_with_single_property_guidance.ipynb
) and multi-property guidance (evaluation_with_multi_property_guidance.ipynb
).
The ZINC-250k dataset (https://www.kaggle.com/datasets/basu369victor/zinc250k) was used for training, which was published under the Database Contents License (DbCL). It is a subset of the ZINC database (Irwin, Tang, Young, Dandarchuluun, Wong, Khurelbaatar, Moroz, Mayfield, Sayle, J. Chem. Inf. Model 2020, https://pubs.acs.org/doi/10.1021/acs.jcim.0c00675).