Hi,

If any atoms specified in a reaction happen to form a ring, RDKit will break it 
open:

    >>> rxn = 
AllChem.ReactionFromSmarts('[C:1][C:2][O:3][C:4][C:5]>>[C:1][C:2][C:3][C:4][C:5]')
    >>> mol = Chem.MolFromSmiles('C1CCOC1')
    >>> prod = rxn.RunReactants((mol,))[0][0]
    >>> Chem.MolToSmiles(prod)
   'CCCCC'

Is this a bug, or "expected behaviour"?

It is possible to avoid this by specifying the ring manually in the reactants 
and the products:

>>> rxn = 
>>> AllChem.ReactionFromSmarts('[C:1]1[C:2][O:3][C:4][C:5]1>>[C:1]1[C:2][C:3][C:4][C:5]1')

But then this won't work if there is no ring, i.e. for CCOCC.

Is it possible to ensure that ring bonds are not broken if they are not 
explicitly referenced in the reactants SMARTS?


Matt
------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to