Le Simplified Molecular Input Line Entry Specification ou SMILES est un langage symbolique de description de la structure 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, permettent de construire des bases de données informatiques (relativement) simplement.
La définition du langage SMILES a été initialement introduite par David Weininger à la fin des années 1980. 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 notamment 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.
SMILES est basé sur la représentation d'une molécule chimique sous forme d'un graphe, au sens mathématique du terme. 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ère SMILES correspondant à une molécule donnée est obtenue en parcourant progressivement le graphe suivant un algorithme de parcours en profondeur et en imprimant successivement le symbole de chaque sommet traversé. 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 parcoure de la structure moléculaire. Ainsi, CCO, OCC, C(C)O et C(O)C sont toutes quatre des représentations valides de la molécule d'éthanol CH3–CH2–OH.
Les principes théoriques du langage SMILES sont présentés de manière exhaustive sur le manuel du SMILES théorique proposé par Daylight Chemical Information Systems (en anglais).
Il existe des algorithmes informatiques pour transformer automatiquement le schéma d'une molécule donnée 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 chimique. Tout dépend de l'atome dont on part pour décrire la structure, 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 SMILES synonymes du phé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'un fichier 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).