When I use NNScore command
suhadjihad@Suhad:/home/suhadjihad$ python /home/suhadjihad/NNScore2.py -receptor /home/suhadjihad/1HSG.pdbqt -ligand /home/suhadjihad/lignd1.pdbqt -vina_executable /usr/bin/vina
I get this output:
LOADING THE RECEPTOR
====================
EVALUATING EACH OF THE POSES IN THE LIGAND FILE USING 20 TRAINED NEURAL NETWORKS
MODEL 1
Traceback (most recent call last):
File "/home/suhadjihad/NNScore2.py", line 2288, in <module>
score=calculate_score(lig_array, receptor, cmd_params, temp_filename, rec, "\t")
File "/home/suhadjihad/NNScore2.py", line 2204, in calculate_score
d = binana(lig, rec, cmd_params, line_header, actual_filename_if_lig_is_list, actual_filename_if_rec_is_list)
File "/home/suhadjihad/NNScore2.py", line 1626, in init
coulomb_energy = (ligand_charge * receptor_charge / dist) * 138.94238460104697e4 # to convert into J/mol # might be nice to double check this
ZeroDivisionError: float division by zero
I use python 2.7.6 ,ubuntu 14.04 and AutoDock Vina 1.1.2 (May 11, 2011)
also when I download NNscore2 I couldn't open it in gedit bz the last become unresponding.
I appreciate any help.
Suhad Jihad
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks alot for the update and the networks files ....
Now the error may be clear ...
///error:
There may be steric clashes between /home/suhad/test/lignd1.pdbqt, /home/suhad/test/1HSG.pdbqt
Traceback (most recent call last):
File "/home/suhad/NNScore.py", line 894, in <module>
average_score = process_ligand(ligand_name, ligand, receptor)
File "/home/suhad/NNScore.py", line 774, in process_ligand
acomplex = Complex(ligand, receptor)
File "/home/suhad/NNScore.py", line 626, in init
coulomb = lig_charge * recep_charge / dist # ignore all constants. Just let the neural net take care of that
ZeroDivisionError: float division by zero
I don't know about steric clashes and how can I prepare another files don't have this issue???
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suhad. I can't be sure without seeing your files, but I wonder if your
ligand models are flat instead of 3d. To do any kind of docking, you'll
need to create 3d versions of your molecules. It's quite common for
chemical files downloaded from online databases to include only 2d
structures.
I typically use Schrödinger's LigPrep software for creating 3d models from
2d files. I think openbabel might be a good free alternative. (I seem to
recall that there's a --gen3d option in that program.)
Hope this answers helps. Feel free to send me your files if you'd like me
to look at them.
Thanks alot for the update and the networks files ....
Now the error may be clear ...
///error:
There may be steric clashes between /home/suhad/test/lignd1.pdbqt,
/home/suhad/test/1HSG.pdbqt
Traceback (most recent call last):
File "/home/suhad/NNScore.py", line 894, in <module>
average_score = process_ligand(ligand_name, ligand, receptor)
File "/home/suhad/NNScore.py", line 774, in process_ligand
acomplex = Complex(ligand, receptor)
File "/home/suhad/NNScore.py", line 626, in init
coulomb = lig_charge * recep_charge / dist # ignore all constants. Just
let the neural net take care of that
ZeroDivisionError: float division by zero
I don't know about steric clashes and how can I prepare another files
don't have this issue???
Thanks alot Dr Jacob D. Durrant for your helpful Notes finally I get this result and I am in my way to use this scoring function for different receptor and ligand.
you are extremly helpful and I will site your work in my research InShAllah.
Atom types (one ligand, one receptor) within 2 angstroms of each other: (HD, OA), 1 time; (HD, HD), 1 time
Thanks alot Dr Jacob D. Durrant for your helpful Notes finally I get this result and I am in my way to use this scoring function for different receptor and ligand.you are extremly helpful and I will site your work in my research InShAllah.
Atom types (one ligand, one receptor) within 2 angstroms of each other:
(HD, OA), 1 time; (HD, HD), 1 time
Atom types (one ligand, one receptor) within 4 angstroms of each other: (HD, N), 9 times; (N, N), 1 time; (A, OA), 8 times; (OA, OA), 8 times; (C, HD), 18 times; (C, C), 14 times; (C, OA), 30 times; (HD, OA), 11 times; (A, C), 25 times; (A, N), 7 times; (N, OA), 4 times; (HD, HD), 10 times; (A, HD), 14 times
Relative coulombic energy between atom types (one ligand, one receptor) within 4 angtroms of each other: (HD, N), -0.15 units; (N, N), 0.025 units; (A, OA), -0.005 units; (OA, OA), 0.572 units; (C, HD), 0.197 units; (C, C), 0.035 units; (C, OA), -0.528 units; (HD, OA), -0.441 units; (A, C), 0.003 units; (A, N), -0.007 units; (N, OA), 0.165 units; (HD, HD), 0.118 units; (A, HD), 0.01 units
Atom types in the ligand: A, 17 times; C, 19 times; OA, 4 times; N, 5 times; HD, 5 times
Using network /home/suhad/networks/top_3_networks/12.net to predict binding: 0.921175847997 (good binder)
Hi Suhad. I'm happy that the ODDT authors have included an nnscore-like scoring function in their work. However, reading through their publication, I see that it is not in fact nnscore. They retrained their own networks on apparently different data.
Their neural-network scoring function may work great, though, since they tried to use the same techniques. They probably should have called it by a different name, though, to avoid confusion.
NNScore 1.0 tends to perform a bit better than 2.0, though it's very system dependent. It's best to use both and to evaluate performance based on the ranking of known ligands (if available), included in the screen as positive controls.
Hope this answer helps. All the best.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Dr.,
Thanks a lot and sorry for this confusion. Ok I have these comments :
1. Do you see that their results are easonable and why?? I sent to them an email and sent to you their reply (the attachment).
2. You see that the great part of their work is the docking and scoring of many ligands at the sametime,Kindly if we could use your nnscore in the same manner we get a very good results.
3. In their work I don't see the Enrichment Factor that you mention to it in your research.
bz of this I couldn't analyz a results and now I discover that it is a different nnscore.
Best Regards,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) They are right in recognizing that NNScore isn't good at pose descrimination. That's not a flaw, though. NNScore wasn't designed to do that in the first place. It's like saying an Olympic runner is flawed because she can't get a gold metal in swimming. :)
2) As is the case with many docking/scoring functions, to score multiple compounds you should use a command-line script. Perhaps future versions will include a more user-friendly gui.
3) There are many ways of measuring the performance of a virtual screen. They may have used some other metric.
I hope this answer helps! All the best.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Traceback (most recent call last):
File "NNscore2.py", line 2288, in <module>
score=calculate_score(lig_array, receptor, cmd_params, temp_filename, rec, "
\t")
File "NNscore2.py", line 2204, in calculate_score
d = binana(lig, rec, cmd_params, line_header, actual_filename_if_lig_is_list
, actual_filename_if_rec_is_list)
File "NNscore2.py", line 1562, in init
ligand.LoadPDB_from_list(ligand_pdbqt_filename, line_header)
File "NNscore2.py", line 301, in LoadPDB_from_list
TempAtom.ReadPDBLine(line)
File "NNscore2.py", line 249, in ReadPDBLine
self.resid = int(Line[23:26])
ValueError: invalid literal for int() with base 10: '*'
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Dr Jacob,
Kindly I have this question :
When I try using nnscore with my files I get this :
python /home/suhad/NNScore.py -receptor /home/suhad/Downloads/3bik_protein.pdbqt -ligand /home/suhad/3bikligand.pdbqt -vinafile.out -network /home/suhad/networks/top_3_networks/12.net -vina_executable /usr/bin/vina
NNScore 1.0
NNScore is based in part on ffnet, coded by Marek Wojciechowski.
It is distributed under the GNU General Public License, version 3.
See gpl-3.0.txt for more details.
If you use NNScore in your research, please cite the following reference:
NNScore: A Neural-Network-Based Scoring Function for the Characterization
of Protein-Ligand Complexes. Jacob D. Durrant, J. Andrew McCammon. Journal
of Chemical Information and Modeling, 2010, 50 (10), pp 1865-1871.
Average score: -0.677801294478 (bad binder)
despite that I prepare a ligand and a receptor after I sparate them from a crystal structure for the protien which contains them.
Do you think that really this ligand in the pdb is not a good one to inhibit the receptor or there is somthing wrong ????
I am sure I work in the right way.
Thanks alot.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suhad. Happy to help. As with other docking programs, NNScore isn't well suited to predicting the binding of a specific molecule. Docking/scoring programs don't currently have that kind of accuracy. They are best used to evaluate many molecules, in order to prioritize groups of molecules for subsequent experimental testing.
For binding-affinity prediction, more computationally intense methods like Thermodynaic Integration or Free-Energy Purturbation are best. Often at that point it's easier to just test the compounds experimentally for binding, if you've got the assay set up.
If you know that this specific ligand is a good binder from experiment, I'd certainly trust that over the NNScore.
Hope this helps,
Jacob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Dr Jacob,
Thanks for help, I dock the programming cell death PD-1 and its ligand PD-L1 with vina only without rescoring I find that the affinity between them is zero, therefor, the problem may be with the receptor and its ligand not with NNScore it work good.
But I don't now what is the problem between them.
Thanks alot.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Suhad. If you're getting a vina score of zero, there might be something else wrong with your files. Are you certain they are both full 3D models? I typically prepare 3D models from 2D versions using programs like Schrodinger's Maestro. Hope this helps. ~Jacob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Dr Jacob, thank a lot for your response, no my files are 3D I attached them. The trick happen when I try to dock with Vina but don't pay attention for the valie of grid box and not set the config file with the values in MGLtool for 3bik, but when I set them I have :
Performing search ...
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
I conclude that NNScore shorten the distance and say bad binder because -3 & -2 enargy isn't a good affinity.
Does this mean we can design a ligand for this protein and finally we cauld get novel drug with help of nnscore.Do you think can I submit my resarch on this facts.
I tried to make a new thread (you have to send an email??) but nothing appeared, so I'm posting here.
I am running NNscore1 on my docking results, but I am seeing many pose evaluations fail with the following type of messages:
The program can't deal with the PROXIMITY_4 calculation between ligand,receptor atom types: NA NA, ligand = t
op1k932_largestC.pdbqt
LIGAND: ATOM 21 N UNL d 1 13.118 -43.051 -2.497 -0.42 +0.02 -0.066 NA
RECEPTOR: ATOM 463 ND1 HIS 145 16.675 -44.777 -2.032 0.00 0.00 -0.247 NA
Average score: -999999.9 (bad binder)
You can download the receptor and all the files that failed, plus a file that contains the command I used (in command.sh) here:
When I use NNScore command
suhadjihad@Suhad:/home/suhadjihad$ python /home/suhadjihad/NNScore2.py -receptor /home/suhadjihad/1HSG.pdbqt -ligand /home/suhadjihad/lignd1.pdbqt -vina_executable /usr/bin/vina
I get this output:
LOADING THE RECEPTOR
====================
EVALUATING EACH OF THE POSES IN THE LIGAND FILE USING 20 TRAINED NEURAL NETWORKS
MODEL 1
Traceback (most recent call last):
File "/home/suhadjihad/NNScore2.py", line 2288, in <module>
score=calculate_score(lig_array, receptor, cmd_params, temp_filename, rec, "\t")
File "/home/suhadjihad/NNScore2.py", line 2204, in calculate_score
d = binana(lig, rec, cmd_params, line_header, actual_filename_if_lig_is_list, actual_filename_if_rec_is_list)
File "/home/suhadjihad/NNScore2.py", line 1626, in init
coulomb_energy = (ligand_charge * receptor_charge / dist) * 138.94238460104697e4 # to convert into J/mol # might be nice to double check this
ZeroDivisionError: float division by zero
I use python 2.7.6 ,ubuntu 14.04 and AutoDock Vina 1.1.2 (May 11, 2011)
also when I download NNscore2 I couldn't open it in gedit bz the last become unresponding.
I appreciate any help.
Suhad Jihad
Thanks alot for the update and the networks files ....
Now the error may be clear ...
///error:
There may be steric clashes between /home/suhad/test/lignd1.pdbqt, /home/suhad/test/1HSG.pdbqt
Traceback (most recent call last):
File "/home/suhad/NNScore.py", line 894, in <module>
average_score = process_ligand(ligand_name, ligand, receptor)
File "/home/suhad/NNScore.py", line 774, in process_ligand
acomplex = Complex(ligand, receptor)
File "/home/suhad/NNScore.py", line 626, in init
coulomb = lig_charge * recep_charge / dist # ignore all constants. Just let the neural net take care of that
ZeroDivisionError: float division by zero
I don't know about steric clashes and how can I prepare another files don't have this issue???
Hi Suhad. I can't be sure without seeing your files, but I wonder if your
ligand models are flat instead of 3d. To do any kind of docking, you'll
need to create 3d versions of your molecules. It's quite common for
chemical files downloaded from online databases to include only 2d
structures.
I typically use Schrödinger's LigPrep software for creating 3d models from
2d files. I think openbabel might be a good free alternative. (I seem to
recall that there's a --gen3d option in that program.)
Hope this answers helps. Feel free to send me your files if you'd like me
to look at them.
Thanks.
On Wed, Dec 2, 2015, 7:53 AM Suhad Jihad suhadja2@users.sf.net wrote:
Atom types (one ligand, one receptor) within 2 angstroms of each other: (HD, OA), 1 time; (HD, HD), 1 time
Average score: 0.921175847997 (good binder)
Very happy you were able to get this to work, Suhad. Thanks again for your
interest in nnscore. All the best.
On Sun, Dec 6, 2015, 3:04 PM Suhad Jihad suhadja2@users.sf.net wrote:
Hi Suhad. I'm happy that the ODDT authors have included an nnscore-like scoring function in their work. However, reading through their publication, I see that it is not in fact nnscore. They retrained their own networks on apparently different data.
Their neural-network scoring function may work great, though, since they tried to use the same techniques. They probably should have called it by a different name, though, to avoid confusion.
NNScore can be downloaded from here: https://sourceforge.net/projects/nnscore/
NNScore 1.0 tends to perform a bit better than 2.0, though it's very system dependent. It's best to use both and to evaluate performance based on the ranking of known ligands (if available), included in the screen as positive controls.
Hope this answer helps. All the best.
Hi Dr.,
Thanks a lot and sorry for this confusion. Ok I have these comments :
1. Do you see that their results are easonable and why?? I sent to them an email and sent to you their reply (the attachment).
2. You see that the great part of their work is the docking and scoring of many ligands at the same time,Kindly if we could use your nnscore in the same manner we get a very good results.
3. In their work I don't see the Enrichment Factor that you mention to it in your research.
bz of this I couldn't analyz a results and now I discover that it is a different nnscore.
Best Regards,
Hi Suhad. Sorry for my delay.
1) They are right in recognizing that NNScore isn't good at pose descrimination. That's not a flaw, though. NNScore wasn't designed to do that in the first place. It's like saying an Olympic runner is flawed because she can't get a gold metal in swimming. :)
2) As is the case with many docking/scoring functions, to score multiple compounds you should use a command-line script. Perhaps future versions will include a more user-friendly gui.
3) There are many ways of measuring the performance of a virtual screen. They may have used some other metric.
I hope this answer helps! All the best.
What's wrong with it?
Traceback (most recent call last):
File "NNscore2.py", line 2288, in <module>
score=calculate_score(lig_array, receptor, cmd_params, temp_filename, rec, "
\t")
File "NNscore2.py", line 2204, in calculate_score
d = binana(lig, rec, cmd_params, line_header, actual_filename_if_lig_is_list
, actual_filename_if_rec_is_list)
File "NNscore2.py", line 1562, in init
ligand.LoadPDB_from_list(ligand_pdbqt_filename, line_header)
File "NNscore2.py", line 301, in LoadPDB_from_list
TempAtom.ReadPDBLine(line)
File "NNscore2.py", line 249, in ReadPDBLine
self.resid = int(Line[23:26])
ValueError: invalid literal for int() with base 10: '*'
Hi Dr Jacob,
Kindly I have this question :
When I try using nnscore with my files I get this :
python /home/suhad/NNScore.py -receptor /home/suhad/Downloads/3bik_protein.pdbqt -ligand /home/suhad/3bikligand.pdbqt -vinafile.out -network /home/suhad/networks/top_3_networks/12.net -vina_executable /usr/bin/vina
NNScore 1.0
NNScore is based in part on ffnet, coded by Marek Wojciechowski.
It is distributed under the GNU General Public License, version 3.
See gpl-3.0.txt for more details.
If you use NNScore in your research, please cite the following reference:
NNScore: A Neural-Network-Based Scoring Function for the Characterization
of Protein-Ligand Complexes. Jacob D. Durrant, J. Andrew McCammon. Journal
of Chemical Information and Modeling, 2010, 50 (10), pp 1865-1871.
Receptor: /home/suhad/Downloads/3bik_protein.pdbqt
Ligand: /home/suhad/3bikligand.pdbqt
Average score: -0.677801294478 (bad binder)
despite that I prepare a ligand and a receptor after I sparate them from a crystal structure for the protien which contains them.
Do you think that really this ligand in the pdb is not a good one to inhibit the receptor or there is somthing wrong ????
I am sure I work in the right way.
Thanks alot.
Hi Suhad. Happy to help. As with other docking programs, NNScore isn't well suited to predicting the binding of a specific molecule. Docking/scoring programs don't currently have that kind of accuracy. They are best used to evaluate many molecules, in order to prioritize groups of molecules for subsequent experimental testing.
For binding-affinity prediction, more computationally intense methods like Thermodynaic Integration or Free-Energy Purturbation are best. Often at that point it's easier to just test the compounds experimentally for binding, if you've got the assay set up.
If you know that this specific ligand is a good binder from experiment, I'd certainly trust that over the NNScore.
Hope this helps,
Jacob
Hi Dr Jacob,
Thanks for help, I dock the programming cell death PD-1 and its ligand PD-L1 with vina only without rescoring I find that the affinity between them is zero, therefor, the problem may be with the receptor and its ligand not with NNScore it work good.
But I don't now what is the problem between them.
Thanks alot.
Hi Suhad. If you're getting a vina score of zero, there might be something else wrong with your files. Are you certain they are both full 3D models? I typically prepare 3D models from 2D versions using programs like Schrodinger's Maestro. Hope this helps. ~Jacob
Hi Dr Jacob, thank a lot for your response, no my files are 3D I attached them. The trick happen when I try to dock with Vina but don't pay attention for the valie of grid box and not set the config file with the values in MGLtool for 3bik, but when I set them I have :
Performing search ...
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
done.
Refining results ... done.
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -3.7 0.000 0.000
2 -3.6 2.131 2.989
3 -3.5 51.479 52.370
4 -3.4 6.843 7.554
5 -3.4 51.666 52.579
6 -3.3 4.167 5.283
7 -3.3 54.124 55.057
8 -3.2 51.959 52.880
9 -3.2 30.007 30.750
10 -3.2 50.395 51.399
Writing output ... done.
The second matter when I dock them without grid box value but using prepare_receptor4.py & ligand4.py I get this:
Refining results ... done.
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -2.6 0.000 0.000
2 -2.5 1.995 3.230
3 -2.4 1.221 2.162
4 -2.4 18.590 19.919
5 -2.4 1.659 2.528
6 -2.4 2.045 3.755
7 -2.3 2.167 2.312
8 -2.3 1.745 3.281
9 -2.3 18.992 20.262
10 -2.3 2.174 3.032
Writing output ... done.
For the two above I get bad binder respectively :
I conclude that NNScore shorten the distance and say bad binder because -3 & -2 enargy isn't a good affinity.
Does this mean we can design a ligand for this protein and finally we cauld get novel drug with help of nnscore.Do you think can I submit my resarch on this facts.
Hi Suhad. It seems both Vina and NNScore are giving you the same answer. Also, glycerol isn't really a ligand of interest. This link might help: https://www.researchgate.net/post/What_is_the_role_of_glycerol_in_crystallization
All the best,
Jacob
P.S. Your pdbqt file also doens't include polar hydrogens, which I believe are essential for Vina docking.
Hi jdurrant,
I tried to make a new thread (you have to send an email??) but nothing appeared, so I'm posting here.
I am running NNscore1 on my docking results, but I am seeing many pose evaluations fail with the following type of messages:
You can download the receptor and all the files that failed, plus a file that contains the command I used (in command.sh) here:
https://drive.google.com/open?id=1PFr7juJB01JkYGXlpQn-54mtv5YvS97c
Many thanks for any advice.
Hi Dr Jocob, https://www.researchgate.net/publication/309457472_Testing_and_Development_of_Computer_Aided_Drug_Design_Tools_Including_Docking_and_Scoring is an article about how to build python GUI to reach NNScore to evaluate many ligands at a time and saving the result in CSV file in a short time.
Thanks.
Suhad Jihad