LeSimplified Molecular Input Line Entry System ouSMILES est un langage symbolique de description desmoléculeschimiques sous forme de courteschaînes de caractèresASCII. Les chaînes SMILES peuvent être importées dans la plupart des éditeurs de structure moléculaire pour être reconverties en représentation2D ou en modèle3D, et par conséquent, peuvent servir à constituer desbases de données.
La définition du langage SMILES a été introduite parDavid Weininger à la fin des années 1980[1]. Plusieurs extensions et modifications ont été ajoutées depuis, notamment par la sociétéDaylight Chemical Information Systems, dont Weininger est le fondateur. Il existe d'autres langages à ligne de texte pour représenter les molécules, dontInChl, introduit par l'IUPAC. SMILES est cependant plus répandu, car plus facile à lire par l'utilisateur humain et surtout parce qu'il est implémenté dans de nombreuxlogiciels de chimie moléculaire.
SMILES est bâti sur la représentation d'une molécule chimique sous forme d'ungraphe, au sens mathématique du terme. On parle alors degraphe moléculaire. Lesatomes sont les sommets du graphe, et lesliaisons chimiques en sont les arêtes. Chaque sommet du graphe est étiqueté avec le symbole de l'atome correspondant (C, N, O…).
La chaîne de caractères SMILES correspondant à une molécule donnée est obtenue en parcourant le graphe suivant unalgorithme de parcours en profondeur et en retenant le symbole de chaque sommet atteint. Le graphe de la molécule est préalablement simplifié en supprimant tous les atomes d'hydrogène (notation implicite) et en ouvrant les cycles pour transformer le graphe enarbre couvrant (spanning tree). À chaque fois qu'un cycle est ouvert, un suffixe numérique est ajouté pour indiquer la connexion des sommets correspondant à la liaison chimique supprimée. Des parenthèses sont utilisées pour indiquer les points de branchement sur l'arbre.
De par la nature de ce langage, il existe, pour une même molécule organique constituée de plusieurs atomes autres que l'hydrogène, plusieurs écritures possibles, selon l'atome de départ et l'ordre de parcours. Ainsi, CCO, OCC, C(C)O et C(O)C sont quatre représentations valides de la molécule d'éthanol CH3–CH2–OH.
Les principes de SMILES sont présentés dans le manuel du SMILES théorique[2] proposé parDaylight Chemical Information Systems[3].
Exemple de dérivation de représentation SMILES.A. Structure de la molécule, laciprofloxacine.B. Suppression des hydrogènes, ouverture des cycles et numérotation.C. Arbre couvrant la structure dé-cyclisée.D. Chaîne SMILES correspondante, le code couleur correspond à la couleur des branches sur le panneau C.
Les atomes sont représentés par leur symbole chimique entre crochets, comme [Se] pour lesélénium. Les crochets peuvent être omis pour les éléments usuels de lachimie organique : C, N, O, P, S, B, F, Cl, Br et I. Tous les autres éléments doivent être mis entre crochets. Lorsque les crochets sont omis, les valences libres de chaque atome sont supposées être complétées par des atomes d'hydrogène. Par exemple, la représentation SMILES de l'eau est O, celle de l'éthanol est CCO.
Un atome portant une ou plusieurs charges électriques est placé entre crochets, suivi du symbole H s'il est lié à un ou plusieurs atomes d'hydrogène (ceux-ci sont alors suivis de leur nombre [sauf s'il n'y en a qu'un] : NH4 pour l'ammonium), puis du signe '+' pour une charge positive, ou du signe '-' pour une charge négative. Le nombre des charges est alors spécifié après le signe (sauf s'il n'y en a qu'une) ; il est cependant aussi possible d'écrire le signe de la charge autant de fois que l'ion en possède : au lieu de "Ti+4", on peut très bien écrire "Ti++++" (Titane IV, Ti4+). Ainsi, l'anionhydroxyde est représenté par [OH-], lecationoxonium par [OH3+], et lecationcobalt III (Co3+) par [Co+3], ou [Co+++].
Les ramifications de la structure sont indiquées entre parenthèses, immédiatement après l'atome sur lequel elles sont branchées. Par exemple CC(=O)O représente l'acide acétique, avec deux atomes d'oxygène portés par le carbone du groupement carboxylique. Lorsque deux ramifications partent du même atome, la ramification suivante est placée immédiatement après la fin de parenthèse de la première : la formule dudiméthylpropane sera donc CC(C)(C)C. Les ramifications peuvent être enchaînées et imbriquées pour décrire des structures moléculaires plus complexes, comme celle de l'acide citrique : OC(=O)CC(O)(CC(O)=O)C(O)=O.
Visualisation du 3-cyanoanisole comme COc(c1)cccc1C#N.
La fermeture des cycles est indiquée par des chiffres placés après les atomes qui sont reliés. Lecyclohexane est représenté parC1CCCCC1, les deux "1" servant de labels indiquant que les deux carbones qui les précèdent sont reliés, formant un cycle à six atomes. De même, la formule SMILE du1,1-diméthylcyclopentane seraC1CCCC(C)(C)1 ; celle du3-cyanoanisole (3-methoxybenzonitrile) pourra êtreCOc(c1)cccc1C#N (voir ci-contre). Pour un deuxième cycle, le label sera 2 (naphtalène :c1cccc2c1cccc2) ; au-delà de 9, le signe '%' doit précéder le label, afin de le différencier de deux labels distincts liés au même atome (~C12~ signifiera que l'atome de carbone porte les liaisons de fermeture de cycle 1 et 2, tandis que ~C%12~ indiquera un seul label, le 12).
Les atomes C, N, O, S participant à un cyclearomatique sont représentés en minuscule par 'c', 'n', 'o' et 's', respectivement. Les doubles liaisons sont rarement indiquées : lebenzène est ainsi représenté parc1ccccc1 (plutôt que parC1=CC=CC=C1, qui correspond à la formule deKekulé), et lefuranec1cocc1.
Les liaisons entre des atomes aromatiques sont considérées par défaut comme aromatiques, bien que cette liaison aromatique puisse être explicitement spécifiée avec le symbole ':'. De fait, pour indiquer une liaison simple entre deux anneaux (ou atomes) aromatiques, on doit la représenter par son symbole '-', habituellement omis afin de ne pas surcharger la séquence : lebiphényle sera donc représenté parc1ccccc1-c2ccccc2.
Un atome d'azote aromatique lié à un atome d'hydrogène, tel celui de la molécule de pyrrole, doit être représenté [nH] ; lepyrrole sera donc représentéc1c[nH]cc1, et l'imidazolen1c[nH]cc1.
Les algorithmes deDaylight et deOpenEye, permettant de générer des chaînes SMILES canoniques différant dans leur traitement de l'aromaticité.
L'aromaticité telle qu'elle est détectée par les différents interpréteurs de chaînes SMILES est souvent très différente de l'aromaticitéréelle des composés.
le cis-1,2-difluoroéthène, dont la représentation SMILES est F/C=C\F.
La configuration des doubles liaisons carbone-carbone est représentée par des caractères '/' et '\', placés autour des carbones concernés. Ainsi, F/C=C/F est une représentation dutrans-1,2-difluoroéthène (les atomes de fluor ne se trouvent pas « en face » l'un de l'autre), et F/C=C\F une représentation ducis-1,2-difluoroéthène (les atomes de fluor se trouvent du même côté par rapport à l'axe de la double liaison). Cependant, le fait que le deuxième slash ait la même orientation '/' ou non '\' ne signifie pas que la double liaison esttrans oucis, mais simplement que le premier radical suivant la double liaison est du même côté que celui qui la précède (slashs opposés « /C=C\ » ou « \C=C/ ») ou du côté opposé (slashs de même sens). Ainsi, le trans-2-hydroxybut-2-ène aura pour formule possible C/C=C(/C)O, ou encore C/C=C(\O)C, et le cis-2-hydroxybut-2-ène deviendra C/C=C(\C)O.
La configuration des atomes decarbones asymétriques et des centreschiraux est, quant à elle, indiquée par le symbole '@'. L'exemple le plus commun est la L-Alanine (acide 2S-aminopropanoïque),énantiomère représenté par la formule N[C@@H](C)C(=O)O. Ici, « @@ » signifie que les radicaux –H, –CH3 et –C(=O)OH sont disposés dans le sens des aiguilles d'une montre autour du carbone chiral, si l'on observait celui-ci depuis la position de l'atome d'azote. les radicaux –H n'étant pas directement représentés dans la notation SMILES, si un carbonechiral en possède un, il doit être accolé auxarobases, entre les crochets « [] », et se trouve donc en première place dans l'ordre des radicaux. Écrire N[C@@H](C)C(=O)O revient donc à écrire N[C@@][H](C)C(=O)O. À l'inverse, un seul symbole '@' indique une lecture dans le sens inverse des aiguilles d'une montre (sens antihoraire) des radicaux suivants l'atome chiral. La D-Alanine (acide 2R-aminopropanoïque), reflet de son homologue L vue à travers un miroir, peut donc être écrite N[C@H](C)C(=O)O ou encore N[C@@H](C(=O)O)C (le fait d'échanger l'ordre des radicaux méthyle et carboxyle a le même effet qu'inverser le sens de rotation).
Unisotope peut être spécifié en plaçant l'atome concerné entre crochets et en faisant précéder son symbole par sonnombre de masse. Ainsi, une molécule debenzène dotée d'un atome decarbone-14 pourra être écrite [14C]1ccccc1, tandis que lechloroforme deutérié sera [2H]C(Cl)(Cl)Cl.
Deux molécules ou ions distincts peuvent être représentés dans une même formule SMILES. Leurs formules sont alors séparées par le caractère'.'. Ainsi, lechlorure de sodium ne sera pas représenté par[Na]Cl, ni par[Na+][Cl-] mais par[Na+].[Cl-] (il s'agit d'uneliaison ionique).
Par ailleurs, il est possible de représenter des équations chimiques, à l'aide du caractère'>', réactifs >> produits pour une réaction simple et réactifs > agent > produits pour une réaction faisant intervenir un agent qui n'y participera pas directement (catalyseur).C=C.O=O.O=O.O=O>>O=C=O.O=C=O.O sera donc équivalent à CH2=CH2 + 3 O2 → 2 CO2 + H2O(combustion de l'éthène).
Il existe desalgorithmes de transformation du schéma d'une molécule en chaîne SMILES. Comme il n'existe en général pas de description unique d'une molécule, il y a également plusieurs SMILES pouvant décrire la même structure : tout dépend de l'atome dont on part, de l'ordre dans lequel on décrit les branches du graphe moléculaire et de la manière dont on ouvre les cycles.Par exemple, c1ccccc1o et c1ccc(o)cc1 sont deux représentations équivalentes duphénol.
Réciproquement, la description SMILES d'une molécule peut être reconvertie en représentation chimique 2D classique, au moyen d'algorithmes de représentation de graphe.
La méthode SMILES permet d'échanger numériquement des descriptions de molécules arbitrairement complexes par le biais d'unfichier texte classique. La représentation SMILES étant très compacte, elle permet de stocker simplement des fichiers de plusieurs centaines de milliers de molécules (chimiothèques).
Des extensions du langage SMILES permettent de décrire lachiralité et la conformation des doubles liaisons. On peut ainsi décrire la conformation R ou S d'un carbone asymétrique ou l'isomérie cis/trans. On peut également décrire les états deprotonation, la présence d'isotopes spécifiques et même décrire des schémas réactionnels.
SMARTS est une extension qui permet, en plus des définitions classiques, de remplacer des atomes ou des liaisons par des jokers. Ceci est utilisé pour spécifier des motifs chimiques utilisés pour des recherches dans des banques de données de molécules (chimiothèques). Cela permet en particulier la recherche de sous-structures chimiques communes à deux molécules.
↑D. Weininger ; SMILES,« a Chemical Language and Information System. 1. Introduction to Methodology and Encoding Rules » (1988)J. Chem. Inf. Comput. Sci. 28:31-36