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
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to