はじめに

こんにちは、MI-6株式会社のささおかです。
皆さんは、SMILES (スマイルス) 記法というものをご存知でしょうか?
ケモインフォマティクスやマテリアルズインフォマティクスの文脈では、デファクトスタンダードな化学構造の線形表記法なのですが、初学者にとってはあまり聞き馴染みがないのでは、と思います。かく言う私も、修士一年生の頃に初めてケモインフォマティクスに身を投ずるまでは、全く存在を知りませんでしたし、関連の論文を読むときは苦労をしたのを覚えています。
というわけで、本記事では、初学者向けにSMILES記法の基本的な部分について解説をし、簡単な分子については自力でSMILES記法で表現できるようになっていただこうと思っています。

ツールの紹介

さて、本題に入る前に、SMILES記法を簡単に試すことができるツールをいくつか紹介します。(MI-6株式会社とは無関係です。)
これにより、実際に手を動かしながらSMILES記法に慣れていただけることを期待しています。

Marvin JS

「左上のフォルダマークをクリック」→「テキストエリアにSMILESを入力」→「'Replace' ('Add') ボタンをクリック」

JSME

「右上の2つの三角マークをクリック」→「'Paste MOL or SDF or SMILES or JME'をクリック」→「テキストエリアにSMILESを入力」→「'Accept'ボタンをクリック」

SMILES記法

SMILES記法とは

SMILES (Simplified Molecular Input Line Entry System) 記法とは、化学構造の線形表記法の一つです。1980年代にDavid Weiningerによって開発されました。難しく言っていますが、要は化学構造を命名する方法の一つと捉えていただければ大丈夫です。
例えば、ベンジルペニシリン分子 (下図) は、CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)Oと表記できます。

このように、一つの化学構造を一行で表記する表記方法を線形表記と呼びます。
ちなみに、線形表記以外には、化学構造中の結合情報や座標情報を行列で表現する、行列表記 (正式名称は不明です…) なんていう表記法もあったりしますが、ここでは詳細は触れません。

線形表記

行列表記

CAS番号

IUPAC命名法

MOLファイル形式

WLN記法

XYZファイル形式

SMILES記法

Z-マトリックスファイル形式

InChI記法

・・・

・・・

なぜSMILES記法が必要なのか

では、なぜSMILES記法が必要なのでしょうか?
その問いに入る前に、前提として、学問の発展のためには、明確で一貫した命名規則の存在が必要不可欠であると言う点を再度確認しておきましょう。

そのような命名規則が存在しない場合、例えば、ある化学構造のことを、ある人はXXと呼び、ある人はYYと呼び、円滑な意思疎通ができなくなってしまいます。呼び方が違うだけならまだましなのですが、あまつさえ、それぞれ逆のものを指したり、同じ呼び方で微妙に異なるものを指したりしたら、もう大変です。(余談ですが、身近な例ですと、シャベルとスコップは関東と関西ではそれぞれ逆のものを指すことが多いみたいですね。)
そういった背景から、化学の世界では、IUPAC命名法という、国際標準の化合物命名規則が古くから確立されてきました (最初の版は1900年らしいです!)。

しかし、そんなIUPAC命名法にも弱点がありました。
それは、コンピュータで扱いづらい、という点です。具体的には、名称と原子・構造情報が直接紐づかない点、命名の際の優先順位が複雑である点などです。そんな中、誕生したのがSMILES記法になります。(SMILES記法の前にも、WLN記法などといったコンピュータで扱いやすい線形表記法があったらしいのですが、今ではほとんど使われていない印象です。)

SMILES記法の特徴として、化学者にとってもコンピュータにとっても読みやすく、複雑な化学構造でもそこまで表記が長くならない、といった点が挙げられます。そういった扱いやすさから、化学構造の線形表記法のデファクトスタンダードになったのではないかと思います。

SMILES記法のルール

閑話休題、SMILES記法のルールについて述べましょう。
SMILES記法には、色々と細かいルールがありますが、概ね下記の5つのルールを抑えておけば、まずは問題ないと思います。また、それぞれのルールには簡単な練習問題も附していますので、是非考えてみてください。

ルール1. 原子

まずは、原子に関するルールです。
SMILES記法では、原子は基本的に元素記号そのもので表現します。また、重要な点なのですが、原子には暗黙的に原子価に応じた数の水素原子が結合していると考えます。
例えば、C、O、Nは、それぞれメタン分子、水分子、アンモニア分子を表します。
ただし、organic subset (B, C, N, 0, P, S, F, Cl, Br, I) 以外の原子の場合は、ブラケット ([, ]) で囲む必要があります。例えば、金を表す場合は、[Au]と書きます。(organic subsetの原子もブラケットで囲めますが、その場合は暗黙的な水素付与は行われません。)


