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 pre-print.
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).