Writing SMARTS: Some Examples
- Hydrogen-bond donor -- Matches one atom either oxygen or nitrogen
and not with zero attached hydrogens.
- Hydrogen-bond acceptor -- Matches a 2-atom pattern consisting of a
carbon or nitrogen not in a ring, double bonded to an oxygen.
- Possible intramolecular hbond -- Note that the overall SMARTS
consists of five atoms. The first and fifth atom are defined by
"recursive SMARTS", where "$()" encloses a valid nested SMARTS and
acts syntactically like an atom-primitive in the overall SMARTS.
Multiple nesting is allowed.
- Rotatable bond -- Note that logical operators can be applied to
bonds ("-&!@"). Here, the overall SMARTS consists of two atoms and one
bond. The bond is "single and not ring".
- PCB search -- Overall SMARTS is atom-bond-atom. Note that ":" is
explicit aromatic bond, and "-" is explicit single bond. On each side
of the single bond, we use three nested SMARTS to represent the ortho,
meta, and para position.
- Primary or secondary amine, not amide -- Note that "&" (and) is higher
precedence that "," (or), which is higher precedence than ";" (and);
- Primary amine, not amide
- Two primary or secondary amines -- Here we use the disconnection
symbol (".") to match two separate unbonded identical patterns.
- CIS or TRANS double bond in a ring -- An isomeric SMARTS consisting
of four atoms and three bonds.