SMILES記法(スマイルスきほう、英語: simplified molecular input line entry system)とは、分子の化学構造をASCII符号の英数字で文字列化した、構造の曖昧性の無い表記方法である。SMILES文字列は多くの種類の分子エディタにおいてインポート可能で、二次元の図表あるいは三次元のモデルとして表示することができる。

SMILES表記は1980年代の終わりにDavid Weiningerにより開発され、その後に多数の人の手で変更あるいは拡張がなされてきた。中でもDaylight Chemical Information Systems社の貢献が大きい。他の線形な同様な表記法としてはWiswesser Line Notation (WLN), ROSDAL そして SLN (Tripos社)が挙げられる。

## グラフ理論に基づいた記法の定義

グラフ理論に基づくコンピュータ処理の観点では、SMILESは分子グラフを深さ優先で走査して、節点(原子)と辺(結合)を表現する文字列である。分子グラフの構築では、まず系の水素原子を取り除き(ただし不斉中心を除く)、環を形成しているところは切り開いて全域木(spanning tree)に変換する。環を開いたところには数字でラベル付け(後置)して、つながっていた節点同士を示す。丸括弧(parenthesis, `()`)は木が分枝している場所を表すのに使用する。

原子は角括弧(bracket, `[]`)でくくられるが、organic subset、すなわち B, C, N, O, P, S, F, Cl, Br, I のいずれかで、形式電荷を持たず、同位体を陽に指定する必要がなく、かつ不斉中心でない場合は`[]`を省略してもよい。この場合は原子価に基づいて水素が暗黙的に付加しているものとみなされる。たとえば`O`、`N`はそれぞれ水、アンモニアである(水素を陽に書くと`[H]O[H]`などになるが、このように書かれることはほとんどない)。形式電荷を持っている場合は`+-`と数字を後置する(たとえばアンモニウムイオンは`[NH4+]`、鉄 (II) は`[Fe+2]`)。同位体を陽に指定する場合は質量数を整数で前置する(たとえば炭素14は`[14C]`)。不斉中心については後述する。

