Content deleted Content added
→Terminology: Removed a deadlink |
→References: var cols |
||
(42 intermediate revisions by 27 users not shown) | |||
Line 3:
{{Use mdy dates|date=July 2020}}
{{Infobox file format
| name = SMILES
| extension = .smi
| owner = ▼
| genre = [[chemical file format]]▼
▲| owner =
▲| genre = [[chemical file format]]
| container for =
| contained by =
| extended from =
| extended to =
}}
[[Image:SMILES.png|thumb|class=skin-invert-image|300px|SMILES generation algorithm for [[
The '''
The original SMILES specification was initiated in the 1980s. It has since been modified and extended. In 2007, an [[open standard]] called OpenSMILES was developed in
==History==
The original SMILES specification was initiated by [[David Weininger]] at the USEPA Mid-Continent Ecology Division Laboratory in [[Duluth, Minnesota|Duluth]] in the 1980s.<ref name="Weininger-1988">{{cite journal|
It has since been modified and extended by others, most notably by [[Daylight Chemical Information Systems]]. In 2007, an [[open standard]] called "OpenSMILES" was developed by the [[Blue Obelisk]] open-source chemistry community. Other 'linear' notations include the [[Wiswesser Line Notation]] (WLN), [[ROSDAL]] and [[SYBYL Line Notation|SLN]] (Tripos Inc).
In July 2006, the [[International Union of Pure and Applied Chemistry|IUPAC]] introduced the [[International Chemical Identifier|InChI]] as a standard for formula representation. SMILES is generally considered to have the advantage of being more human-readable than InChI; it also has a wide base of software support with extensive theoretical backing (such as [[graph theory]]).
Line 30 ⟶ 28:
The term SMILES refers to a line notation for encoding molecular structures and specific instances should strictly be called SMILES strings. However, the term SMILES is also commonly used to refer to both a single SMILES string and a number of SMILES strings; the exact meaning is usually apparent from the context. The terms "canonical" and "isomeric" can lead to some confusion when applied to SMILES. The terms describe different attributes of SMILES strings and are not mutually exclusive.
Typically, a number of equally valid SMILES strings can be written for a molecule. For example, <code>CCO</code>, <code>OCC</code> and <code>C(O)C</code> all specify the structure of [[ethanol]]. Algorithms have been developed to generate the same SMILES string for a given molecule; of the many possible strings, these algorithms choose only one of them. This SMILES is unique for each structure, although dependent on the [[canonicalization]] algorithm used to generate it, and is termed the canonical SMILES. These algorithms first convert the SMILES to an internal representation of the molecular structure; an algorithm then examines that structure and produces a unique SMILES string. Various algorithms for generating canonical SMILES have been developed and include those by Daylight Chemical Information Systems, [[OpenEye Scientific Software]], [[MEDIT]], [[Chemical Computing Group]], [[MolSoft
The original paper that described the CANGEN<ref name="Weininger-1989" /> algorithm claimed to generate unique SMILES strings for graphs representing molecules, but the algorithm fails for a number of simple cases (e.g. [[cuneane]], 1,2-dicyclopropylethane) and cannot be considered a correct method for representing a graph canonically.<ref>{{cite book | vauthors = Neglur G, Grossman RL, Liu B |publisher=Springer |___location=Berlin |isbn=978-3-540-27967-9 |volume=3615 |pages=145–157 |
SMILES notation allows the specification of [[molecular configuration|configuration at tetrahedral centers]], and double bond geometry. These are structural features that cannot be specified by connectivity alone, and therefore SMILES which encode this information are termed isomeric SMILES. A notable feature of these rules is that they allow rigorous partial specification of chirality. The term isomeric SMILES is also applied to SMILES in which [[isomer]]s are specified.
Line 46 ⟶ 44:
==SMILES definition as strings of a context-free language==
From the view point of a formal language theory, SMILES is a word. A SMILES is parsable with a context-free parser. The use of this representation has been in the prediction of biochemical properties (incl. toxicity and [[biodegradability]]) based on the main principle of chemoinformatics that similar molecules have similar properties. The predictive models implemented a syntactic pattern recognition approach (which involved defining a molecular distance)
== Description ==
Line 52 ⟶ 50:
=== Atoms ===
[[Atom]]s are represented by the standard abbreviation of the [[chemical element]]s, in square brackets, such as <code>[Au]</code> for [[gold]]. Brackets may be omitted in the common case of atoms which:
# are in the "[[CHON|organic subset]]" of [[boron|B]], [[carbon|C]], [[nitrogen|N]], [[oxygen|O]], [[phosphorus|P]], [[sulfur|S]], [[fluorine|F]], [[chlorine|Cl]], [[bromine|Br]], or [[iodine|I]], and
# have no [[formal charge]], and
# have the number of hydrogens attached implied by the SMILES valence model (typically their normal valence, but for N and P it is 3 or 5, and for S it is 2, 4 or 6), and
# are the normal [[isotope]]s, and
# are not [[Stereocenter|chiral centers]].
All other elements must be enclosed in brackets, and have charges and hydrogens shown explicitly. For instance, the SMILES for [[water (molecule)|water]] may be written as either <code>O</code> or <code>[OH2]</code>. Hydrogen may also be written as a separate atom; water may also be written as <code>[H]O[H]</code>.
Line 70 ⟶ 68:
An additional type of bond is a "non-bond", indicated with <code>.</code>, to indicate that two parts are not bonded together. For example, aqueous [[sodium chloride]] may be written as <code>[Na+].[Cl-]</code> to show the dissociation.
An aromatic "one and a half" bond may be indicated with <code>:</code>; see {{
Single bonds adjacent to double bonds may be represented using <code>/</code> or <code>\</code> to indicate stereochemical configuration; see {{
===Rings===
Line 91 ⟶ 89:
=== Aromaticity ===
[[Aromaticity|Aromatic]] rings such as [[benzene]] may be written in one of three forms:
# In [[
# Using the aromatic bond symbol <code>:</code>, e.g. <code>
# Most commonly, by writing the constituent B, C, N, O, P and S atoms in lower-case forms <code>b</code>, <code>c</code>, <code>n</code>, <code>o</code>, <code>p</code> and <code>s</code>, respectively.
Line 103 ⟶ 101:
The Daylight and OpenEye algorithms for generating canonical SMILES differ in their treatment of aromaticity.
[[Image:3-cyanoanisole SMILES.svg|right|thumb|class=skin-invert-image|350px|Visualization of 3-cyanoanisole as <code>COc(c1)cccc1C#N</code>.]]
=== Branching ===
Branches are described with parentheses, as in <code>CCC(=O)O</code> for [[propionic acid]] and <code>FC(F)F</code> for [[fluoroform]]. The first atom within the parentheses, and the first atom after the parenthesized group, are both bonded to the same branch point atom. The bond symbol must appear inside the parentheses; outside (
Substituted rings can be written with the branching point in the ring as illustrated by the SMILES <code>COc(c1)cccc1C#N</code> ([https://web.archive.org/web/20130522091354/http://www.daylight.com/daycgi/depict?434f6328633129636363633143234e see depiction]) and <code>COc(cc1)ccc1C#N</code> ([https://web.archive.org/web/20130522074308/http://www.daylight.com/daycgi/depict?434f6328636331296363633143234e see depiction]) which encode the 3 and 4-cyanoanisole isomers. Writing SMILES for substituted rings in this way can make them more human-readable.
Line 112 ⟶ 110:
Branches may be written in any order. For example, [[bromochlorodifluoromethane]] may be written as <code>FC(Br)(Cl)F</code>, <code>BrC(F)(F)Cl</code>, <code>C(F)(Cl)(F)Br</code>, or the like. Generally, a SMILES form is easiest to read if the simpler branch comes first, with the final, unparenthesized portion being the most complex. The only caveats to such rearrangements are:
* If ring numbers are reused, they are paired according to their order of appearance in the SMILES string. Some adjustments may be required to preserve the correct pairing.
* If stereochemistry is specified, adjustments must be made; see {{
The one form of branch which does ''not'' require parentheses are ring-closing bonds: the SMILES fragment <code>C1N</code> is equivalent to <code>C(1)N</code>, both denoting a bond between the <code>C</code> and the <code>N</code>. Choosing ring-closing bonds
=== Stereochemistry ===
{{See also|Skeletal formula}}[[File:Trans-1,2-difluoroethylene.svg|thumb|right|class=skin-invert-image|upright=0.5|''trans''-1,2-difluoroethylene]]
<!--[[File:Cis-1,2-difluoroethylene.svg|thumb|right|class=skin-invert-image|upright=0.5|''cis''-1,2-difluoroethylene]]-->
SMILES permits, but does not require, specification of [[stereoisomer]]s.
Line 125 ⟶ 123:
Bond direction symbols always come in groups of at least two, of which the first is arbitrary. That is, <code>F\C=C\F</code> is the same as <code>F/C=C/F</code>. When alternating single-double bonds are present, the groups are larger than two, with the middle directional symbols being adjacent to two double bonds. For example, the common form of (2,4)-hexadiene is written <code>C/C=C/C=C/C</code>.
[[File:Beta-Carotene_conjugation.svg|thumb|right|class=skin-invert-image|upright=0.866|[[Beta-carotene]], with the eleven double bonds highlighted.]]
As a more complex example, [[beta-carotene]] has a very long backbone of alternating single and double bonds, which may be written <code>CC1CCC/C(C)=C1/C=C/C(C)=C/C=C/C(C)=C/C=C/C=C(C)/C=C/C=C(C)/C=C/C2=C(C)/CCCC2(C)C</code>.
Line 140 ⟶ 138:
===Isotopes===
[[Isotopes]] are specified with a number equal to the integer isotopic mass preceding the atomic symbol. [[Benzene]] in which one atom is [[carbon-14]] is written as <code>[
=== Examples ===
Line 153 ⟶ 151:
|-----
|[[Methyl isocyanate]] (MIC)
|[[File:Methyl isocyanate.svg|frameless|120px|class=skin-invert-image]]
|<code>CN=C=O</code>
|-----
Line 161 ⟶ 159:
|-----
|[[Vanillin]]
|[[Image:Vanillin.svg|class=skin-invert-image|70px|Molecular structure of vanillin]]
|<code>O=Cc1ccc(O)c(OC)c1</code><br/><code>COc1cc(C=O)ccc1O</code>
|-----
|[[Melatonin]] (C<sub>13</sub>H<sub>16</sub>N<sub>2</sub>O<sub>2</sub>)
|[[Image:Melatonin2.svg|class=skin-invert-image|160px|Molecular structure of melatonin]]
|<code>CC(=O)NCCC1=CNc2c1cc(OC)cc2</code><br/><code>CC(=O)NCCc1c[nH]c2ccc(OC)cc12</code>
|-----
|[[Flavopereirin]] (C<sub>17</sub>H<sub>15</sub>N<sub>2</sub>)
|[[Image:Flavopereirine.svg|class=skin-invert-image|160px|Molecular structure of flavopereirin]]
|<code>CCc(c1)ccc2[n+]1ccc3c2[nH]c4c3cccc4</code><br/><code>CCc1c[n+]2ccc3c4ccccc4[nH]c3c2cc1</code>
|-----
|[[Nicotine]] (C<sub>10</sub>H<sub>14</sub>N<sub>2</sub>)
|[[Image:Nicotine.svg|class=skin-invert-image|80px|Molecular structure of nicotine]]
|<code>CN1CCC[C@H]1c2cccnc2</code>
|-----
|[[Oenanthotoxin]] (C<sub>17</sub>H<sub>22</sub>O<sub>2</sub>)
|[[Image:Oenanthotoxin-structure.png|class=skin-invert-image|180px|Molecular structure of oenanthotoxin]]
|<code>CCC[C@@H](O)CC\C=C\C=C\C#CC#C\C=C\CO</code><br/><code>CCC[C@@H](O)CC/C=C/C=C/C#CC#C/C=C/CO</code>
|-----
|[[Pyrethrin]] II (C<sub>22</sub>H<sub>28</sub>O<sub>5</sub>)
|[[Image:Pyrethrin-II-2D-skeletal.svg|class=skin-invert-image|180px|Molecular structure of pyrethrin II]]
|<code>CC1=C(C(=O)C[C@@H]1OC(=O)[C@@H]2[C@H](C2(C)C)/C=C(\C)/C(=O)OC)C/C=C\C=C</code>
|-----
|[[Aflatoxin]] B<sub>1</sub> (C<sub>17</sub>H<sub>12</sub>O<sub>6</sub>)
|[[Image:Aflatoxin B1.svg|class=skin-invert-image|130px|Molecular structure of aflatoxin B<sub>1</sub>]]
|<code>O1C=C[C@H]([C@H]1O2)c3c2cc(OC)c4c3OC(=O)C5=C4CCC(=O)5</code>
|-----
|[[Glucose]] (β-<small>D</small>-glucopyranose) (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)
|[[Image:Beta-D-Glucose.svg|class=skin-invert-image|140px|Molecular structure of glucopyranose]]
|<code>OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)1</code>
|-----
|[[Bergenin]] (cuscutin, a [[resin]]) (C<sub>14</sub>H<sub>16</sub>O<sub>9</sub>)
|[[Image:Cuscutine.svg|class=skin-invert-image|130px|Molecular structure of cuscutine (bergenin)]]
|<code>OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H]2[C@@H]1c3c(O)c(OC)c(O)cc3C(=O)O2</code>
|-----
|A [[pheromone]] of the Californian [[scale insect]]
|[[Image:Pheromone cochenille californienne.svg|class=skin-invert-image|180px|(3''Z'',6''R'')-3-methyl-6-(prop-1-en-2-yl)deca-3,9-dien-1-yl acetate]]
|<code>CC(=O)OCCC(/C)=C\C[C@H](C(C)=C)CCC=C</code>
|-----
|(2''S'',5''R'')-[[Chalcogran]]: a [[pheromone]] of the [[Scolytinae|bark beetle]] ''[[Pityogenes chalcographus]]''<ref>{{cite journal |
|[[Image:2S,5R-chalcogran-skeletal.svg|class=skin-invert-image|130px|(2''S'',5''R'')-2-ethyl-1,6-dioxaspiro[4.4]nonane]]▼
▲|[[Image:2S,5R-chalcogran-skeletal.svg|130px|(2''S'',5''R'')-2-ethyl-1,6-dioxaspiro[4.4]nonane]]
|<code>CC[C@H](O1)CC[C@@]12CCCO2</code>
|-----
|[[Thujone|α-Thujone]] (C<sub>10</sub>H<sub>16</sub>O)
|[[Image:Alpha-thujone.svg|class=skin-invert-image|100px|Molecular structure of thujone]]
|<code>CC(C)[C@@]12C[C@@H]1[C@@H](C)C(=O)C2</code>
|-----
|[[Thiamine]] (vitamin B<sub>1</sub>, C<sub>12</sub>H<sub>17</sub>N<sub>4</sub>OS<sup>+</sup>)
|[[Image:Thiamin.svg|class=skin-invert-image|150px|Molecular structure of thiamin]]
|<code>OCCc1c(C)[n+](cs1)Cc2cnc(C)nc2N</code>
|}
Line 216 ⟶ 213:
To illustrate a molecule with more than 9 rings, consider [[cephalostatin]]-1,<ref name="PubChem-183413">{{cite web |title=CID 183413 |url=https://pubchem.ncbi.nlm.nih.gov/compound/183413 |website=[[PubChem]] |access-date=May 12, 2012 |language=en}}</ref> a steroidic 13-ringed [[pyrazine]] with the [[empirical formula]] C<sub>54</sub>H<sub>74</sub>N<sub>2</sub>O<sub>10</sub> isolated from the [[Indian Ocean]] [[hemichordate]] ''[[Cephalodiscus gilchristi]]'':
{{Clear}}
:[[Image:Cephalostatine-1.svg|class=skin-invert-image|360px|Molecular structure of cephalostatin-1]]
Starting with the left-most methyl group in the figure:
Line 222 ⟶ 219:
:<code>CC(C)(O1)C[C@@H](O)[C@@]1(O2)[C@@H](C)[C@@H]3CC=C4[C@]3(C2)C(=O)C[C@H]5[C@H]4CC[C@@H](C6)[C@]5(C)Cc(n7)c6nc(C[C@@]89(C))c7C[C@@H]8CC[C@@H]%10[C@@H]9C[C@@H](O)[C@@]%11(C)C%10=C[C@H](O%12)[C@]%11(O)[C@H](C)[C@]%12(O%13)[C@H](O)C[C@@]%13(C)CO</code>
=== Other examples of SMILES ===
The SMILES notation is described extensively in the SMILES theory manual provided by
== Extensions ==
Line 232 ⟶ 229:
[[Smiles arbitrary target specification|SMARTS]] is a line notation for specification of substructural patterns in molecules. While it uses many of the same symbols as SMILES, it also allows specification of [[Wildcard character|wildcard]] atoms and bonds, which can be used to define substructural queries for [[chemical database]] searching. One common misconception is that SMARTS-based substructural searching involves matching of SMILES and SMARTS strings. In fact, both SMILES and SMARTS strings are first converted to internal graph representations which are searched for [[Glossary of graph theory#Subgraphs|subgraph]] [[isomorphism]].
{{anchor|SMIRKS}}SMIRKS, a superset of "reaction SMILES" and a subset of "reaction SMARTS", is a line notation for specifying reaction transforms. The general syntax for the reaction extensions is <code>REACTANT>AGENT>PRODUCT</code> (without spaces), where any of the fields can either be left blank or filled with multiple molecules
SMILES corresponds to discrete molecular structures. However many materials are macromolecules, which are too large (and often stochastic) to conveniently generate SMILES for. BigSMILES is an extension of SMILES that aims to provide an efficient representation system for macromolecules.<ref>{{cite journal | vauthors = Lin TS, Coley CW, Mochigase H, Beech HK, Wang W, Wang Z, Woods E, Craig SL, Johnson JA, Kalow JA, Jensen KF, Olsen BD | display-authors = 6 | title = BigSMILES: A Structurally-Based Line Notation for Describing Macromolecules | journal = ACS Central Science | volume = 5 | issue = 9 | pages = 1523–1531 | date = September 2019 | pmid = 31572779 | pmc = 6764162 | doi = 10.1021/acscentsci.9b00476 }}</ref>
== Conversion ==
SMILES can be converted back to two-dimensional representations using structure diagram generation (SDG) algorithms.<ref name="Helson-1999">{{cite book |
== See also ==
Line 246 ⟶ 245:
== References ==
{{Reflist
{{Molecular visualization}}
|