GithubHelp home page GithubHelp logo

zaixizhang / druggps_icml23 Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 2.0 45.38 MB

Implementation of ICML23 paper "Learning Subpocket Prototypes for Generalizable Structure-based Drug Design"

Python 55.11% Jupyter Notebook 44.85% Shell 0.05%
drug-discovery generalization generative-model geometric-deep-learning

druggps_icml23's Introduction

Learning Subpocket Prototypes for Generalizable Structure-based Drug Design

Official Pytorch implementation of ICML'23 paper "Learning Subpocket Prototypes for Generalizable Structure-based Drug Design" (https://arxiv.org/abs/2305.13997).

Previous work

Install conda environment via conda yaml file

conda env create -f druggps_env.yaml
conda activate druggps_env

Datasets

Please refer to README.md in the data folder.

Preprocess dataset with BINANA

cd utils
python preprocess_data.py

Training

python train.py

Sampling

python sample.py

Generated Molecules for CrossDocked dataset

The generated molecules for 100 protein targets are stored in druggps.pt

The index file is test_index.pkl

Reference

@article{zhang2023learning,
  title={Learning Subpocket Prototypes for Generalizable Structure-based Drug Design},
  author={Zhang, Zaixi and Liu, Qi},
  journal={ICML},
  year={2023}
}

druggps_icml23's People

Contributors

zaixizhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kir- theangle134

druggps_icml23's Issues

how to generate the molecules on my own protein pockets

hi, Zaixi,

Thanks for providing such interesting work!
Can you please give a instructions to generate compounds using the scripts in the repo to run inside the pockets that target my own specific proteins?
many thanks,

Best,
Sh-Y

how to convert .sdf or .pdb to .pdbqt?

Thanks for your wonderful work!
I'm more interested in how you converted .sdf and .pdb files to .pdbqt files? What tools are used? Can you provide some detailed explanation?
thanks again.

pocket representation issue

Hi, Zaixi,

Thank you very much for your work, but I have some questions about the representation of protein pockets in your article. As mentioned in Attachment A of your article, under Residue-level edge features, the residue features are calculated using adjacent residues i and j. However, the protein data in CrossDocked seems to have gaps,such as residue i and next is i+10. How did you handle the data with gaps?
many thanks

Best,
Zhongyu

Details About Pocket-based Clustered Split

Hi Zaixi, thanks for pointing out the problem with sequence-based clustered split!
I'm really interested in different ways of dataset split, but after going through PocketMatch document, I can't find the exact definition of similarity score mentioned in your paper (perhaps it is P-max_OP = C/B?) and how the clustering is done.
Could you please share more details about the splitting or hopefully the data processing script? Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.