化学と情報科学が交差する領域では,分子構造をコンピュータで扱うための「言語」が欠かせません.その代表例が SMILES記法 です.
SMILESは Simplified Molecular Input Line Entry System の略で,1980年代後半にDavid Weiningerによって提案されました.分子の構造を一行の文字列として表すための記法であり,化学データベース,ケモインフォマティクス,AI創薬,分子生成モデルなどで広く利用されています.
例えば,エタノールは化学式では CH3CH2OH と表されますが,SMILESでは次のように書けます.
CCO
これは,炭素,炭素,酸素が順に単結合でつながっていることを意味します.SMILESの強みは,人間にも比較的読みやすく,コンピュータにも処理しやすい ことです.MOLファイルやSDFのような形式は詳細な構造情報を保持できますが,大量の分子を一覧化したり,機械学習モデルに入力したりする場面では,SMILESの簡潔さが大きな利点になります.
1.SMILESの基本文法
SMILESでは,原子,結合,枝分かれ,環構造などを組み合わせて分子を表します.基本的な記号は次の通りです.
| 要素 | 表し方 | 例 | 意味 |
|---|---|---|---|
| 原子 | 元素記号 | C, O, N |
炭素,酸素,窒素 |
| 単結合 | 通常は省略 | CC |
炭素同士の単結合 |
| 二重結合 | = |
C=C |
エチレン |
| 三重結合 | # |
C#C |
アセチレン |
| 枝分かれ | () |
CC(C)C |
イソブタン |
| 環構造 | 数字 | C1CCCCC1 |
シクロヘキサン |
| 芳香族原子 | 小文字 | c1ccccc1 |
ベンゼン |
有機化学でよく使われる B,C,N,O,P,S,F,Cl,Br,I などは,角括弧なしで記述できます.これらの原子では,標準的な原子価に基づいて水素原子が暗黙に補われます.
例を挙げると,次のようになります.
| 分子 | SMILES | 補足 |
|---|---|---|
| メタン | C |
炭素に水素4個が暗黙に付く |
| エタン | CC |
炭素2個が単結合 |
| エタノール | CCO |
炭素,炭素,酸素が直鎖状に接続 |
| 酢酸 | CC(=O)O |
カルボニル基とヒドロキシ基を含む |
一方,電荷,同位体,金属原子,通常とは異なる原子価を明示したい場合には,角括弧を使います.
- ナトリウムイオン:
[Na+] - 鉄(II)イオン:
[Fe+2] - アンモニウムイオン:
[NH4+]
2.枝分かれ,環構造,芳香族性
枝分かれは丸括弧で表します.例えば,イソブタンは次のように書けます.
CC(C)C
これは,主鎖の炭素からメチル基が分岐していることを示します.
環構造では,同じ数字を2か所に付けることで,環が閉じる位置を表します.
C1CCCCC1
これはシクロヘキサンを表します.最初と最後の炭素に付いた 1 が,その2つの原子が結合して環を形成していることを示します.
ベンゼンは,ケクレ構造として次のように書けます.
C1=CC=CC=C1
一方,芳香族性を明示する場合には,小文字の c を使って次のように書かれます.
c1ccccc1
ただし,芳香族性の判定は完全に一意ではありません.RDKit,Open Babel,Daylightなどのソフトウェア間で,芳香族性の認識や正規化結果が異なる場合があります.そのため,研究やデータ処理でSMILESを使う際には,使用したツールやバージョンを記録しておくことが重要です.
3.立体化学の表現
SMILESは,原子の接続情報だけでなく,一部の立体化学も表現できます.
| 立体情報 | 記号 | 内容 |
|---|---|---|
| キラル中心 | @, @@ |
四面体中心の局所的な向き |
| 幾何異性 | /, \ |
二重結合まわりの相対配置 |
キラル中心では,@ または @@ を使います.ただし,これらはそのままR/S配置を意味する記号ではありません.SMILES中で隣接原子が現れる順序に基づく局所的な立体表現であり,R/S配置を判断するにはCIP順位規則を別途考慮する必要があります.
二重結合まわりの幾何異性は,/ と \ によって表されます.
Cl/C=C/Cl
Cl/C=C\Cl
これらは,1,2-ジクロロエチレンの異性体を区別する表記です.ただし,/ や \ も文字列全体の文脈で解釈されるため,記号単独で意味を判断することはできません.
4.Canonical SMILESの重要性
SMILESの重要な注意点は,同じ分子に複数の書き方が存在する ことです.
例えば,エタノールは次のどちらでも表せます.
CCO
OCC
どちらも同じ分子ですが,文字列としては異なります.このままでは,データベース検索や重複除去で問題が生じます.
そこで使われるのが Canonical SMILES です.
| 項目 | 内容 |
|---|---|
| 目的 | 同じ分子を同じ文字列として扱いやすくする |
| 方法 | 分子グラフの原子に順位を付け,代表的なSMILESを生成する |
| 利点 | 重複除去,検索,データ整理に有用 |
| 注意点 | 出力はソフトウェア実装に依存する |
Canonical SMILESは非常に便利ですが,完全に国際標準化された唯一の文字列ではありません.RDKit,Daylight,Open Babelなどで,出力される正規化SMILESが異なる場合があります.したがって,研究で使う場合には,どのソフトウェアで正規化したかを明記することが望まれます.
5.InChIとSELFIESとの違い
分子を文字列で表す方法は,SMILESだけではありません.代表的なものに InChI と SELFIES があります.
| 表記法 | 主な用途 | 長所 | 注意点 |
|---|---|---|---|
| SMILES | 構造記述,検索,機械学習 | 短く,可読性が比較的高い | 無効な文字列が生成され得る |
| InChI | 化合物識別,標準化 | 識別子として強力 | 人間には読みにくい |
| SELFIES | 分子生成,機械学習 | 原則として有効な分子を生成しやすい | 文字列が長くなりやすい |
InChI(International Chemical Identifier) は,IUPACが主導して開発した化学物質識別子です.原子,結合,水素,電荷,立体化学,同位体などをレイヤー構造で記述し,化合物を標準的に同定する目的に向いています.一方で,人間が直感的に読むには適していません.
SELFIES(SELF-referencIng Embedded Strings) は,機械学習,特に分子生成モデルを意識して提案された表記法です.SMILESでは,AIが文法的に誤った文字列や化学的に不適切な分子を生成することがあります.これに対して,SELFIESは任意のSELFIES文字列が原則として有効な分子に対応するよう設計されています.
6.AI創薬と機械学習への応用
SMILESは文字列であるため,自然言語処理で発展した手法を化学に応用しやすいという特徴があります.RNN,VAE,Transformerなどのモデルに大量のSMILESを学習させることで,モデルは「化学的に妥当な文字列」のパターンを学習します.
主な応用例は次の通りです.
| 応用分野 | 内容 |
|---|---|
| 分子生成 | 既存化合物から新規分子候補を生成する |
| 物性予測 | 溶解性,膜透過性,毒性などを予測する |
| 活性予測 | 標的タンパク質への結合や薬理活性を予測する |
| 逆合成解析 | 目的分子から合成経路や前駆体を予測する |
化学反応を扱う場合には Reaction SMILES が使われます.基本形式は次の通りです.
reactants>agents>products
agent欄を使わない場合には,次のように書かれます.
reactants>>products
逆合成解析では,目的分子のSMILESから,それを合成するための前駆体や反応経路を予測します.これは,生成物の文字列を反応物の文字列へ「翻訳」する問題として扱うこともできます.
7.MolSketchではSMILESから構造式を自動生成できる
SMILESは,研究や開発の現場では「保存用の文字列」としてだけでなく,構造式を素早く呼び出すための入力形式 としても重要です.
MolSketch では,SMILES を入力することで,対応する化学構造式を自動生成できます.すでに論文,データベース,社内資料,あるいは他ツールから SMILES が手元にある場合,それをそのまま使って構造式の作成を始められます.
例えば,次のような流れが可能です.
- 手元にある SMILES をコピーする
- MolSketch の入力欄に貼り付ける
- 構造式を自動生成する
- 必要に応じてそのまま編集,保存,エクスポートする
このように,MolSketch では「文字列としての化学情報」と「図としての化学構造式」をつなげることができます.最初から手で描かなくても,SMILES から出発して必要な箇所だけ整える方が効率的な場面は多くあります.
特に,次のような用途と相性が良いです.
- 論文やデータベースで見つけた化合物をすぐ図にしたい
- 既存の分子をベースに少しだけ修正したい
- プレゼン資料やレポート用に構造式画像を作りたい
SMILES の意味を理解しておくと,単なる文字列入力ではなく,「化学情報をそのまま編集可能な構造式に変換する入口」として活用できます.
8.SMILESを使う際の注意点
SMILESは便利ですが,万能ではありません.特に次の点には注意が必要です.
- 同じ分子に複数のSMILESが存在する.
- Canonical SMILESはソフトウェア実装に依存する.
- 芳香族性の判定はツールによって異なる.
- 立体化学が省略されると,異性体を区別できない.
- 通常,3D座標や配座情報は含まれない.
- 塩,溶媒,プロトン化状態,互変異性体の扱いで結果が変わる.
SMILESは主に分子グラフと一部の立体化学情報を表す形式です.タンパク質との結合様式,分子の立体配座,溶媒効果などが重要な場合には,SDF,MOL2,PDBなどの形式や,3D構造生成手法を併用する必要があります.
まとめ
SMILES記法は,分子構造を一行の文字列で表すための簡潔で強力な化学言語です.原子,結合,枝分かれ,環構造,芳香族性,立体化学を短い文字列で表現できるため,化学データベース,ケモインフォマティクス,AI創薬,分子生成モデルなどで広く利用されています.
一方で,SMILESには次のような限界もあります.
| 限界 | 補足 |
|---|---|
| 複数表記 | 同じ分子を複数の文字列で表せる |
| 実装依存 | Canonical SMILESや芳香族性判定がツールで異なる |
| 立体情報の省略 | 異性体を区別できない場合がある |
| 3D情報の不足 | 座標や配座は通常含まれない |
現代のデータ駆動型化学において,SMILESは分子をコンピュータが読み書きするための基本的なインターフェースです.化学者が構造式を描くように,AIはSMILESを通じて分子を学習し,新しい候補化合物を探索します.SMILESの理解は,化学,生命科学,材料科学,AI創薬に関わる研究者にとって,今後ますます重要な基礎知識になるでしょう.
参考文献
- Weininger, D. "SMILES, a chemical language and information system. 1. Introduction to methodology and encoding rules." Journal of Chemical Information and Computer Sciences, 28(1), 31–36, 1988.
- Weininger, D., Weininger, A., Weininger, J. L. "SMILES. 2. Algorithm for generation of unique SMILES notation." Journal of Chemical Information and Computer Sciences, 29(2), 97–101, 1989.
- Heller, S. R. et al. "InChI, the IUPAC International Chemical Identifier." Journal of Cheminformatics, 7, 23, 2015.
- Krenn, M. et al. "SELFIES: a robust representation of semantically constrained graphs with an example in chemistry." Machine Learning: Science and Technology, 1(4), 045024, 2020.
- Gómez-Bombarelli, R. et al. "Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules." ACS Central Science, 4(2), 268–276, 2018.