結合は一重から順に`-`、`=`、`#`で、芳香環(1.5重結合)では`:`で表される(ただし一重結合`-`は通常省略される)。OpenSMILES 拡張で四重結合は`$` である。二重結合`=`につながっている一重結合の向きを`/`、`\`で表すことでシス-トランス異性体を区別する。たとえば`C/C=C\C`、`C/C=C/C`はそれぞれシス・トランス2-ブテンである。結合がないことは`.`で表現される(たとえば過酸化水素`OO`に対し`O.O`は水2分子)。

環構造ではつながっている原子の後ろに数字でラベル付けする。たとえばプロパンとシクロプロパンをSMILESで表すとそれぞれ`CCC`、 `C1CC1`となる。
ラベルの数字は1つの原子に1つが原則だが、あるラベルがすでに2箇所に現れ、その2箇所のペアが同一の原子であることを示す役目を終えた場合は、その数字を別のペアのために再利用してもよい。
ラベルは一桁の数字とみなされ、たとえば`C12`はラベル`1`、`2`につながっている炭素である。二桁のラベルを表すには`%`を前置する(たとえば`C%12`はラベル`12`)。

芳香環を構成する原子(炭素、窒素、酸素、リン、硫黄、ヒ素、セレン;OpenSMILES 拡張ではさらにホウ素)は小文字にする。例えばシクロヘキサン`C1CCCCC1`に対しベンゼンは`c1ccccc1`である。芳香環の結合を一重・二重結合で表すこと(ベンゼンを1,3,5-シクロヘキサトリエンのように`C1=CC=CC=C1`)をケクレ化 (英語: kekulization) とよぶことがある。

不斉中心には`@`または`@@`を後置し、根の方向から見てそれぞれ左回り・右回りに後続の原子団が並んでいることを表す(@が左回りのため)。たとえばS-アラニンのSMILESは、アミノ基を根にすると`N[C@@H](C)C(=O)O`である(`N[C@@]([H])(C)C(=O)O`のように書いてもよい)。

ある系についてのSMILESは必ずしも一意に定まらず、たとえばS-アラニンは上記のSMILESだけでなく、`C[C@H](N)C(=O)O`、`C[C@@H](C(=O)O)N`、`OC(=O)[C@H](C)N`などでも表すことができる。そのため、あるアルゴリズムに基づいて系に対し一意になるよう変換したものを、正規化された(canonical)SMILESと呼ぶ。ただし、データベースやプログラムによってはアルゴリズムが違うことがある。

化学反応は`原系>>生成系`または`原系>触媒など>生成系`で表される。たとえばプロペンに水が付加してプロパン-2-オールができる反応は`CC=C.O>>CC(O)C`である。

詳細についてはやを参照すること。

## 発展

SMARTSは部分構造検索ができるようにSMILESを拡張したものであり、化学データベース検索プログラムなどで使用される。原子ならびに結合についてのクエリが追加されており、たとえば`[C,c]`は任意の(脂肪族または芳香族の)炭素にマッチする。

SMIRKSはSMILESとSMARTSのハイブリッドで、一般的な化学反応を記述する。

## 特徴

SMILES記法の長所は化学構造を、少ないバイト長で表現できることと、ルールが簡単なので人間が文字列に変換する際に複雑な演算が不必要な点にある。

一方、欠点としては元の構造式の向きや置換基が張り出す方向などの構造式を目で見たときの印象が完全に失われる点がある。ほかにも、標準SMILES記法では相対配置も絶対配置も表現することができない。

## 実例

| 分子 | 構造 | SMILES記法 |
| --- | --- | --- |
| 窒素 | N≡N | N#N |
| イソシアン酸メチル (MIC) | CH3N=C=O | CN=C=O |
| 硫酸銅(II) | Cu SO4 | [Cu+2].[O-]S(=O)(=O)[O-] |
| エナントトキシン (C17H22O2) |  | CCC[C@@H](O)CC\C=C\C=C\C#CC#C\C=C\CO |
| ピレトリン II (C21H28O5) |  | COC(=O)C(\C)=C\C1C(C)(C)[C@H]1C(=O)O[C@@H]2C(C)=C(C(=O)C2)CC=CC=C |
| アフラトキシンB1 (C17H12O6) |  | O1C=C[C@H]([C@H]1O2)c3c2cc(OC)c4c3OC(=O)C5=C4CCC(=O)5 |
| グルコース (glucose, glucopyranose) (C6H12O6) |  | OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H](O)[C@@H](O)1 |
| クスクチン又の名ベルゲニン(天然樹脂) (C14H16O9) |  | OC[C@@H](O1)[C@@H](O)[C@H](O)[C@@H]2[C@@H]1c3c(O)c(OC)c(O)cc3C(=O)O2 |
| カリフォルニア州のカイガラムシのフェロモン |  | CC(=O)OCCC(/C)=C\C[C@H](C(C)=C)CCC=C |
| 2S,5R-カルコガラン:キクイムシ(ホシガタキクイムシ(Pityogenes chalcographus))のフェロモン |  | CC[C@H](O1)CC[C@@]12CCCO2 |
| バニリン |  | O=Cc1ccc(O)c(OC)c1 |
| メラトニン (C13H16N2O2) |  | CC(=O)NCCC1=CNc2c1cc(OC)cc2 |
| フラボペレイリン (C17H15N2) |  | CCc(c1)ccc2[n+]1ccc3c2Nc4c3cccc4 |
| ニコチン (C10H14N2) |  | CN1CCC[C@H]1c2cccnc2 |
| ツジョン (C10H16O) |  | CC(C)[C@@]12C[C@@H]1[C@@H](C)C(=O)C2 |
| チアミン (C12H17N4OS) (vitamine B1) |  | OCCc1c(C)[n+](=cs1)Cc2cnc(C)nc(N)2 |