PRODIGY Error running my PDB file containing my docked proteins from ClusPro


Been trying to get the binding energy of my protein complex, Ligand shown in Red, receptor in green. PyMol showed that there polar contacts on my protein but it seems prodigy is having errors. Prodigy error log says no contacts

Prodigy error log also says there are gaps in residue fragments. But these gaps were already within the PDB files from where I got the structures from. I didn’t change nor edit the structures myself. Only used what was deposited in PDB.

Did you define the correct chains for use in PRODIGY?

Please provide details (e.g. PDB code and chain definition you used)

Since this was from the docking models of ClusPro2.0, The ligand and receptor I used were from RCSB PDB - 6CM4: Structure of the D2 Dopamine Receptor Bound to the Atypical Antipsychotic Drug Risperidone for the dopamine receptor (green) and RCSB PDB - 7LLL: Exendin-4-bound Glucagon-Like Peptide-1 (GLP-1) Receptor in complex with Gs protein for the exendin-IV ligand (red).

I basically removed all other proteins from their respective PDB files and only isolated the protein and receptor that I needed.

Thank you for the speedy reply, PRODIGY team!

Here is the complete error log of my run:

===========================================================================

command: /usr/local/bin/prodigy DRD2_Exendin_IV_cluspro.pdb --selection A B,C,D,E,F,G --temperature 25.0 --contact_list --pymol_selection
exit status: 1
log:
[+] Reading structure file: /data/runs/3RTCqPXS/DRD2_Exendin_IV_cluspro.pdb
[!] Structure contains gaps:
R TYR34 < Fragment 0 > R THR225
R GLN365 < Fragment 1 > R LEU441
P HIS1 < Fragment 2 > P ASN28

