JavaGrins with SMARTS

Ragu Bharadwaj

Daylight CIS Inc.

SMILES Example:
CCCO matches
CCCN matches

SMARTS Example:
CCC[O,N] matches both 

For those new to SMILES & SMARTS, SMILES is a way to represent chemical information in a molecule in a compact string.  

SMARTS is a way to include chemical variabilities in a SMILES string, so as to enable queries. SMARTS is loosely similar to the regexp model that the UNIX operating system uses for queries.

Being boolean-based SMARTS is very expressive, since all queries are essentially combinations of boolean operations. This is also very useful at the OS level in fast searches, since regular expressions are fundamental to many OS'es and are therefore well researched. Hence corresponding advances are easily applied for fast chemical searching.
SMARTS Logicals
Boolean Symbol
, OR
; Low-Order AND