化学において機械学習を利用する場合、化学構造式をSMILES表記に変換し、モレキュラーフィンガープリントとして利用して学習させることがあります。また、各国の化学品管理で化合物を登録する際に、化合物名やCAS番号とともにSMILES表記を記入するよう求められることがあります。
自分で化学構造式をSMILES表記に変換するのは大変です。そこで、ChemDraw、Marvin Sketchといった構造式描画ソフトや、ChemSpider、PubChemといったサイトを使って簡単に化学構造式をSMILES表記に変換する方法を紹介します。
また、SMILES表記のルールについても説明します。
SMILES表記とは?
SMILES(Simplified Molecular Input Line Entry System)は化合物の構造式を1行の文字列で表現するための線形表記法のひとつです。線形表記法には、SMILES表記のほかにSMARTS表記やInChI表記があります。
SMILES表記は1980年代の終わりにDavid Weiningerにより開発され、その後に多数の人の手で変更あるいは拡張がなされてきました。中でもDaylight Chemical Information Systems社の貢献が大きいです。
SMILES表記は、グラフ理論に基づいた記法です。分子の化学構造を、原子をノード、結合をエッジととらえて表現します。
なぜSMILES表記が必要なのか?
化学構造式は、人間には理解しやすい表現方法ですが、機械には理解しにくい(取り扱いにくい)です。そこで、機械が理解できる(取り扱える)ように化学構造式を文字列に変換したのがSMILES表記です。
化学において機械学習を利用する場合、化学構造式をSMILES表記に変換し、分子記述子(モレキュラーフィンガープリント)として利用して学習させることがあります。
また、SMILES表記は化合物データベースを作る時にも役立ちます。SMILES表記から、化合物の同一性や類似性を判別することができます。
SMILES表記の取得方法
いくつか方法がありますが、ChemDraw、Marvin Sketchといった構造式描画ソフトや、ChemSpider、PubChemといったサイトを利用する方法を紹介します。Marvin Sketchは非商用の場合は無料で使用することができる構造式描画ソフトです。
ChemDrawを使って化学構造式をSMILES表記に変換する方法
- ChemDrawを使ってSMILES表記に変換したい化学構造式を作成します
- 化学構造式を選択し、Edit → Copy As → SMILES をクリックします。
- 望みの場所に貼り付け(ペースト)するとSMILES表記のテキストを取得できます。
Marvin Sketchを使って化学構造式をSMILES表記に変換する方法
- Marvin Sketchを使ってSMILES表記に変換したい化学構造式を作成します
- 化学構造式を選択し、Edit → Copy As SMILES をクリックします。
- 望みの場所に貼り付け(ペースト)するとSMILES表記のテキストを取得できます。
ChemSpiderを使って化学構造式をSMILES表記に変換する方法
- ChemSpiderのページにアクセスします。
- SMILES表記に変換したい化合物を検索します。
- 「More details」の中にSMILES表記が記載されています。
PubChemを使って化学構造式をSMILES表記に変換する方法
- PubChemのページにアクセスします。
- SMILES表記に変換したい化合物を検索します。
- 検索結果の中にSMILES表記が記載されています。
SMILES記法のルール
化学構造をSMILES記法に変換するにはいくつかのルールがあります。主なルールを示します。
- 原子は元素記号で表す
- 水素原子は省略する
- 芳香族原子は小文字表記する(C→c、N→nなど)
- 隣接原子は隣に記す
- 二重結合は「=」で、三重結合は「#」で表す
- 単結合や芳香族結合は省略する
- イオンなどの結合のない部分同士は「.」で分ける
- 分岐構造は主骨格と分岐構造に分け、主骨格に「()」で分岐構造をつけて表す
- 環構造は切断して鎖状構造とし、切断箇所を数字で示す(C1など)
- 同位体は[13C]などのように表す
- 絶対配置は「@」と「@@」で表す
- 二重結合の幾何異性は「/」と「\」で表す
- cis-, trans-などの幾何異性体の場合は「/」や「\」を使用して表す
さらに詳細にルールを知りたい場合はDaylightのサイトをご覧ください。
文章だけではわかりにくいので、SMILES表記と対応する化合物名、化学構造式の具体例を示します。
generic SMILES
原子とそれらの間の結合のみを記述したSMILESをgeneric SMILESと呼びます。どの原子を先頭にして、どの向きに原子を辿り、分岐でどちらを側鎖とみなすかによって、同一の構造に対して複数通りのgeneric SMILESを記述できることがあります。
isomeric SMILES
同位体や不斉中心についての記述を含むSMILESをisomeric SMILESと呼びます。generic SMILESと同様、isomeric SMILESも複数通り記述できることがあります。
canonical SMILES
一定のルールに基づいて化学構造を主骨格と側鎖に分類し、主骨格を読み取る方向を決定することで、ひとつの構造に対してひとつだけのSMILES表記を定めることができます。このSMILES表記をcanonical SMILESと呼びます。
canonical SMILESはMorganアルゴリズムを利用して、化学構造を主骨格と側鎖に分類し、主骨格を読み取る方向を決定します。
Morganアルゴリズムを利用した分子中の原子の優先順位をつける方法は以下の記事をご覧ください。
分子中の原子の優先順位をつけた後は、以下のルールで主骨格と方向を決めます。
- 最も長い経路のうち、優先順位の番号が大きい原子を始点とします
- 最も長い経路が複数ある場合は、優先順位の番号の大きいノードや、質量の軽い重原子が始点になるようにします
- 主骨格以外の重原子は分岐として扱います。
BigSMILES
高分子化合物は従来のSMILESでは表現できませんでした。そこで、繰り返し単位に着目して高分子化合物を表現するためのBigSMILESが開発されました。(文献:BigSMILES: A Structurally-Based Line Notation for Describing Macromolecules https://doi.org/10.1021/acscentsci.9b00476)
まとめ
ChemDraw、Marvin Sketchといった構造式描画ソフトや、ChemSpider、PubChemといったサイトを使って簡単に化学構造式をSMILES表記に変換する方法を説明しました。
また、SMILES表記のルールについても説明しました。