Calculating binding energy for Multiple PDBs

Dear Sir/Madam,
I would like to compute the binding free energy for multiple PDBs. How could I do it with your program. Please do help me out.

Hi,

You just need to compress the directory containing all the files you want to analyse ans submit it. Please notice, through the server you can also do it with pdb structures that has the same chain identifiers, since it is only possible to provide this command once.

Best regards,
Anna

Dear Anna,
I tried submitting the ZIP file in the web server for the calculation and ended with the error stating “Error during parsing the input structure: File exceeds allowed size limit of 10 MB”. On the other hand, I also tried using the command line with the command python predict_IC.py test.zip --selection A C

output error:
[+] Reading structure file: /home/rajasekaran/Documents/prodigy-master/test.zip
Traceback (most recent call last):
File “predict_IC.py”, line 284, in
structure, n_chains, n_res = parse_structure(struct_path)
File “/home/rajasekaran/Documents/prodigy-master/lib/parsers.py”, line 117, in parse_structure
raise IOError(’[!] Structure format ‘{0}’ is not supported. Use ‘.pdb’ or ‘.cif’.’.format(s_ext))
IOError: [!] Structure format ‘zip’ is not supported. Use ‘.pdb’ or ‘.cif’.

Please do help me out with the error.

with regards
Srinivasan

Hi,

we might increase the size limit of the server. For now you can try to split your PDB files into multiple archives smaller then 10 mb and submit several runs.
For the command line you will have to call the script with a simple loop multiple times e.g in bash:
for pdb in *pdb; do python predict_IC.py $pdb --selection A C; done

Regards,

Joerg

Thank you very much Anna.

with regards,
Srinivasan

Dear Anna and Srinivasan

I am facing trouble in calculating binding energy for multiple PDBs. I have 50 structures in a single PDB file. Although both webserver and locally installed version of Prodigy takes in the file without any error, it only produces output for the first structure. I tried to find a solution but sadly I could not. I would appreciate any suggestions you might have.

P.S. I need to run it on 200+ structure models and thus the need.

Hi

I have been able to make a bash script for my use case. I am sharing it here, maybe useful for future.

`#!/bin/bash

Define the Conda environment name

CONDA_ENV=“prodigy”

Define the command you want to run

COMMAND=“prodigy”

Define the command arguments

COMMAND_ARGS=“–temperature 27 --contact_list --pymol_selection --selection A E --q”

Activate the Conda environment

source activate “$CONDA_ENV”

Define the output file

OUTPUT_FILE=“output.txt”

Remove existing output file if it exists

rm -f “$OUTPUT_FILE”

Start and end frame numbers

START_FRAME=600
END_FRAME=1000
FRAME_INCREMENT=8

Iterate over frames

for ((i=$START_FRAME; i<=$END_FRAME; i+=FRAME_INCREMENT)); do
FILENAME=“CHEMBL2059573_-Frame${i}.pdb” #change file name as required
if [ -f “$FILENAME” ]; then # Check if the file exists
echo “Running command on $FILENAME…”
# Execute the command on the file and append output to the output file
$COMMAND “$FILENAME” $COMMAND_ARGS >> “$OUTPUT_FILE” 2>&1
else
echo “File $FILENAME not found.”
fi
done

Deactivate the Conda environment

conda deactivate
`

Glad you solved it on your own! :slight_smile:

PS: Does your multimodel PDB file have the MODEL / ENDMDL statements? The server should in principle accept that.