Chemistry Reference
In-Depth Information
chapter 9
Reactions and Transformations
9.1 Introduction
The use of Simplified Molecular Input Line Entry System (SMILES) as a
string representation of chemical structure makes possible much of what
has been discussed in earlier chapters of this topic. A chemical reac-
tion could be represented as a collection of SMILES, some identified as
reactants and some as products. It is possible to define a table to do this,
or perhaps use some arrays of character data types, but a syntax exten-
sion of standard SMILES allows reaction to be expressed easily. SMIRKS
is an extension of SMILES and SMiles ARbitrary Target Specification
(SMARTS). It is used to represent chemical transformations. SMIRKS can
also be used in a transformation function to combine SMILES reactants to
produce SMILES products.
This chapter describes some of the aspects of SMIRKS and shows how
it can be integrated into a relational database using new structural query
language (SQL) functions. It discusses ways in which chemical transfor-
mations and reactions can be used to improve the robustness and useful-
ness of a chemical relational database.
9.2 Reaction SMILES
Reaction SMILES is an extension to standard SMILES used to represent a
specific reaction. It uses punctuation to distinguish reactants from products.
For example, the reaction SMILES CC(=O)O.CN>>CC(=O)NC.O represents
the reaction of acetic acid with methylamine to form N-methylacetamide
plus water. As with standard SMILES, explicit H atoms are typically not
shown, although they may be. For example, the same reaction can repre-
sented as [CH3]C(=O)[OH].[CH3][NH2]>>[CH3]C(=O)[NH][CH3].[H]O[H].
The punctuation >> is used to separate reactants from products, and the
period is used to separate reactants or products from each other. There are
no rules in reaction SMILES that enforce correct reaction stoichiometry or
other aspects of actual chemical reactions.
Reaction SMILES can be used to store and search chemical
reactions using the same functions described earlier for standard
SMILES. For example, cansmiles('CC(=O)O.NC>>CC(=O)NC.O') returns
99
Search WWH ::




Custom Search