Le Simplified Molecular Input Line Entry System ou SMILES est un langage symbolique de description des molécules chimiques sous forme de courtes chaînes de caractères ASCII. Les chaînes SMILES peuvent être importées dans la plupart des éditeurs de structure moléculaire pour être reconverties en représentation 2D ou en modèle 3D, et par conséquent, peuvent servir à constituer des bases de données.

La définition du langage SMILES a été introduite par David Weininger à la fin des années 1980D. Weininger ; SMILES, (1988) J. Chem. Inf. Comput. Sci. 28:31-36. 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, dont InChl, 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 nombreux logiciels de chimie moléculaire.

Principes SMILES est bâti sur la représentation d'une molécule chimique sous forme d'un graphe, au sens mathématique du terme. On parle alors de graphe moléculaire. Les atomes sont les sommets du graphe, et les liaisons 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 un algorithme 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 en arbre 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 ––OH.

Les principes de SMILES sont présentés dans le manuel du SMILES théoriqueManuel du SMILES théorique. proposé par Daylight Chemical Information Systems..

Mise en œuvre et exemples vignette|330px|droite|Exemple de dérivation de représentation SMILES. A. Structure de la molécule, la ciprofloxacine. 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.

Atomes Les atomes sont représentés par leur symbole chimique entre crochets, comme [Se] pour le sélénium. Les crochets peuvent être omis pour les éléments usuels de la chimie 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'anion hydroxyde est représenté par [OH-], le cation oxonium par [OH3+], et le cation cobalt III (Co3+) par [Co+3], ou [Co+++].

Liaisons La liaison simple est implicite et n'est pas représentée : CC représente donc l'éthane et CCC, le propane. La double liaison est représentée par le symbole "=" et la triple liaison par le symbole "#". L'éthylène est donc C=C, et le cyanure d'hydrogène, C#N.

Ramifications 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 du dimé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. vignette|330px|Visualisation du 3-cyanoanisole comme COc(c1)cccc1C#N.

Cycles La fermeture des cycles est indiquée par des chiffres placés après les atomes qui sont reliés. Le cyclohexane est représenté par C1CCCCC1, 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 du 1,1-diméthylcyclopentane sera C1CCCC(C)(C)1 ; celle du 3-cyanoanisole (3-methoxybenzonitrile) pourra être COc(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).

Aromaticité Les atomes C, N, O, S participant à un cycle aromatique sont représentés en minuscule par 'c', 'n', 'o' et 's', respectivement. Les doubles liaisons sont rarement indiquées : le benzène est ainsi représenté par c1ccccc1 (plutôt que par C1=CC=CC=C1, qui correspond à la formule de Kekulé), et le furane c1cocc1.

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 : le biphényle sera donc représenté par c1ccccc1-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] ; le pyrrole sera donc représenté c1c[nH]cc1, et l'imidazole n1c[nH]cc1.

Les algorithmes de Daylight et de OpenEye, 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.

Stéréochimie vignette|120px|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 du trans-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 du cis-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 est trans ou cis, 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 de carbones asymétriques et des centres chiraux 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 carbone chiral en possède un, il doit être accolé aux arobases, 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).

Isotopes Un isotope peut être spécifié en plaçant l'atome concerné entre crochets et en faisant précéder son symbole par son nombre de masse. Ainsi, une molécule de benzène dotée d'un atome de carbone-14 pourra être écrite [14C]1ccccc1, tandis que le chloroforme deutérié sera [2H]C(Cl)(Cl)Cl.

Autres possibilités 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, le chlorure de sodium ne sera pas représenté par [Na]Cl, ni par [Na+][Cl-] mais par [Na+].[Cl-] (il s'agit d'une liaison 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 à + 3 → 2 + (combustion de l'éthène).

Application à diverses structures