ADMET Predictor® User Manual

SMARTS Queries

SMARTS Queries

ADMET Predictor supports the SMARTS query language developed by Daylight CIS, Inc. The website (www.daylight.com) provides an excellent tutorial for the SMARTS language, so details of the syntax will not be provided here. Note that Boolean queries (e.g., “[c,n;!D3]”) and recursive queries (e.g., “[$(C=O)]”) are both supported, as are tetrahedral and rectangular (cis/trans) stereochemistry.

The following is a list of the current extensions to the basic SMARTS syntax:

Embedded features

Users may specify named-property queries (see below) within a SMARTS pattern using the angled bracket syntax (<>). For instance, the query “<HAcc>C<HAcc>” can be used to search for two Hydrogen-bond acceptors connected via a single Carbon atom. The query names can correspond either to ADMET Predictor defaults, or to user-defined queries as described below. Note that any named-property queries are assumed to describe single atoms; if multi-atom queries are used, only the information pertaining to the first atom will be considered for purposes of SMARTS queries.

Ring topology

Another supported extension to SMARTS is topogenic annotation, as described in the Generating Classes sections. For example, the query “[c;T1][c;T2]” is an annotated version of the query “cc”; whereas the latter describes any two aromatic carbon atoms connected by a single or aromatic bond, the former imposes the additional requirement that each atom belong to a single ring and that the two rings be different from one another (the labels “1” and “2” are assigned arbitrarily). The query “[c;t1][c;t2]” is similar, but specifies weak as opposed to strong topological matching: each atom must still belong to a distinct ring, but each can also belong to any number of additional rings, either shared or distinct.

The following diagram provides some sample annotated SMARTS patterns and the corresponding structural motifs that they match. Matching motifs are highlighted using bold bonds.

images_smarts_patter_sample.png

Note that some of the SMARTS patterns use explicit atom symbols (e.g., “C” or “c”), while others do not. Omitting the atom symbol means that the query can match any chemical element. Note also that some patterns use the strong topology symbol (T) while others use the weak topology symbol (t). The weak-symbol patterns are more general, matching all structures matched by the analogous strong-symbol pattern, but also matching structures in which additional rings are present (namely, any rings omitted in the above diagram).

Recursive atom labels

Query atoms can be labeled with unique integers that can then be referenced within recursive queries. This is an advanced feature most useful when developing new transforms for features such as Combinatorial Transform or AIDD. Consider the following two structures:

images_recursiveatomlabels.png

Suppose that you are interested in writing a query that will match a single or double bond, but want to exclude atoms that are in a different double bond (i.e., not the bond being queried). The red highlighted bond on the left would match such a query, while the red highlighted bond on the right would not, since it includes an atom that has a different double bond. One way to restrict the matching is to label the two atoms defining the bond, then refer to those atoms using a recursive SMARTS pattern. Consider the following two SMARTS patterns:

[C:1]-,=[C:2]

[C;! (*=[*!:1]):2]

The first query simply searches for two carbon atoms connected by a single or double bond, so it will match both of the red highlighted bonds in the structures above. Note that the two query atoms are labeled with integers 1 and 2 using the SMIRKS ":" syntax, though these labels are not actually used anywhere within the query. The second query adds to each atom a recursive subquery indicating that the atom cannot occur in a double bond, unless that double bond is the bond being queried (i.e., the bond between atoms 1 and 2). This second query will therefore match only the red highlighted bond on the left; it will not match the one on the right.

Note that if a recursive pattern includes another, nested recursive pattern, any atom-label references in the latter will refer to labels defined in the first recursive pattern, not the labels defined in the outer query.

Other symbols

The following additional atomic primitives are supported by ADMET Predictor. All must be used within square brackets ([ ]).

_Dn     minimum atom degree equal to n (e.g., _D3 means a degree of at least 3)

_Hn     minimum Hydrogen count equal to n (e.g., _H1 means at least 1 Hydrogen)

_M     any metal atom

_O    any organic atom (B,C,N,O,F,P,S,Cl, Br or I)

_p     any aromatic atom contributing two pi electrons (e.g., pyrrole N or furan O)

_Qn     number of heteroatom neighbors equal to n

_rn     atom must be in ring of size n or greater

_Rn     minimum ring count (e.g., _R2 means at least two rings; assumes SSSR definition)

~Rn     R-group attachment atom (group n)

_S     any atom for which the degree is equal to the sum of bond orders (saturation query)

~s     scaffold atom; used only when searching matched molecular pairs (MMP) for structural changes

~S     scaffold atom; used in general substructure searches

~Sn    scaffold attachment atom (for R group n)

T    ring topology (strong); see notes above on ring topology

t     ring topology (weak); see notes above on ring topology

_X     any halogen atom

_@    any atom with a defined stereo configuration

ADMET Predictor also supports the following additional bond primitives:

_p    bond to aromatic atom contributing two pi electrons (e.g., pyrrole N or furan O)

$(…)     bond-based equivalent to recursive atom queries

_@    any bond with a defined stereo configuration

Note that there are a few differences between ADMET Predictor’s and Daylight’s interpretation of the basic SMARTS syntax. The most significant example is the “wildcard” atom query, denoted by an asterisk (*). The Daylight interpretation of this symbol is “any atom, including Hydrogen.” By contrast, ADMET Predictor interprets the symbol as “any atom, excluding Hydrogen.”