SMARTS

From Open Babel
Revision as of 10:21, 27 February 2007 by Ghutchis (Talk | contribs)

Jump to: navigation, search

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:

  • 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]