[Rdkit-discuss] Handling certain sterochemistry in reactions

2010-11-26 Thread James Davidson
Dear All,
 
I wonder if anybody can help with the following?  I am trying to
figure-out how to handle double-bond stereochemistry in reactions when
the stereochemistry is involved with the making / breaking bond.
Hopefully this example will explain better than that sentence(!):
 
rxn = AllChem.ReactionFromSmarts('[c:1][Cl,Br,I].[#6:2][B]>>[*:1][*:2]')
mol1 = Chem.MolFromSmiles('c1c1Br')
mol2 = Chem.MolFromSmiles('C\C=C\B(O)O')
ps = rxn.RunReactants((mol1, mol2))
Chem.MolToSmiles(ps[0][0], True)
 
--->  'CC=Cc1c1' (stereochemical information lost)
 
whereas using mol2 = Chem.MolFromSmiles('C\C=C\c1c1B(O)O') gives
 
--->  'C/C=C/c1c(-c2c2)1' (stereochemical information retained)
 
Not quite the same, but I have read through some related SMIRKS info
here: http://www.daylight.com/dayhtml/doc/theory/theory.smirks.html
 .
However, this explains how to handle stereo centres and stereo bonds in
reactions when they are explicitly defined on both sides of the
reaction.  I guess what I am looking for is a shortcut for saying
'retain' or 'invert' stereochemistry at reacting centre (sp3) or bond
attached to reacting centre (sp2)...
 
Having got to the end of explaining that, I am thinking that the way I
should handle this is to check for 'problem' reactants and pass to a
more specific rSMARTS when required!
 
Kind regards
 
James

__
PLEASE READ: This email is confidential and may be privileged. It is intended 
for the named addressee(s) only and access to it by anyone else is 
unauthorised. If you are not an addressee, any disclosure or copying of the 
contents of this email or any action taken (or not taken) in reliance on it is 
unauthorised and may be unlawful. If you have received this email in error, 
please notify the sender or postmas...@vernalis.com. Email is not a secure 
method of communication and the Company cannot accept responsibility for the 
accuracy or completeness of this message or any attachment(s). Please check 
this email for virus infection for which the Company accepts no responsibility. 
If verification of this email is sought then please request a hard copy. Unless 
otherwise stated, any views or opinions presented are solely those of the 
author and do not represent those of the Company.

The Vernalis Group of Companies
Oakdene Court
613 Reading Road
Winnersh, Berkshire
RG41 5UA.
Tel: +44 118 977 3133

To access trading company registration and address details, please go to the 
Vernalis website at www.vernalis.com and click on the "Company address and 
registration details" link at the bottom of the page..
__--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Handling certain sterochemistry in reactions

2010-11-26 Thread Greg Landrum
James,

On Fri, Nov 26, 2010 at 5:28 PM, James Davidson  wrote:
>
> I wonder if anybody can help with the following?  I am trying to figure-out
> how to handle double-bond stereochemistry in reactions when the
> stereochemistry is involved with the making / breaking bond.  Hopefully this
> example will explain better than that sentence(!):
>
> rxn = AllChem.ReactionFromSmarts('[c:1][Cl,Br,I].[#6:2][B]>>[*:1][*:2]')
> mol1 = Chem.MolFromSmiles('c1c1Br')
> mol2 = Chem.MolFromSmiles('C\C=C\B(O)O')
> ps = rxn.RunReactants((mol1, mol2))
> Chem.MolToSmiles(ps[0][0], True)
>
> --->  'CC=Cc1c1' (stereochemical information lost)
>
> whereas using mol2 = Chem.MolFromSmiles('C\C=C\c1c1B(O)O') gives
>
> --->  'C/C=C/c1c(-c2c2)1' (stereochemical information retained)

yeah. Here's an even shorter illustration of correct behavior:

In [11]: mol2 = Chem.MolFromSmiles(r'C\C=C\CB(O)O')

In [12]: ps = rxn.RunReactants((mol1, mol2))

In [13]: Chem.MolToSmiles(ps[0][0], True)
Out[13]: 'C/C=C/Cc1c1'

As you picked up already, the problems start when you are making
changes that directly affect an atom/bond that's involved in
stereochemistry. This is a bug.

