JavaGrins with SMARTS

Ragu Bharadwaj

Daylight CIS Inc.

     

 
SMARTS does not allow constructs for variable numbers of an atom or group
UNIX regular expressions vs. SMARTS
In UNIX regular expressions "xyxx*z" would match "xyxxx....z"

No way to make the analogous query in SMARTS to match all molecules with 


 
 
A nitro group Nitrogen has the 
SMARTS [$([NX3](=O)=O)].
While this is trivial, creating such
template SMARTS on the fly 
is not error-free. Inserting this 
SMARTS in a steroid can 
yield a SMARTS like:

OC1C([$([NX3](=O)=O)])
CC2(C3C(CCC2C1)C4CCC(C4
(CC3)C)=O)C

Sadly SMARTS is tough to use practically without a computer, since chemical queries can translate to very complex boolean operations and therefore very long SMARTS. Since we think in terms of chemical groups rather than their boolean definitions, this problem is further exacerbated without graphical tools. 

However despite these limitations SMARTS provides a powerful mechanism to construct complex queries. In the past we have received several requests to produce a more chemically intuitive interface for SMARTS