Skip to main content

Table 4 Comparison between SMILES, SMARTS and SMIRKS to represent chemical reactions

From: Chemoinformatics-based enumeration of chemical libraries: a tutorial

 

SMILES

SMARTS

SMIRKS

Representation

Reactant > Agent > Product

In some cases the presence of agents can be omitted

Reactant >  > Product

A reaction query may be composed of optional reactant, agent, and product parts, which are separated by the " > " character

Reactant > Agent > Product

Reactan >  > 

 > Agent > 

 >  > Product

Query

Reactant >  > Product

Example

View full size image

CC(= O)O.OCC > [H +].[Cl-].OCC > CC(= O)OCC

View full size image

 >  > [#6][CX3](= O)[#6]

This query returns reactions in which the product contains ketones

View full size image

[C:1]([O,Cl:5]) = [O:2].[N:3][H:4] >  > [N:3][C:1] = [O:2].[*:5][H:4][C]([O,Cl]) = [O].[N][H] >  > [N][C] = [O].[*][H]

The use of the SMARTS [O,Cl] allows oxygen or chlorine

Characteristics

The map is always the last part of the atom expression delimited by a colon and it is optional

If hydrogen is mapped, it is also "special" and must be shown (hydrogens are normally omitted from SMILES)

Atom map is optional

Any valid Reaction SMILES is a valid SMARTS query

Any valid Molecule SMARTS can be a component of a Reaction

Recursive SMARTS supports only molecule expressions

All valid SMIRKS are valid reaction queries

Atoms can be added or deleted during a transformation

Atomic SMARTS expressions can be used for atoms directly involved in the reaction (the reaction center)

Stoichiometry is defined to be 1–1 for all atoms in the reactant and product for a transformation

Explicit hydrogens that are used on one side of a transformation must appear explicitly on the other side of the transformation must be mapped

Bond expressions must be valid SMILES (no bond queries allowed)

Atomic expressions may be any valid atomic SMARTS expression for nodes where the bonding (connectivity and bond order) does not change

Use

To represent specific reactions between specific reactants yielding specific products

SMARTS are used for searching reactions

SMIRKS are used to represent generic chemical transformations

Applications

Store a library of reactions of interest (these might be a record of reactions that have been carried out at a company, a set of reaction plans in an academic research group, or even a set of hypothetical reactions that might never succeed in the laboratory)

Retrieve specific searches

Avoid uninteresting results

Reaction classification and categorization

Using SMIRKS to represent chemical transformations, reaction specifications can be stored in the database

Structures can be transformed and combined (reacted) to produce new structures