Here's another illustration of the same thing with atomic stereochemistry:
In [15]: rxn = AllChem.ReactionFromSmarts('[C:1]Cl>>[*:1]F')

In [19]: m=Chem.MolFromSmiles('cl...@](Cl)(Br)I')

In [20]: ps = rxn.RunReactants((m,))

In [21]: Chem.MolToSmiles(ps[0][0], True)
Out[21]: 'f...@](Cl)(Br)I'

In [22]: Chem.MolToSmiles(ps[1][0], True)
Out[22]: 'FC(Br)(I)CCl'

Notice that the stereochemistry is fine in the first case (line 21)
since the reaction didn't affect the atom that is tagged, but that
stereochemistry is lost when the tagged atom is modified (line 22).

> Having got to the end of explaining that, I am thinking that the way I
> should handle this is to check for 'problem' reactants and pass to a more
> specific rSMARTS when required!

I don't think that will help. Unfortunately the problem is in the way
stereochemical information is handled in the reaction code. My gut
feeling is that this is not going to be a quick one to fix, but I will
take a look.

Best Regards,
-greg

--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Handling certain sterochemistry in reactions

2010-11-27 Thread James Davidson

Hi Greg,

Greg wrote:
> yeah. Here's an even shorter illustration of correct behavior:
>
> In [11]: mol2 = Chem.MolFromSmiles(r'C\C=C\CB(O)O')
>
> In [12]: ps = rxn.RunReactants((mol1, mol2))
>
> In [13]: Chem.MolToSmiles(ps[0][0], True)
> Out[13]: 'C/C=C/Cc1c1'

Yes, this was the first example that I went for as well - but then
chemically I didn't like the idea of using allyl boronic acids in Suzuki
reactions - because I couldn't recollect ever trying this, and if they
did couple I would be worried about double-bond migrations; ironically
making the question of stereochemistry rather mute!  So my medchemist
conscience won-out over clarity - and I concocted an example that I
would happily test with 'wet' experiment! :-)

>> Having got to the end of explaining that, I am thinking that the way
I
>> should handle this is to check for 'problem' reactants and pass to a
more
>> specific rSMARTS when required!
>
> I don't think that will help. Unfortunately the problem is in the way
> stereochemical information is handled in the reaction code. My gut
> feeling is that this is not going to be a quick one to fix, but I will
> take a look.

Thanks for looking into it!

Kind regards

James

__
PLEASE READ: This email is confidential and may be privileged. It is intended 
for the named addressee(s) only and access to it by anyone else is 
unauthorised. If you are not an addressee, any disclosure or copying of the 
contents of this email or any action taken (or not taken) in reliance on it is 
unauthorised and may be unlawful. If you have received this email in error, 
please notify the sender or postmas...@vernalis.com. Email is not a secure 
method of communication and the Company cannot accept responsibility for the 
accuracy or completeness of this message or any attachment(s). Please check 
this email for virus infection for which the Company accepts no responsibility. 
If verification of this email is sought then please request a hard copy. Unless 
otherwise stated, any views or opinions presented are solely those of the 
author and do not represent those of the Company.

The Vernalis Group of Companies
Oakdene Court
613 Reading Road
Winnersh, Berkshire
RG41 5UA.
Tel: +44 118 977 3133

To access trading company registration and address details, please go to the 
Vernalis website at www.vernalis.com and click on the "Company address and 
registration details" link at the bottom of the page..
__

--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Handling certain sterochemistry in reactions

2010-12-06 Thread Greg Landrum
Dear James,

On Sat, Nov 27, 2010 at 8:53 AM, James Davidson  wrote:
>
>>
>> I don't think that will help. Unfortunately the problem is in the way
>> stereochemical information is handled in the reaction code. My gut
>> feeling is that this is not going to be a quick one to fix, but I will
>> take a look.
>
> Thanks for looking into it!

After looking through the code and thinking about it for a while, I
haven't been able to come up with a way of fixing this that doesn't
create a significant risk of adding incorrect stereochemical
information to the results of reactions. I think it's safer to have no
information there than it is to include information that could be
wrong. I will keep thinking about it, but I'm not really optimistic
that there's going to be fix for this that isn't a lot of work.

-greg

--
What happens now with your Lotus Notes apps - do you make another costly 
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus 
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss