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!
PS: Does your multimodel PDB file have the MODEL / ENDMDL statements? The server should in principle accept that.