Hello Greg,

thank you for your quick reply. When I run AllChem.SanitizeMol(product) the 
error increases and more bonds that shouldn't be there are added. For all of 
them, the problem is the same, in the product they are marked as SINGLE and in 
the reactants as AROMATIC. Picture is in the attachment.

Note 1: I've also tried all the possible combination of sanitation (none, just 
reactants, just products, everything) for this example just to be sure, but the 
best result I get (the one in my previous question) is when I don't run 
SanitizeMol on the product.
Note 2: It also happens to other examples (I added the pictures in the examples 
and the SMARTS below for reproduction), it's not just this one. Maybe I did 
something wrong in the code, but what I'm doing is pretty straightforward. I 
display it as a picture, but I also print the raw results just to be sure. I 
always get the same result, the SINGLE - AROMATIC mismatch.

Add. Ex. 1: 
"Cl[CH2:1][C:2](=[O:3])[NH:4][c:5]1[c:6]([OH:7])[cH:8][cH:9][c:10]2[cH:11][cH:12][cH:13][cH:14][c:15]12>>[CH2:1]1[C:2](=[O:3])[NH:4][c:5]2[c:6]([cH:8][cH:9][c:10]3[cH:11][cH:12][cH:13][cH:14][c:15]23)[O:7]1"

Add. Ex. 2: 
"Cl[C@H:1]([C:2]([NH:3][c:4]1[c:5]([OH:6])[c:7]([CH3:8])[cH:9][c:10]([CH3:11])[cH:12]1)=[O:13])[CH2:14][CH:15]([CH3:16])[CH3:17]>>[C@@H:1]1([CH2:14][CH:15]([CH3:16])[CH3:17])[C:2](=[O:13])[NH:3][c:4]2[c:5]([c:7]([CH3:8])[cH:9][c:10]([CH3:11])[cH:12]2)[O:6]1"

Add. Ex. 3: 
"O[C:1](=[O:2])[c:3]1[cH:4][cH:5][c:6]([C:7]2([c:8]3[cH:9][cH:10][cH:11][cH:12][cH:13]3)[S:14][CH2:15][CH2:16][S:17]2)[cH:18][cH:19]1.[cH:20]1[cH:21][c:22]2[c:23]([o:24]1)[CH2:25][NH:26][CH2:27][CH2:28]2>>[C:1](=[O:2])([c:3]1[cH:4][cH:5][c:6]([C:7]2([c:8]3[cH:9][cH:10][cH:11][cH:12][cH:13]3)[S:14][CH2:15][CH2:16][S:17]2)[cH:18][cH:19]1)[N:26]1[CH2:25][c:23]2[c:22]([cH:21][cH:20][o:24]2)[CH2:28][CH2:27]1"

Kind regards,
Hasic Haris, MSc
Tokyo Institute of Technology
________________________________
From: Greg Landrum <greg.land...@gmail.com>
Sent: 20 April 2019 06:43
To: Haris Hasic
Cc: rdkit-discuss@lists.sourceforge.net
Subject: Re: [Rdkit-discuss] Question about bond aromaticity change detection

HI Hasic,

The products of reactions are not sanitized, which means that aromaticity 
perception has not been run. Try calling Chem.SanitizeMol on the reaction 
products and see if that helps.

-greg


On Fri, Apr 19, 2019 at 12:51 PM Haris Hasic 
<haris-ha...@hotmail.com<mailto:haris-ha...@hotmail.com>> wrote:
Hello guys,

I'm a artificial intelligence major, so I don't know a lot about aromaticity 
definitions in chemistry but since I'm doing some research in that field I run 
into a weird problem with identifying the aromatic bonds. I initialize the 
reaction as follows:

rxn = 
"O[C:1](=[O:2])[c:3]1[cH:4][cH:5][c:6]([F:7])[c:8](-[c:9]2[c:10]([F:11])[cH:12][cH:13][cH:14][c:15]2[F:16])[n:17]1.[CH3:18][C@H:19]1[CH2:20][N:21]([c:22]2[c:23]([NH2:24])[cH:25][n:26][c:27]3[c:28]2[CH2:29][CH2:30][O:31]3)[CH2:32][C@@H:33]([NH:34][C:35](=[O:36])[O:37][C:38]([CH3:39])([CH3:40])[CH3:41])[C@@H:42]1[O:43][Si:44]([CH3:45])([CH3:46])[C:47]([CH3:48])([CH3:49])[CH3:50]>>[C:1](=[O:2])([c:3]1[cH:4][cH:5][c:6]([F:7])[c:8](-[c:9]2[c:10]([F:11])[cH:12][cH:13][cH:14][c:15]2[F:16])[n:17]1)[NH:24][c:23]1[c:22]([N:21]2[CH2:20][C@H:19]([CH3:18])[C@@H:42]([O:43][Si:44]([CH3:45])([CH3:46])[C:47]([CH3:48])([CH3:49])[CH3:50])[C@H:33]([NH:34][C:35](=[O:36])[O:37][C:38]([CH3:39])([CH3:40])[CH3:41])[CH2:32]2)[c:28]2[c:27]([n:26][cH:25]1)[O:31][CH2:30][CH2:29]2"

reaction = AllChem.ReactionFromSmarts(rxn)
AllChem.SanitizeRxn(reaction)
reaction.Initialize()
products = reaction.GetProducts()
reactants = reaction.GetReactants()

The problem arises when I check whether the atom environments have changed. 
That includes changes in neighborhood size, neighboring atom types and bond 
types. But, for some reason, it detects different bond types in the reactant 
molecule and product molecule, even if the structure does not change at all. 
Pictures are in the links and in the attachment of the mail The bond 26 - 27 
should technically not be highlighted, but it is because the bond types are 
different. In the reactant it says AROMATIC, but in the product it is SINGLE.  
Is it correct, in a chemical sense, or is it a bug in RDKit aromaticity 
calculation? How can I avoid adding this bond?

Reactant 1: http://prntscr.com/ne3n44
Reactant 2: http://prntscr.com/ne3p6x
Product: http://prntscr.com/ne3pfw

This is the code I'm using to compare the bond types :

product_mol.GetBondBetweenAtoms(product_atom_ind1, 
product_atom_ind2).GetBondType() != 
reactant_mol.GetBondBetweenAtoms(reactant_atom_ind1, 
reactant_atom_ind2).GetBondType()

if I print out the results, the output is:


>>> SINGLE - AROMATIC


Thank you for the help and if you need more background info, please let me 
know. I apologize if the question was asked before.

Kind regards,
Hasic Haris, MSc
Tokyo Institute of Technology
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net<mailto:Rdkit-discuss@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to