練習問題

  1. SMILES記法で、Sが表すものは次のうちどれか。
    a)硫黄原子 (S)
    b)硫化水素分子 (H2S)
  2. Caは、SMILES記法でみたとき有効か。
    a)有効である
    b)有効でない

正解

  1. b)原子には暗黙的に原子価に応じた数の水素原子が結合していると考えます。
  2. b)organic subset以外の原子の場合は、ブラケットで囲む必要があります。

ルール2. 結合

次に、結合に関するルールです。
結合は、それぞれ単結合 (-)、二重結合 (=)、三重結合 (#)、芳香族性の結合 (:) の4種類があります。(芳香族の結合については、ルール5で再度振り返ります。)
ただし、単結合 (-) と芳香族性の結合 (:) は省略することができます。


例えば、C-CとCCはともにエタン分子 (下図1) を表し、C=C、C#Cは、それぞれエチレン分子 (下図2)、アセチレン分子 (下図3) を表します。
また、もう少し複雑な分子を例に挙げると、CCCCCCCC、CCC=CCC、C=CC#Nは、それぞれオクタン分子 (下図4) 、3-ヘキセン分子 (下図5) 、アクリロニトリル分子 (下図6) を表します。


練習問題

  1. SMILES記法で、CC=Oが表すものは次のうちどれか。
    a)アセトアルデヒド分子 (下図1)
    b)エタノール分子 (下図2)
    c)酢酸分子 (下図3)
  2. 1-プロパノール分子 (下図4) を、SMILES記法で表したとき、適切なものをすべて選べ。
    a)CCCO
    b)COCC
    c)CH3CH2CH2OH
    d)O-CCC
  3. SMILES記法で、CC=COCと同じ化学構造を表すものをすべて選べ。

    a)CC=CCO
    b)C-OC=C-C
    c)C#CCO-C

正解

  1. a
  2. a, d(bはメトキシエタン分子を表し、cはSMILES記法としては有効ではありません。 dは、一部の単結合のみ省略をしていませんが、このような書き方も可能です。 また、この問いのように、SMILES記法では、同じ化学構造でも複数の書き方で表すことができる点も抑えておきましょう。
  3. b

ルール3. 分岐

ルール2まででは、枝分かれが存在する構造を表現することができません。
例えば、酢酸分子は下図赤丸でハイライトされている炭素原子で枝分かれ構造が生じており、ルール2まででは表現できません。

そこで登場するのが、ペアレンシス ((, )) です。
これによって、例えば酢酸分子は、CC(=O)Oと表現することができます。もう少し詳しく仕組みを見ると、下図のように枝分かれが発生した箇所で任意の枝部分をペアレンシス内に書き、残りの枝部分をその後に書く、ということを行います。

他の例を挙げると、O=C(N)C、FC(F)(F)(F)、O(C)C、CC(=O)OC(COC(=O)C)COC(C)=Oは、それぞれアセトアミド分子 (下図1)、四フッ化炭素分子 (下図2)、ジメチルエーテル分子 (下図3)、トリアセチン分子 (下図4) を表します。
上の2つ目の例では、最後のFはペアレンシスで囲む必要はありませんが、囲んで表現してもOKです。また、上の3つ目の例では、本来枝分かれがない化学構造ですが、無理やり分岐があるように表現することもできます。更に、上の4つ目の例のようにペアレンシスを入れ子にすることも可能となっています。

練習問題

  1. グリセロール分子 (下図) を、SMILES記法で表したとき、最も適切なものを選べ。
    a)C(O)(CO)(CO)
    b)OCCOCO
    c)OC(O)CCO
  2. 1-プロパノール分子 (下図) を、SMILES記法で表したとき、最も適切なものを選べ。
    a)CC(C)O
    b)CC(O)C
    c)C(O)C(C)

正解

  1. a
  2. c

ルール4. サイクル

ルール3までで、ある程度の化学構造を表現できますが、サイクルの存在も忘れてはいけません。

例えば、シクロヘキサン分子 (下図) のようにサイクルが存在する場合は、どうしてもルール3まででは表現できません。このときに使うのが、番号のペアです。これによって、シクロヘキサンは、C1CCCCC1と表現することができます。

このルールも、もう少し詳しく見てみましょう。
サイクルを表現するときは、下図のようにサイクルの一部を切断して考え、切断された化学構造をルール3までの内容で表現します。ただし、このとき、切断によって生じた2つの端点の原子の直後に、同じ番号 (ここでは1) を付与します。(付与する番号は任意ですので、例えばC5CCCCC5やC9CCCCC9なども、同じくシクロヘキサン分子を表します。)

