💥 The official repository of our paper "Deep reinforcement learning as an interaction agent to steer fragment-based 3D molecular generation for protein pockets".
We have presented the conda environment file in ./environment.yml
.
We have evaluated our models using external tools, including: Qvina, Pyscreener.
conda create -n AMG python=3.7
conda activate AMG
conda install pytorch==1.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install -c conda-forge pdbfixer
conda install conda-forge::openbabel
pip install tensorboard==1.15.0
pip isntall protobuf==3.19.6
pip install networkx==2.6.3
pip install rdkit==2023.3.2
pip install biopython==1.81
pip install pyscreener==1.1.1
pip install -U "ray[default]"
cd ADFRsuite_x86_64Linux_1.0
./install.sh -d myFolder -c 0
cd spinningup
pip install -e .
🌟 We pre-trained our model using the natural product dataset COCONUT and the Pocket3D dataset collected from the Protein Data Bank. The dataset used for fine-tuning was obtained from CrossDocked2020.
🌟 To facilitate your implementation, we have provided the raw datasets used by AMG. Download the dataset archive from AMG-DATA.
Ligand encoder and fragment-based decoder pre-training:
python scripts/pretrain_ligand.py
Pocket encoder pre-training:
python scripts/pretrain_pocket.py
The first training stage:
python scripts/train_rec.py
The second training stage:
python scripts/train_agent.py
python scripts/sample_testset.py --config configs/rl.yml --start_index 0 --end_index 99
python scripts/evaluate_amg.py
We provide the sampling results of our model and Pocket2Mol, TargetDiff, DecompDiff, ResGen, FLAG baselines here.
You can directly reproduce the results reported in the paper quickly with summary.ipynb.
If you find our code helpful, please cite
@article{zhang2025deep,
title={Deep reinforcement learning as an interaction agent to steer fragment-based 3D molecular generation for protein pockets},
author={Zhang, Xudong and Hou, Jing and Qu, Sanqing and Lu, Fan and Tian, Zhixin and Knoll, Alois and Chen, Guang and Gao, Shaorong and Zhang, Yanping},
journal={Briefings in Bioinformatics},
volume={26},
number={4},
pages={bbae531},
year={2025},
publisher={Oxford University Press}
}