User Tools

Site Tools


SMARTS query filter

The SMARTS language is designed to describe substructure patterns in molecules, and to overcome the limitations of simple substructure matching. The SMARTS query filter at provides nearly full SMARTS language support, based on the Indigo implementation of SMARTS.

Using the SMARTS query filter you can select or eliminate molecules containing specific SMARTS patterns. The filter allows multiple SMARTS queries. Molecules matching with ALL or ANY of the queries can be either included to or excluded from the result collection.

When to use

SMARTS query filter is a powerful and flexible tool to perform complex structural queries impossible to describe with a simple Substructure search. For example, if you are seeking for molecules containing a phenol substituted with any halogen atoms at para position, you can easily define the corresponding SMARTS pattern, and do the search.

Things become more interesting if you consider the batch functionalities. Using proper lists of SMARTS queries you can effectively eliminate problematic (non-druglike, toxic, reactive) molecules from a collection; thus you can use the SMARTS filter to build up your own REOS (Rapid Elimination of Swill) filter. Another use case is to generate a collection of specific structures, for example, strong acids or bases, using specific SMARTS. All you need is a list of SMARTS queries and to apply the appropriate settings.

How to use

To create a SMARTS query, you can either go through the Daylight documentation, or use a molecule sketcher supporting the export of the SMARTS format (e.g. MarvinSketch from ChemAxon).


You can specify multiple SMARTS queries in one filter, and apply one of the following settings:

INCLUDE molecules matching ANY of the SMARTS queries (default)

INCLUDE molecules matching ALL of the SMARTS queries

EXCLUDE molecules matching ANY of the SMARTS queries

EXCLUDE molecules matching ALL of the SMARTS queries

For example the first option returns all molecules that match any of the SMARTS patterns. To use a REOS-like setup, you should use the ‘EXCLUDE, ANY’ combination.


Molecules satisfying search criteria


SMARTS filter available in the Free package has the following limitations: - max 5 queries per filter - max 1 filter per workflow To get access to unlimited SMARTS query filter, subscribe to our Library Design package.

SMARTS language limitations

Our implementation of SMARTS does not support the differentiation between explicit and implicit hydrogens. In addition, ‘up or unspecified’ and ‘down or unspecified’ notations (‘/?’ and ‘\?’), square-planar, triagonal-bipyramidal and octahedral stereo configurations are not supported.

Further information

smartsquery.txt · Last modified: 2013/10/10 18:06 by flack