BInD

July 24, 2025 · View on GitHub

.

This repository is the official repository for BInD (Bond and Interaction generating Diffusion model)

Publication ✨

BInD: Bond and Interaction-Generating Diffusion Model for Multi-Objective Structure-Based Drug Design

Setup

Installation of Python Packages

conda create -n bindenv python=3.9 -y
conda activate bindenv

# ML
conda install  scipy=1.11.3 numpy=1.26.0 pandas=2.1.1 scikit-learn=1.3.0 -y
conda install pytorch==1.11.0 cudatoolkit=11.3 -c pytorch -y
pip install torch-scatter==2.0.9 torch-sparse==0.6.15 torch-cluster==1.6.0 torch-geometric==2.1.0.post1 -f https://data.pyg.org/whl/torch-1.11.0+cu113.html
pip install tensorboard==2.15.1

# cheminformatics
pip install rdkit==2023.9.2 
pip install biopython==1.81
conda install plip=2.3.0 -c conda-forge
conda install -c conda-forge openbabel==3.1.1
pip install meeko==0.1.dev3 scipy pdb2pqr vina==1.2.2 
python -m pip install git+https://github.com/Valdes-Tresanco-MS/AutoDockTools_py3
git clone https://github.com/durrantlab/POVME

# posecheck
pip install prolif==2.0.3
git clone https://github.com/cch1999/posecheck.git
cd posecheck
pip install -e .

# utils
pip install pyyaml==6.0.1
pip install easydict==1.13
pip install parmap==1.7.0

# plots
pip install matplotlib==3.8.1
pip install seaborn==0.13.0

Download Data and Trained Checkpoints

DataSizePath
Raw data1.7GBdata/raw/
Processed data (whole)3.7GBdata/processed/
Processed data (only test)3.3MBdata/processed/
Data split keys3.3MBdata/
POVME data0.7MBdata/
Trained checkpoint10.7MBsave/

You can download the .tar.gz files provided above, extract them, and place the contents in the path.

Training BInD From Scratch

Data Preparation

Warning: Using --recreate parameter will overwrite the existing directory where training checkpoints are saved.

python process.py --recreate --save_dirn ./data/processed/my_data/ --raw_dirn ./data/raw/crossdocked_pocket10 

Training

To train BInD with the default settings, use the command below. You can adjust the training configurations by editing the configs/train.yaml file. For multi-GPU training, adjust the n_gpu and num_workers parameters as needed. Additionally, setting the pre_load_dataset option to yes will load the dataset into memory in advance, reducing file I/O load.

Warning: Setting the save_dirn parameter will overwrite the existing directory where training checkpoints are saved.

python train.py configs/train.yaml

Generating Molecules with BInD

Molecule Generation for Test Pockets

python generate_test_pockets.py configs/generate_test_pockets.yaml

Pocket Conditioned Molecule Generation

python generate_single_pocket.py configs/generate_single_pocket.yaml

Citation

@article{lee2025bind,
  title={BInD: Bond and Interaction-Generating Diffusion Model for Multi-Objective Structure-Based Drug Design},
  author={Lee, Joongwon and Zhung, Wonho and Seo, Jisu and Kim, Woo Youn},
  journal={Advanced Science},
  pages={e02702},
  year={2025},
  publisher={Wiley Online Library},
  doi = {https://doi.org/10.1002/advs.202502702},
}

Collaborators


Lee, Joongwon

Zhung, Wonho

Seo, Jisu