ketatam / DiffDock-PP

Implementation of DiffDock-PP: Rigid Protein-Protein Docking with Diffusion Models in PyTorch (ICLR 2023 - MLDD Workshop)
https://arxiv.org/abs/2304.03889
174 stars 35 forks source link

ToyLoader not implemented? #1

Closed slieped closed 1 year ago

slieped commented 1 year ago

First, I would like to thank you for open-source this tool, and congratz for the publication!

I wanted to test Diffdock-pp using my own pair of proteins. I was expecting to see something similar to DiffDock, where you can parse --receptor-pdb and --ligand-pdb over main_inf.py. This was not the case. I was debugging the code to try to find a workaround and saw the database "toy" option. Nevertheless, the ToyLoader class is not implemented.

Main Q: Any inisight into how to parse my own pair of proteins relatively quick (i.e no change in main code)?

Again, thanks! Victor Montal

ketatam commented 1 year ago

Hi Victor,

Thanks a lot for your interest in our work!

The easiest way to work with your own pairs of proteins is to create a data loader that inherits from src.data.data_train_utils.Loader. This class implements the required pre-processing steps (creating the graphs, computing the features, etc.) and all you need to specify is how to load your files and how to assign receptor and ligand from the protein pair. You can take inspiration from the DIPSLoader and DB5Loader in the same file data_train_utils.py

Hope this helps! Let me know if you need any further help.

Best Amine

rmwu commented 1 year ago

ToyLoader and SabDabLoader are legacy code from me, sorry for the confusion! The easiest way to run inference on your own structures would be to use the DB5Loader, and to name your files {pdb}_l_b.pdb, {pdb}_r_b.pdb for the ligand, receptor respectively.

slieped commented 1 year ago

Thank you both for the quick response and the tips! I will try to make it work with the DB5, and if not, create a inherete class. Will let you know if something aint working.

(guess you can close the issue)

and again, kudos for publishing the code :)