[+] Parsed structure file DRD2_Exendin_IV_cluspro (2 chains, 297 residues)
Traceback (most recent call last):
File “/usr/local/bin/prodigy”, line 8, in
sys.exit(main())
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 421, in main
prodigy.predict(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 154, in predict
self.ic_network = calculate_ic(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 66, in calculate_ic
raise ValueError(“No contacts found for selection”)
ValueError: No contacts found for selection

Well - it is then not a PDB structure, but a docked model.

And it looks like your chain IDs are different… I see R and P.
Check the chainIDs in your model and use those for PRODIGY

Ahhhh I see now. Those were my chain IDs. They were right next to the three letter amino acid codes in my generated docked model PDB files. Thank you so much!

I’m still new to these computational tools, :sweat_smile:

My run worked now!

So I didn’t have to mind “structure contains gaps” after all

image

I have also the same issues after running. Can anyone resolve my issues?===========================================================================
command: /usr/local/bin/prodigy CD19_Hc.pdb --selection A B --temperature 25.0 --contact_list --pymol_selection
exit status: 1
log:
[+] Reading structure file: /data/runs/oDU_3S58Dq6t/CD19_Hc.pdb
[+] Parsed structure file CD19_Hc (2 chains, 280 residues)
Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/freesasa_tools.py”, line 207, in execute_freesasa_api
struct = structureFromBioPDB(
File “src/structure.pyx”, line 510, in freesasa.structureFromBioPDB
File “src/structure.pyx”, line 187, in freesasa.Structure.setRadiiWithClassifier
File “src/structure.pyx”, line 208, in freesasa.Structure.setRadii
AssertionError: Error: Radius array is <= 0 for the residue: GLN ,atom: OT1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/bin/prodigy”, line 8, in
sys.exit(main())
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 421, in main
prodigy.predict(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 161, in predict
_, cmplx_sasa = execute_freesasa_api(self.structure)
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/freesasa_tools.py”, line 213, in execute_freesasa_api
error_message = “” + os.linesep()
TypeError: ‘str’ object is not callable

OT1 is not an official PDB naming…

Instead of OT1 and OT2 use O and OXT

I have replaced it as per your suggestions. But some errors came.

command: /usr/local/bin/prodigy CD19_Hc.pdb --selection A B --temperature 25.0 --contact_list --pymol_selection
exit status: 1
log:
[+] Reading structure file: /data/runs/oDU_3S5c-d4M/CD19_Hc.pdb
[+] Parsed structure file CD19_Hc (2 chains, 280 residues)
Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/freesasa_tools.py”, line 207, in execute_freesasa_api
struct = structureFromBioPDB(
File “src/structure.pyx”, line 510, in freesasa.structureFromBioPDB
File “src/structure.pyx”, line 187, in freesasa.Structure.setRadiiWithClassifier
File “src/structure.pyx”, line 208, in freesasa.Structure.setRadii
AssertionError: Error: Radius array is <= 0 for the residue: ILE ,atom: CD

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/bin/prodigy”, line 8, in
sys.exit(main())
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 421, in main
prodigy.predict(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 161, in predict
_, cmplx_sasa = execute_freesasa_api(self.structure)
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/freesasa_tools.py”, line 213, in execute_freesasa_api
error_message = “” + os.linesep()
TypeError: ‘str’ object is not callable

Read the error message… The problem is CD of ILE - whose proper naming is CD1.

Sorry about all those issues, but they come from the library of freesasa and not prodigy directly.
Again, proper standard names are important

Thanks a lot. Now it’s working.

Hello Sir Can you resolve this issue?
command: /usr/local/bin/prodigy Hc_before_MD.pdb --selection X XX --temperature 25.0 --contact_list --pymol_selection
exit status: 1
log:
[+] Reading structure file: /data/runs/oDU_3S5SlNVr/Hc_before_MD.pdb
[+] Parsed structure file Hc_before_MD (2 chains, 280 residues)
Traceback (most recent call last):
File “/usr/local/bin/prodigy”, line 8, in
sys.exit(main())
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 421, in main
prodigy.predict(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 154, in predict
self.ic_network = calculate_ic(
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 66, in calculate_ic
raise ValueError(“No contacts found for selection”)
ValueError: No contacts found for selection

We can not - the issue is on your side… Check carefully the chainIDs you are giving as argument.

This issue was resolved. Thank u.

Can we check which amino acid residues are involved in the below attached

[+] No. of intermolecular contacts: 13
[+] No. of charged-charged contacts: 0
[+] No. of charged-polar contacts: 2
[+] No. of charged-apolar contacts: 1
[+] No. of polar-polar contacts: 1
[+] No. of apolar-polar contacts: 5
[+] No. of apolar-apolar contacts: 4
[+] Percentage of apolar NIS residues: 42.98
[+] Percentage of charged NIS residues: 24.68

PRODIGY should generate a file with the contact (.ic)

It is part of the output you can download from the server

Okay. Thank you.

ValueError: No contacts found for selection

Check the chain you selected…. no contacts were identified.

Hello Sir
I have issues with the PRODIGY error running my PDB file containing my docked proteins after a 200ns MD simulation run.

===========================================================================

command: prodigy trj_200.pdb --selection C D,A,B --temperature 25.0 --contact_list --pymol_selection
exit status: 1
log:
[+] Reading structure file: /data/runs/3X9mkkcA/trj_200.pdb
[!] Structure ‘trj_200’ could not be parsed
Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/parsers.py”, line 158, in parse_structure
s = sparser.get_structure(sname, path)
File “/usr/local/lib/python3.10/site-packages/Bio/PDB/PDBParser.py”, line 100, in get_structure
self._parse(lines)
File “/usr/local/lib/python3.10/site-packages/Bio/PDB/PDBParser.py”, line 123, in _parse
self.trailer = self._parse_coordinates(coords_trailer)
File “/usr/local/lib/python3.10/site-packages/Bio/PDB/PDBParser.py”, line 198, in _parse_coordinates
resseq = int(line[22:26].split()[0]) # sequence identifier
ValueError: invalid literal for int() with base 10: ‘A’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/bin/prodigy”, line 8, in
sys.exit(main())
File “/usr/local/lib/python3.10/site-packages/prodigy/predict_IC.py”, line 414, in main
structure, n_chains, n_res = parse_structure(struct_path)
File “/usr/local/lib/python3.10/site-packages/prodigy/lib/parsers.py”, line 161, in parse_structure
raise Exception(exeption)
Exception: invalid literal for int() with base 10: ‘A’

You might want to run your PDB file through pdb_tidy from our pdb-tools software.
There might be some formatting issues.