Computer-Aided Drug Design at the Durrant Lab › Forums › Gypsum-DL › Crash with minimal error hints
- This topic has 2 replies, 1 voice, and was last updated 5 years, 6 months ago by
Jacob Durrant.
- AuthorPosts
- April 10, 2020 at 7:04 pm #13208
Byron DeLaBarre
GuestHi –
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) - April 12, 2020 at 3:21 am #13229
Jacob Durrant
KeymasterHi 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.
- April 17, 2020 at 1:51 am #13275
Jacob Durrant
KeymasterHi 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)N1CRDKit (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.
- AuthorPosts
- The topic ‘Crash with minimal error hints’ is closed to new replies.

