- Please check out our latest work on structure-based drug design: Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets (ICML 2022)
The code has been tested in the following environment:
Package | Version |
---|---|
Python | 3.8.12 |
PyTorch | 1.10.1 |
CUDA | 11.3.1 |
PyTorch Geometric | 2.0.3 |
RDKit | 2020.09.5 |
OpenBabel | 3.1.0 |
BioPython | 1.79 |
conda env create -f env_cuda113.yml
conda activate SBDD-3D
conda create --name SBDD-3D python=3.8
conda activate SBDD-3D
conda install pytorch=1.10.1 torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install pyg -c pyg -c conda-forge
conda install easydict -c conda-forge
conda install biopython -c conda-forge
conda install rdkit openbabel python-lmdb -c conda-forge
conda install tensorboard -c conda-forge
Please refer to README.md
in the data
folder.
To sample molecules for the i-th pocket in the testset, please first download the trained models following
README.md
in the pretrained
folder. Then, run the following command:
python sample.py ./configs/sample.yml --data_id {i} # Replace {i} with the index of the data. i is between 0 and 99 for the testset.
To generate ligands for your own pocket, you need to provide the PDB
structure file of the protein, the center coordinate of the pocket bounding box, and optionally the side length of the bounding box (default: 22Å).
Example:
python sample_for_pdb.py \
--pdb_path ./example/4yhj.pdb \
--center 32.0,28.0,36.0
The open source repo of our latest work Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets (ICML 2022) is tested for training. You may check it out here: https://github.com/pengxingang/Pocket2Mol
@inproceedings{luo2021sbdd,
title={A 3D Generative Model for Structure-Based Drug Design},
author={Shitong Luo and Jiaqi Guan and Jianzhu Ma and Jian Peng},
booktitle={Thirty-Fifth Conference on Neural Information Processing Systems},
year={2021}
}