Discussion:
[Rdkit-discuss] Rotatable bonds, amide bonds and SMARTS
Jan Domanski
2014-03-08 19:55:24 UTC
Permalink
Hi guys,

Not sure if this is a bug or SMARTS mishandling on my part. I'm trying to
select all the rotatable bond in the molecule attached, the SMARTS string
for doing that is either

'[!$(*#*)&!D1]-&!@[!$(*#*)&!D1]'

or

'[!$([NH]!@C(=O))&!D1&!$(*#*)]-&!@[!$([NH]!@C(=O))&!D1&!$(*#*)]'

The latter is a popular SMARTS example I found on a bunch of pages. It's a
more complex version which tries to filter-out non-rotatable amides amides
but (not esters).

I find that with the amide smarts, the bond between N and the non-amide
carbon is treated as non rotatable. For an amino acid this would correspond
to the N-C_alpha bond, and should be allowed to rotate freely.

For the attached molecule I'm having to resolve to crazy hacks to get the
proper rot bond selection. Again: what I want is a SMARTS selection that
will give me all the rotatable bonds as in
"dude_dud38_ace_xtal-lig_bonds3.png". Files attached, version used is
RDKit_2013_09_1

Thanks,

- Jan
S.L. Chan
2014-03-08 22:38:45 UTC
Permalink
Hello Jan,

This has been discussed not long ago:

http://www.mail-archive.com/rdkit-discuss%40lists.sourceforge.net/msg03671.html


Your second Smarts string is the "Chemaxon Smarts" in this discussion.
There may not be an easy way out. You may need to do it in two steps and
add back the non-amide N-C bonds.

Ling



________________________________
From: Jan Domanski <***@gmail.com>
To: rdkit-***@lists.sourceforge.net
Sent: Saturday, March 8, 2014 11:55 AM
Subject: [Rdkit-discuss] Rotatable bonds, amide bonds and SMARTS



Hi guys,

Not sure if this is a bug or SMARTS mishandling on my part. I'm trying to select all the rotatable bond in the molecule attached, the SMARTS string for doing that is either

'[!$(*#*)&!D1]-&!@[!$(*#*)&!D1]'

or

'[!$([NH]!@C(=O))&!D1&!$(*#*)]-&!@[!$([NH]!@C(=O))&!D1&!$(*#*)]'

The latter is a popular SMARTS example I found on a bunch of pages. It's a more complex version which tries to filter-out non-rotatable amides amides but (not esters).

I find that with the amide smarts, the bond between N and the non-amide carbon is treated as non rotatable. For an amino acid this would correspond to the N-C_alpha bond, and should be allowed to rotate freely.

For the attached molecule I'm having to resolve to crazy hacks to get the proper rot bond selection.  Again: what I want is a SMARTS selection that will give me all the rotatable bonds as in "dude_dud38_ace_xtal-lig_bonds3.png". Files attached, version used is RDKit_2013_09_1

Thanks,

- Jan
Jan Domanski
2014-03-12 19:13:56 UTC
Permalink
Hi there,

Thanks for the quick answer! And apologies for the ultra-slow reply... Yes,
I bumped into that thread shortly after posting (sorry). I agree that the
default behavior in rdkit is not ideal but most sane in this case.

The least hacky why around the problem I found was to "swap" the amide
smarts around, to get the 'other' side of the bond. Such that

([NH]!@C(=O))
(C(=O)!@[NH])

Then the two patterns are
patt1 =
Chem.MolFromSmarts("[!$([NH]!@C(=O))&!D1&!$(*#*)]-&!@[!$([NH]!@C(=O))&!D1&!$(*#*)]")
patt1 =
Chem.MolFromSmarts("[!$(C(=O)!@[NH])&!D1&!$(*#*)]-&!@[!$(C(=O)!@[NH])&!D1&!$(*#*)]")

Each pattern represents a set of bonds, the symmetric difference between
the two sets gives "missing" rotatable bonds neighboring the amide; the
amide bond is not selected in both cases.

Still this is not satisfactory. I'm a novice to SMARTS-land but it just
blew my mind that there isn't a pattern to do this selection, and that the
examples on the web are 'wrong' ("don't trust all you find on the
internet", greetings to capt Obvious)

Thanks,

- Jan
Post by S.L. Chan
Hello Jan,
http://www.mail-archive.com/rdkit-discuss%40lists.sourceforge.net/msg03671.html
Your second Smarts string is the "Chemaxon Smarts" in this discussion.
There may not be an easy way out. You may need to do it in two steps and
add back the non-amide N-C bonds.
Ling
------------------------------
*Sent:* Saturday, March 8, 2014 11:55 AM
*Subject:* [Rdkit-discuss] Rotatable bonds, amide bonds and SMARTS
Hi guys,
Not sure if this is a bug or SMARTS mishandling on my part. I'm trying to
select all the rotatable bond in the molecule attached, the SMARTS string
for doing that is either
or
The latter is a popular SMARTS example I found on a bunch of pages. It's a
more complex version which tries to filter-out non-rotatable amides amides
but (not esters).
I find that with the amide smarts, the bond between N and the non-amide
carbon is treated as non rotatable. For an amino acid this would correspond
to the N-C_alpha bond, and should be allowed to rotate freely.
For the attached molecule I'm having to resolve to crazy hacks to get the
proper rot bond selection. Again: what I want is a SMARTS selection that
will give me all the rotatable bonds as in
"dude_dud38_ace_xtal-lig_bonds3.png". Files attached, version used is
RDKit_2013_09_1
Thanks,
- Jan
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to
Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and
the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
Loading...