Menu

NNscor2

2015-11-25
2019-08-18
  • Suhad Jihad

    Suhad Jihad - 2015-11-25

    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

     
  • Suhad Jihad

    Suhad Jihad - 2015-12-02

    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???

     
    • jdurrant

      jdurrant - 2015-12-03

      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:

      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???


      NNscor2
      https://sourceforge.net/p/nnscore/discussion/general/thread/a714990f/?limit=25#22da


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/nnscore/discussion/general/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Suhad Jihad

    Suhad Jihad - 2015-12-06
    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)
    

    Average score: 0.921175847997 (good binder)

     
    • jdurrant

      jdurrant - 2015-12-07

      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:

      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)

      Average score: 0.921175847997 (good binder)

      NNscor2
      https://sourceforge.net/p/nnscore/discussion/general/thread/a714990f/?limit=25#959e


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/nnscore/discussion/general/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Suhad Jihad

    Suhad Jihad - 2016-01-07
    Post awaiting moderation.
  • jdurrant

    jdurrant - 2016-01-08

    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.

     
  • Suhad Jihad

    Suhad Jihad - 2016-01-08

    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,

     
    • jdurrant

      jdurrant - 2016-01-25

      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.

       
  • farynaa

    farynaa - 2016-02-09

    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: '*'

     
  • Suhad Jihad

    Suhad Jihad - 2016-04-12

    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

    Network:  /home/suhad/networks/top_3_networks/12.net
    
    Atom types (one ligand, one receptor) within 2 angstroms of each other: (None)
    
    Atom types (one ligand, one receptor) within 4 angstroms of each other: (HD, NA), 3 times; (OA, OA), 2 times; (C, HD), 8 times; (C, NA), 1 time; (NA, OA), 1 time; (C, C), 2 times; (C, OA), 10 times; (HD, OA), 2 times
    
    Relative coulombic energy between atom types (one ligand, one receptor) within 4 angtroms of each other: (HD, NA), -0.035 units; (OA, OA), 0.07 units; (C, HD), 0.081 units; (C, NA), -0.012 units; (NA, OA), 0.03 units; (C, C), 0.014 units; (C, OA), -0.148 units; (HD, OA), -0.037 units
    
    Atom types in the ligand: C, 3 times; OA, 3 times; HD, 2 times
    
    Using network /home/suhad/networks/top_3_networks/12.net to predict binding:    -0.677801294478 (bad binder)
    

    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.

     
  • jdurrant

    jdurrant - 2016-04-14

    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

     
  • Suhad Jihad

    Suhad Jihad - 2016-04-15

    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.

     
  • jdurrant

    jdurrant - 2016-04-19

    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

     
  • Suhad Jihad

    Suhad Jihad - 2016-04-22

    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 :

    -0.780188829072 (bad binder)
    -0.799064459729 (bad binder)
    

    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.

     
  • jdurrant

    jdurrant - 2016-04-23

    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.

     
    • Douglas Houston

      Douglas Houston - 2019-08-18

      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:

      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:

      https://drive.google.com/open?id=1PFr7juJB01JkYGXlpQn-54mtv5YvS97c

      Many thanks for any advice.

       

Log in to post a comment.