Difference between revisions of "SMARTS"

From Open Babel
Jump to: navigation, search
m
(Added note on 2.1 cis/trans notation)
Line 13: Line 13:
 
The Open Babel implementation of SMARTS is not bug-free, nor does it support everything in the Daylight Toolkit. In particular, it is known to '''not''' currently support:
 
The Open Babel implementation of SMARTS is not bug-free, nor does it support everything in the Daylight Toolkit. In particular, it is known to '''not''' currently support:
  
 +
* Cis/trans double bond stereochemistry. [http://sourceforge.net/tracker/index.php?func=detail&aid=1663730&group_id=40728&atid=428743 Feature Request]
 +
** '''Note:''' The SMARTS '/' and '\' notation will be accepted, but will not restrict to cis/trans functionality. Instead these bond notations are treated equivalently to a single bond.
 
* Component-level grouping (i.e., "(C).(C)") [http://sourceforge.net/tracker/index.php?func=detail&aid=1155479&group_id=40728&atid=428743 Feature Request]
 
* Component-level grouping (i.e., "(C).(C)") [http://sourceforge.net/tracker/index.php?func=detail&aid=1155479&group_id=40728&atid=428743 Feature Request]
 
* Use of non-tetrahedral chirality [http://sourceforge.net/tracker/index.php?func=detail&aid=1465334&group_id=40728&atid=428743 Feature Request]
 
* Use of non-tetrahedral chirality [http://sourceforge.net/tracker/index.php?func=detail&aid=1465334&group_id=40728&atid=428743 Feature Request]

Revision as of 17:58, 28 February 2007

The SMARTS format is a language for matching substructures of chemical files and was created by Daylight Chemical Information Systems, Inc. alongside the SMILES format.

Specification URL http://www.daylight.com/dayhtml/doc/theory/theory.smarts.html
Examples http://www.daylight.com/dayhtml_tutorials/languages/smarts/smarts_examples.html

Limitations of the Open Babel SMARTS Implementation

The Open Babel implementation of SMARTS is not bug-free, nor does it support everything in the Daylight Toolkit. In particular, it is known to not currently support:

  • Cis/trans double bond stereochemistry. Feature Request
    • Note: The SMARTS '/' and '\' notation will be accepted, but will not restrict to cis/trans functionality. Instead these bond notations are treated equivalently to a single bond.
  • Component-level grouping (i.e., "(C).(C)") Feature Request
  • Use of non-tetrahedral chirality Feature Request
  • Unspecified chirality (i.e., "@?") Bug Report
  • New v4.9 primitive "x#" for number of ring connections Feature Request
  • [H] does not match explicit hydrogen atoms Bug Report
    • A workaround for this exists -- [#1] should be equivalent to [H] in this respect (i.e., element number 1).

This list may not be complete. Please e-mail the openbabel-discuss mailing list if you have questions about the SMARTS support in Open Babel.

Open Babel Extensions to SMARTS Syntax

In addition to the Daylight Toolkit syntax, Open Babel also offers the following extensions to SMARTS which are not currently supported by Daylight:

  • Atom hybridization matching "^". For example [#6^3] matches a carbon atom (atomic number 6) with sp3 hybridization. Accepted hybridizations include:
    • 1 - sp e.g., [#6^1][#7]
    • 2 - sp2 e.g., [#6^2][#6^2]
    • 3 - sp3 e.g., [#8^3]