また、サイクルが2つ以上存在するときは、場合によっては1つの原子に2つ以上の番号を付与することも可能です。

例えば、デカリン分子のSMILES表記を考えるときは、下図のようにできます。

更に、場合によっては番号を使い回すことも可能です。
例えば、ビシクロヘキシル分子のSMILES表記を考えるときは、下図のようにできます。

ただし、この場合は、SMILES表記を左から順に読んでいき、一番最初に現れる同じ番号同士をマッチングさせる点に注意しましょう。
他の例としては、C1COCCOCCOCCOCCOCCO1、C1=CC=CC=C1、C1=CC=C2NC=CC2=C1は、それぞれ18-クラウン-6分子 (下図1)、ベンゼン分子 (下図2)、インドール分子 (下図3) を表します。


練習問題

  1. ホスホール分子 (下図1) を、SMILES記法で表したとき、最も適切なものを選べ。

    a)C1(P)=CC=C1
    b)PC=CC=C
    c)C(P1)=CC=C1

  2. キノリン分子 (下図2) を、SMILES記法で表したとき、適切なものをすべて選べ。

    a)C1(=C2C=CC=C1)C=CC=N2
    b)C12=NC=CC=C2C=CC=C1
    c)N5=CC=CC9=CC=CC=C95

正解

  1. c
  2. a,b,c(それぞれ異なる極限構造式で表現していますが、全てキノリン分子を表します。)

ルール5. 芳香族

最後に、芳香族性の原子と芳香族の結合に関するルールについて述べます。

ただし、芳香族性の詳細については触れず、SMILES記法での扱い方についてのみ述べます (芳香族について厳密性と包括性を兼ね備えた定義ができないため)。といっても、ルールはシンプルで、それは芳香環を構成する原子 (C, N, O, P, S, As, Se (, 実装によってはB)) は小文字にする、というルールです。

例えば、ベンゼン分子 (下図1) は、極限構造式に対応するSMILES表記は、C1=CC=CC=C1ですが、芳香族性を明示してc1ccccc1やc1c:c:c:cc1などと書けます。(ルール2で出てきた、芳香族性の結合 (:) を使っています。芳香族性の結合は、省略可能であることを思い出してください。)

他の例を挙げると、c1ccncc1、c1ccc2c(c1)oc1ccccc12、c1cc2ccc3cccc4ccc(c1)c2c34は、それぞれピリジン分子 (下図1)、ジベンゾフラン分子 (下図2)、ピレン分子 (下図3) を表します。


練習問題

  1. トロポン分子 (下図) を、SMILES記法で表したとき、最も適切なものを選べ。

    a)O=c1cccccc1
    b)O=C1CCCCCC1
    c)Oc1ccccc1

  2. ナフタレン分子 (下図) を、SMILES記法で表したとき、適切なものをすべて選べ。

    a)C1(=C2C=CC=C1)C=CC=C2
    b)c1(:c2c:cc:c1)c:cc:c2
    c)c1(:c2c:cc:cc1)c:c:c2

正解

  1. a
  2. a, b

その他のルール

上記以外のルールとして、ステレオケミストリー、同位体、電荷等に関するルールも存在しますが、最初はこれらは知らなくても問題ないと思いますので、また別の機会に解説できればと思います。


練習問題

さて、ここで上記で学んだ全てを使った練習問題を問いてみましょう。

下記それぞれを、SMILES記法で表せ。

  1. ヘキサメチルリン酸トリアミド分子 (上図1)
  2. アセチルサリチル酸分子 (上図2)
  3. ピナコールボラン分子 (上図3)
  4. トリフェニルアミン分子 (上図4)
  5. アズレン分子 (上図5)

正解

  1. O=P(N(C)C)(N(C)C)(N(C)C)など
  2. c1c(C(=O)O)c(OC(=O)C)ccc1など
  3. B1OC(C)(C)C(C)(C)O1など
  4. N(c1ccccc1)(c1ccccc1)(c1ccccc1)など
  5. c1c2cccc2cccc1など

別解は、紹介したツール等で確かめてみてください。

発展

本記事で紹介しきれなかった発展的内容として、Canonical SMILES, Reaction SMILES、Big SMILES、SMARTS記法、SELFIESなどがあります。
これらに関しても、機会があればおいおい解説したいと思います。

終わりに

いかがだったでしょうか?
本記事では、簡単な分子については自力でSMILES記法で表現できるようになってもらうことを目標に、SMILES記法の解説とチュートリアルを中心にお話しました。
ご意見・ご感想や、誤りを発見された方はコメント欄にその旨を記入頂けると大変助かります。本記事が、皆様にとって少しでもお役に立てていれば幸いです。

参考文献