Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Current and unimplemented SMARTS functionality #63

ctk3b opened this issue Feb 15, 2017 · 1 comment

Current and unimplemented SMARTS functionality #63

ctk3b opened this issue Feb 15, 2017 · 1 comment


Copy link

@ctk3b ctk3b commented Feb 15, 2017

We currently do not support all of SMARTS' features. Here we're keeping track of which portions are supported.

Left column denotes current foyer support. See here for implemented SMARTS grammar.

SMARTS Atomic Primitives

Symbol Symbol name Atomic propertyrequirements Default
* wildcard any atom (no default)
a aromatic aromatic (no default)
A aliphatic aliphatic (no default)
D<n> degree <n> explicit connections exactly one
H<n> total-H-count <n> attached hydrogens exactly one1
h<n> implicit-H-count <n> implicit hydrogens at least one
R ring membership in <n> SSSR rings any ring atom
r<n> ring size in smallest SSSR ring of size <n> any ring atom
v<n> valence total bond order <n> exactly one
X<n> connectivity <n> total connections exactly one
x<n> ring connectivity <n> total ring connections at least one
- <n> negative charge -<n> charge -1 charge (-- is -2, etc)
+<n> positive charge +<n> formal charge +1 charge (++ is +2, etc)
#n atomic number atomic number <n> (no default)
@ chirality anticlockwise anticlockwise, default class
@@ chirality clockwise clockwise, default class
@<c><n> chirality chiral class <c> chirality <n> (nodefault)
@<c><n>? chiral or unspec chirality <c><n> or unspecified (no default)
<n> atomic mass explicit atomic mass unspecified mass

SMARTS Bond Primitives

Symbol Atomic property requirements
- single bond (aliphatic)
/ directional bond "up"1
\ directional bond "down"1
/? directional bond "up or unspecified"
? directional bond "down or unspecified"
= double bond
# triple bond
: aromatic bond
~ any bond (wildcard)
@ any ring bond1

SMARTS Logical Operators

Symbol Expression Meaning
exclamation !e1 not e1
ampersand e1&e2 a1 and e2 (high precedence)
comma e1,e2 e1 or e2
semicolon e1;e2 a1 and e2 (low precedence)
@ctk3b ctk3b added the feature label Feb 15, 2017
@mattwthompson mattwthompson pinned this issue Mar 1, 2019
@rmatsum836 rmatsum836 unpinned this issue Jun 12, 2019
@ahy3nz ahy3nz pinned this issue Oct 3, 2019
@umesh-timalsina umesh-timalsina unpinned this issue Feb 19, 2020
@mattwthompson mattwthompson pinned this issue Feb 19, 2020
Copy link

@mattwthompson mattwthompson commented Feb 25, 2020

Am I missing the % operator from this list?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

2 participants