Crash with minimal error hints

Computer-Aided Drug Design at the Durrant Lab Forums Gypsum-DL Crash with minimal error hints

Viewing 2 reply threads
  • Author
    Posts
    • #13208
      Byron DeLaBarre
      Guest

      Hi –

      Thanks for making this tool available – potentially very useful.

      I downloaded and installed under my PC based anaconda 64 bit python 3.7 setup.

      The example smiles ran fine.

      When I tried to put my own smiles of druglike molecules it crashed with this output:

      Multiple entries with the ligand name: flavoxato (antimuscarinic)
          The veresion of the ligand on line 25 will be retitled flavoxato
              (antimuscarinic)_copy_3
          All associated files will be refered to with this name
      Traceback (most recent call last):
        File "run_gypsum_dl.py", line 220, in <module>
          prepare_molecules(INPUTS)
        File "D:\Users\BigDaddy\Anaconda3\Lib\site-packages\gypsum_dl-1.1.2\gypsum_dl\Start.py", line 206, in prepare_molecules
          if detect_unassigned_bonds(smiles) is None:
        File "D:\Users\BigDaddy\Anaconda3\Lib\site-packages\gypsum_dl-1.1.2\gypsum_dl\Start.py", line 302, in detect_unassigned_bonds
          for bond in mol.GetBonds():
      AttributeError: 'NoneType' object has no attribute 'GetBonds'
      

      I would appreciate any insight. Thanks!

      Here is my SMILES file (these are all drugs that have been tried in the clinic. File was output from MOE/CCG as SMILES)

      O=C([O-])[C@@H](NC(=O)c1ccc(NC[C@@H]2N(C)C=3C(=O)N=C(N)NC=3NC2)cc1)CCC(=O)[O-]  folate derivative
      O=C(NCCCN(C)c1nc(N)c2c(n1)cc(OC)c(OC)c2)[C@H]1OCCC1 alfuzosin
      O=C(OCCN1CCCCC1)c1c2OC(c3ccccc3)=C(C)C(=O)c2ccc1    flavoxato (antimuscarinic)
      O=C([O-])[C@@H](NC(=O)c1ccc(NC[C@@H]2N(C)C=3C(=O)N=C(N)NC=3NC2)cc1)CCC(=O)[O-]  folate derivative
      O=C(NCc1ccc(OCCN(C)C)cc1)c1cc(OC)c(OC)c(OC)c1   tigan (anticonvulsant)
      O(CCc1ncc(CC)cc1)c1ccc(C[C@H]2C(=O)[N-]C(=O)S2)cc1  glitazone (PPARg activator)
      O=C(NCc1ccc(OCCN(C)C)cc1)c1cc(OC)c(OC)c(OC)c1   tigan (anticonvulsant)
      O=C(OC[C@H](CCCC)CC)/C=C/c1ccc(OC)cc1   (S)-octinoxate
      O(CCc1ncc(CC)cc1)c1ccc(C[C@H]2C(=O)NC(=O)S2)cc1 glitazone (PPARg activator)
      O=C(NCc1ccc(OCCN(C)C)cc1)c1cc(OC)c(OC)c(OC)c1   tigan (anticonvulsant)
      O=C(OCCN1CCCCC1)c1c2OC(c3ccccc3)=C(C)C(=O)c2ccc1    flavoxato (antimuscarinic)
      O=C(NCCCN(C)c1nc(N)c2c(n1)cc(OC)c(OC)c2)[C@H]1OCCC1 alfuzosin
      O=C([O-])[C@@H](NC(=O)c1ccc(N(Cc2nc3c(N)nc(N)nc3nc2)C)cc1)CCC(=O)[O-]   folate derivative
      O=C1[C@@H](Cn2c(C)ncc2)CCc2n(C)c3c(c12)cccc3    ondansetron (hERG inhibitor)
      S(CCN/C(/NC)=C/[N+](=O)[O-])Cc1nc(CN(C)C)sc1    nizatimine (H2 blocker)
      O=C(OC[C@H](CCCC)CC)/C=C/c1ccc(OC)cc1   (S)-octinoxate
      Fc1cc(COc2ccc(CN[C@H](C(=O)N)C)cc2)ccc1 safinamide (co-LDopa)
      Clc1c(NC(=O)c2cc(OCC3CC3)c(OC(F)F)cc2)c(Cl)cnc1 roflumilast (bronchodilator)
      O(CCc1ncc(CC)cc1)c1ccc(C[C@H]2C(=O)NC(=O)S2)cc1 glitazone (PPARg activator)
      Fc1cc(COc2ccc(CN[C@H](C(=O)N)C)cc2)ccc1 safinamide (co-LDopa)
      O(C)c1c(OC)cc2c(C(=O)[C@H](CC3CCN(Cc4ccccc4)CC3)C2)c1   (R)-donepezil (acetylcholinesterase inhibitor)
      O(C)c1c(OC)cc2c(C(=O)[C@H](CC3CCN(Cc4ccccc4)CC3)C2)c1   molecule    
      O=C1N(Cc2c(C#N)cccc2)C(N2C[C@H]([N+H3])CCC2)=CC(=O)N1C  alogliptin
      O(CCc1ncc(CC)cc1)c1ccc(C[C@H]2C(=O)NC(=O)S2)cc1 glitazone (PPARg activator)
      O(CCc1ncc(CC)cc1)c1ccc(C[C@H]2C(=O)NC(=O)S2)cc1 glitazone (PPARg activator)
      O=C(OCCN1CCCCC1)c1c2OC(c3ccccc3)=C(C)C(=O)c2ccc1    flavoxato (antimuscarinic)
      O=[N+]([O-])c1sc(NC(=O)c2c(OC(=O)C)cccc2)nc1    nitazoxanide (antimicrobial)
      
    • #13229
      Jacob Durrant
      Keymaster

      Hi Byron. Much thanks for your interest in Gypsum-DL. And thanks for sending me your SMILES strings. That makes debugging much easier. Just FYI, your list contains many redundant entries. For example, this line appears three times:

      O=C([O-])C@@HCCC(=O)[O-] folate derivative

      But I don’t think that’s the cause of the error. Rather, it appears that some of the SMILES strings aren’t properly formatted. For example, consider this line:

      S(CCN/C(/NC)=C/N+[O-])Cc1nc(CN(C)C)sc1 nizatimine (H2 blocker)

      Both ChemDraw and OpenBabel gave errors when trying to process this SMILES string. I believe poorly formatted SMILES strings were also responsible for Gypsum-DL’s troubles.

      But clearly Gypsum-DL shouldn’t crash entirely just because it’s given a problematic SMILES string. I updated the program so that it now throws a warning and continues on to the next string. There were also a few other updates, in case you’re interested: https://git.durrantlab.pitt.edu/jdurrant/gypsum_dl/blob/1.1.3/CHANGELOG.md

      Please let me know if you continue to have this same problem with Gypsum-DL 1.1.3. Much thanks for pointing out this limitation. Take care.

    • #13275
      Jacob Durrant
      Keymaster

      Hi Bryon. Just wanted to update you re. this issue. I was surprised that MOE would output incorrect SMILES strings, so I investigated further. It turns out that my website thought some of your SMILES strings were Markdown, so it removed some of the square braces and replaced them with links! When I fixed this formatting issue, I could see that your SMILES strings were all well formed, except for one: O=C1N(Cc2c(C#N)cccc2)C(N2C[C@H]([N+H3])CCC2)=CC(=O)N1C

      RDKit (which Gypsum-DL uses to load SMILES strings) doesn’t like the [N+H3] part. When I replace that with [N+3], RDKit (and presumably Gypsum-DL) can load the SMILES string correctly.

      Sorry for the confusion! Take care.

Viewing 2 reply threads
  • The topic ‘Crash with minimal error hints’ is closed to new replies.