Hi Paul,

On Fri, Sep 14, 2012 at 6:12 AM,  <[email protected]> wrote:
>
>
> has anyone worked so far on this topic:
>
> http://www.mail-archive.com/[email protected]/msg01706.html
>>
>> Rebalance protonation states by deprotonating strong acids and/or
>> protonating strong bases
>
> This would be easy to do given a set of SMARTS patterns defining the
> strong acids/bases.
>
>
> E.g. these two molecules are identical:
> O=C(OC)C1=CCC2[N+](C)C1CC2
> C1[C@@H]2CC[C@@H](C(C(OC)=O)=C1)[N@]2C
>
> but their charge state is not!
>

Before my real reply: a bit of pedantry: Those two molecules aren't
really iidentical; the second one has additional stereochemical
information specified. Also: the charged N in the first molecule has a
radical, I think you meant [NH+] there.

Now the answer to your actual question:
If you have a list SMARTS patterns that define the strong acids and
bases that you want to (de)protonate, it would be pretty easy to write
a function that handles the (de)protonation. The SMARTS patterns would
need to be written in such a way that the atom to be modified is in a
known position, for example the first. So you could something like
this for tertiary aliphatic amines:
[NX3](C)(C)C
Note that that definition is seriously oversimplified.

Once you have those definitions, you would need one protonate function
and one deprotonate function that goes through the matched atoms and
adds/removes a charge and H as appropriate.

I haven't done anything in this area because the pre-requisite is to
have a good set of patterns.

-greg

------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to