SMILES記法

SMILES記法（スマイルスきほう、）とは、分子の化学構造をASCII符号の英数字で文字列化した、構造の曖昧性の無い表記方法である。SMILES文字列は多くの種類の分子エディタにおいてインポート可能で、二次元の図表あるいは三次元のモデルとして表示することができる。
SMILES表記は1980年代の終わりにDavid Weiningerにより開発され、その後に多数の人の手で変更あるいは拡張がなされてきた。中でもDaylight Chemical Information Systems社の貢献が大きい。他の線形な同様な表記法としてはWiswesser Line Notation (WLN), ROSDAL そして SLN (Tripos社)が挙げられる。
グラフ理論に基づいた記法の定義.
グラフ理論に基づくコンピュータ処理の観点では、SMILESはを深さ優先で走査して、節点（原子）と辺（結合）を表現する文字列である。分子グラフの構築では、まず系の水素原子を取り除き（ただし不斉中心を除く）、環を形成しているところは切り開いて全域木（）に変換する。環を開いたところには数字でラベル付け（後置）して、つながっていた節点同士を示す。丸括弧（, codice_1）は木が分枝している場所を表すのに使用する。
原子は角括弧（, codice_2）でくくられるが、、すなわち B, C, N, O, P, S, F, Cl, Br, I のいずれかで、形式電荷を持たず、同位体を陽に指定する必要がなく、かつ不斉中心でない場合はcodice_2を省略してもよい。この場合は原子価に基づいて水素が暗黙的に付加しているものとみなされる。たとえばcodice_4、codice_5はそれぞれ水、アンモニアである（水素を陽に書くとcodice_6などになるが、このように書かれることはほとんどない）。形式電荷を持っている場合はcodice_7と数字を後置する（たとえばアンモニウムイオンはcodice_8、鉄 (II) はcodice_9）。同位体を陽に指定する場合は質量数を整数で前置する（たとえば炭素14はcodice_10）。不斉中心については後述する。
結合は一重から順にcodice_11、codice_12、codice_13で、芳香環（1.5重結合）ではcodice_14で表される（ただし一重結合codice_11は通常省略される）。OpenSMILES 拡張で四重結合はcodice_16 である。二重結合codice_12につながっている一重結合の向きをcodice_18、codice_19で表すことでシス-トランス異性体を区別する。たとえばcodice_20、codice_21はそれぞれシス・トランス2-ブテンである。結合がないことはcodice_22で表現される（たとえば過酸化水素codice_23に対しcodice_24は水2分子）。
環構造ではつながっている原子の後ろに数字でラベル付けする。たとえばプロパンとシクロプロパンをSMILESで表すとそれぞれcodice_25、 codice_26となる。
ラベルの数字は1つの原子に1つが原則だが、あるラベルがすでに2箇所に現れ、その2箇所のペアが同一の原子であることを示す役目を終えた場合は、その数字を別のペアのために再利用してもよい。
ラベルは一桁の数字とみなされ、たとえばcodice_27はラベルcodice_28、codice_29につながっている炭素である。二桁のラベルを表すにはcodice_30を前置する（たとえばcodice_31はラベルcodice_32）。
芳香環を構成する原子（炭素、窒素、酸素、リン、硫黄、ヒ素、セレン；OpenSMILES 拡張ではさらにホウ素）は小文字にする。例えばシクロヘキサンcodice_33に対しベンゼンはcodice_34である。芳香環の結合を一重・二重結合で表すこと（ベンゼンを1,3,5-シクロヘキサトリエンのようにcodice_35）をケクレ化 () とよぶことがある。
不斉中心にはcodice_36またはcodice_37を後置し、根の方向から見てそれぞれ左回り・右回りに後続の原子団が並んでいることを表す（@が左回りのため）。たとえば"S"-アラニンのSMILESは、アミノ基を根にするとcodice_38である（codice_39のように書いてもよい）。
ある系についてのSMILESは必ずしも一意に定まらず、たとえば"S"-アラニンは上記のSMILESだけでなく、codice_40、codice_41、codice_42などでも表すことができる。そのため、あるアルゴリズムに基づいて系に対し一意になるよう変換したものを、正規化された（）SMILESと呼ぶ。ただし、データベースやプログラムによってはアルゴリズムが違うことがある。
化学反応はcodice_43またはcodice_44で表される。たとえばプロペンに水が付加してプロパン-2-オールができる反応はcodice_45である。
詳細についてはやを参照すること。
発展.
SMARTSは部分構造検索ができるようにSMILESを拡張したものであり、化学データベース検索プログラムなどで使用される。原子ならびに結合についてのクエリが追加されており、たとえばcodice_46は任意の（脂肪族または芳香族の）炭素にマッチする。
SMIRKSはSMILESとSMARTSのハイブリッドで、一般的な化学反応を記述する。
特徴.
SMILES記法の長所は化学構造を、少ないバイト長で表現できることと、ルールが簡単なので人間が文字列に変換する際に複雑な演算が不必要な点にある。
一方、欠点としては元の構造式の向きや置換基が張り出す方向などの構造式を目で見たときの印象が完全に失われる点がある。ほかにも、標準SMILES記法では相対配置も絶対配置も表現することができない。