Skip to content

Latest commit

 

History

History
165 lines (119 loc) · 6.75 KB

README.md

File metadata and controls

165 lines (119 loc) · 6.75 KB

PRODIGY / Binding Affinity Prediction

PyPI - Downloads PyPI - Version PyPI - Python Version

ci Codacy Badge Codacy Badge

PyPI - License fair-software.eu SQAaaS badge shields.io


PRODIGY is also available as a web service @ wenmr.science.uu.nl/prodigy

Installation

pip install prodigy-prot

If you want to develop PRODIGY, check DEVELOPMENT for more details.

Usage

You can run prodigy either on a single structure:

prodigy <structure_file>

Or in a directory containing multiple molecules:

prodigy <directory_with_molecules>

To get a list of all the possible options.

$ prodigy -h
usage: prodigy [-h] [--distance-cutoff DISTANCE_CUTOFF] [--acc-threshold ACC_THRESHOLD]
               [--temperature TEMPERATURE] [--contact_list] [--pymol_selection] [-q]
               [--selection A B [A,B C ...]]
               input_path

Binding affinity predictor based on Intermolecular Contacts (ICs).

positional arguments:
  input_path            Path to either:
                        - Structure in PDB or mmCIF format
                        - Directory containing structure files

options:
  -h, --help            show this help message and exit
  --distance-cutoff DISTANCE_CUTOFF
                        Distance cutoff to calculate ICs
  --acc-threshold ACC_THRESHOLD
                        Accessibility threshold for BSA analysis
  --temperature TEMPERATURE
                        Temperature (C) for Kd prediction
  --contact_list        Output a list of contacts
  --pymol_selection     Output a script to highlight the interface (pymol)
  -q, --quiet           Outputs only the predicted affinity value

Selection Options:

  By default, all intermolecular contacts are taken into consideration,
  a molecule being defined as an isolated group of amino acids sharing
  a common chain identifier. In specific cases, for example
  antibody-antigen complexes, some chains should be considered as a
  single molecule.

  Use the --selection option to provide collections of chains that should
  be considered for the calculation. Separate by a space the chains that
  are to be considered _different_ molecules. Use commas to include multiple
  chains as part of a single group:

  --selection A B => Contacts calculated (only) between chains A and B.
  --selection A,B C => Contacts calculated (only) between     chains A and C; and B and C.
  --selection A B C => Contacts calculated (only) between     chains A and B; B and C; and A and C.

  --selection A B [A,B C ...]

Example single structure

Download the PDB 3BZD and run PRODIGY on it.

$ curl -o 3bzd.pdb https://files.rcsb.org/download/3BZD.pdb
$ prodigy 3bzd.pdb
[+] Reading structure file: /Users/rvhonorato/dbg/3bzd.pdb
[+] Parsed structure file 3bzd (2 chains, 343 residues)
[+] No. of intermolecular contacts: 51
[+] No. of charged-charged contacts: 4
[+] No. of charged-polar contacts: 7
[+] No. of charged-apolar contacts: 6
[+] No. of polar-polar contacts: 7
[+] No. of apolar-polar contacts: 15
[+] No. of apolar-apolar contacts: 12
[+] Percentage of apolar NIS residues: 29.48
[+] Percentage of charged NIS residues: 29.48
[++] Predicted binding affinity (kcal.mol-1):     -9.4
[++] Predicted dissociation constant (M) at 25.0˚C:  1.3e-07

Details of the binding affinity predictor implemented in PRODIGY can be found at 10.7554/elife.07454

Example multiple structures

Create a directory that will hold your input molecules

mkdir input

Download some molecules (or copy them into this directory):

curl -o input/3bzd.pdb https://files.rcsb.org/download/3BZD.pdb
curl -o input/2oob.pdb https://files.rcsb.org/download/2OOB.pdb
curl -o input/1ppe.pdb https://files.rcsb.org/download/1PPE.pdb

Run prodigy with the quiet option, so it is easier to parse the output later:

$ prodigy -q input/
3bzd  -9.373
2oob  -6.230
1ppe -14.727

Citing us

If our tool is useful to you, please cite PRODIGY in your publications:

  • Xue L, Rodrigues J, Kastritis P, Bonvin A.M.J.J, Vangone A.: PRODIGY: a web server for predicting the binding affinity of protein-protein complexes. Bioinformatics (2016) (10.1093/bioinformatics/btw514)

  • Anna Vangone and Alexandre M.J.J. Bonvin: Contacts-based prediction of binding affinity in protein-protein complexes. eLife, e07454 (2015) (10.7554/eLife.07454)

  • Panagiotis L. Kastritis , João P.G.L.M. Rodrigues, Gert E. Folkers, Rolf Boelens, Alexandre M.J.J. Bonvin: Proteins Feel More Than They See: Fine-Tuning of Binding Affinity by Properties of the Non-Interacting Surface. Journal of Molecular Biology, 14, 2632–2652 (2014). (10.1016/j.jmb.2014.04.017)

Contact

For questions about PRODIGY usage, please reach out the team at ask.bioexcel.eu

Information about dependencies

The scripts rely on Biopython to validate the PDB structures and calculate interatomic distances. freesasa, with the parameter set used in NACCESS (Chothia, 1976), is also required for calculating the buried surface area.

DISCLAIMER: given the different software to calculate solvent accessiblity, predicted values might differ (very slightly) from those published in the reference implementations. The correlation of the actual atomic accessibilities is over 0.99, so we expect these differences to be very minor.