SMILES　化合物構造を文字列でPythonに入力する方法

# はじめに
こんにちは、@sasshi_iです。

ケモインフォマティクスの分野では、化合物の構造を計算機に入力するため様々な表現方法があります。

今回は文字列で分子構造を表現するSMILESについて紹介します。

# SMILESとは?
## 概要
SMILES（Simplified Molecular Input Line Entry System）は、**分子の構造を表現するために文字列を使用する表記法**です。

1980年代に開発されたこの表記法は、分子や化学反応をコンピュータプログラムに簡単に入力し、保存するために広く使用されています。

例えば、解熱鎮痛薬のバファリンの成分であるアスピリンはSMILESだと `CC(=O)Oc1ccccc1C(=O)O`と表現されます。

SMILESはrdkitを用いてプログラムに入力できます。
rdkitはケモインフォマティクスの分野で広く使用されるpythonのライブラリです。

```python
from rdkit import Chem
Chem.MolFromSmiles('CC(=O)Oc1ccccc1C(=O)O')
```
![スクリーンショット 2024-04-23 181453.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/a276d49a-cc9e-9b1e-0003-08a1ac4850f9.png)

それでは、SMILESがどのような文法で化合物を表現しているか説明していきたいと思います。

## 基本規則
SMILESは下記のルールに則って分子構造を表現します。
* 原子は原子記号により表示(ex. 炭素はC, 水素はHなど)。2文字の元素で紛らわしいもの（NbとNBなど）は[Nb]のように囲む
* 水素原子は基本的に省略する
* 隣り合う原子は互いに隣り合うように書く
* 単結合は省略する
* 二重結合は"="、三重結合は"#"で表す
* 分岐は括弧により表示する
* 環は接続している2つの原子に数値を割る当てることによって記述
* 芳香族部分構造は、関係する原子を全て小文字で表記する
* イオンなどの結合のない部分同士は「.」で分ける

上記のルールだけだとわかりにくいと思うので、具体例を示します。

![スクリーンショット 2024-04-23 233605.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/af1d0519-0401-dcec-bd14-d7ea3d675195.png)


## 立体異性体の表現
化合物には **立体異性体**と呼ばれる関係の化合物が存在します。立体異性体は分子式と原子間の結合パターンが同じだが、空間的な配置が異なる化合物のことです。

立体異性体は、さらに**幾何異性体**と**鏡像異性体**に分けられます。

### 幾何異性体
#### 幾何異性体とは
幾何異性体とは、特定の結合周りの原子の相対的な位置が異なるために生じる異性体です。

例えば、1,2-ジブロモエチレンは分子式で表すと`CH2Br2`です。

しかし、臭素(Br)が二重結合の炭素で反対方向に結合しているものがtrans-1,2-ジブロモエチレン、同じ方向に結合しているものをcis-1,2-ジブロモエチレンと呼び、異なる化合物になります。

![スクリーンショット 2024-05-02 000735.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/b8a222d8-ff74-8734-d117-62fdb5b29aba.png)

このように、特定の結合周りの原子の相対的な位置が異なる化合物を**幾何異性体(シス-トランス異性体)と呼びます**。

#### 幾何異性体のSMILES表記
幾何異性体は`/`と`\`を用いて表現します。
先ほどのtrans-1,2-ジブロモエチレンは`Br\C=C\Br`、cis-1,2-ジブロモエチレンは`Br/C=C\Br`と表現します。

![スクリーンショット 2024-05-02 003150.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/052218b0-c387-3750-bd73-645654aca13b.png)

### 鏡像異性体
#### 鏡像異性体とは
鏡像異性体とは、鏡に映したように左右が逆になった関係の化合物です。

![スクリーンショット 2024-05-02 115227.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/fb88dfd7-13e7-2eb6-c4ce-8bc95b437a3e.png)

右手と左手のように左右逆の作りになっているイメージです。親指や人差し指などついている指は同じですが、右手と左手は重ね合わせることができません。

なお、化合物表記中のくさび形の太線は**平面より上に飛び出ている**ことを表しています。また、破線は**平面より下に出ている**ことを表します。

今見ているPCの画面を平面と捉えると、くさび形の太線は画面より前に飛び出ていることを表します。

破線は画面より奥に飛び出ていることを表します。

![スクリーンショット 2024-05-02 121024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/74355418-808b-d16b-2f91-201684d3bb4e.png)

#### 鏡像異性体のSMILES表記
鏡像異性体は`@`と`@@`を用いて表現します。
例えば、アミノ酸の1種のアラニンはL-アラニンとD-アラニンの鏡像異性体が存在します。
L-アラニンは`N[C@@H](C)C(=O)O`、D-アラニンは`N[C@H](C)C(=O)O`と表現されます。

![スクリーンショット 2024-05-07 182116.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324032/cb0cb584-7e69-1fde-2537-a7b54add9ff5.png)


#### 鏡像異性体の重要性
鏡像異性体は、特に薬学や生物学の分野で重要です。

異なる鏡像異性体は、生体内で異なる生物学的活性を示すことがあります。

例えば、胎児に重篤な奇形をもたらすサリドマイドという薬は鏡像異性体が存在します。鏡像異性体うち、左手型にのみ奇形が発生することが知られています。(サリドマイドの場合は、体内で代謝される過程で右手型と左手型の混合化合物になるため、右手型だけ摂取しても奇形の原因になりうる)

https://www.nitech.ac.jp/news/press/2018/7114.html

このように鏡像異性体は異なる生理活性を発現することがあります。

## SMILESの種類
SMILESは`Generic SMILES`、`Isomeric SMILES`、`Canonical SMILES`にわけられます。

### Generic SMILES
原子とそれらの結合のみを記述したSMILESは**Generic SMILES**と呼ばれます。

### Isomeric SMILES
下記情報を加えたSMILESを**Isomeric SMILES**と呼びます。
* `@`、`@@`による立体の絶対配置
* `/`、`\`による幾何異性
* 同位体(ex. [13C])

### Canonical SMILES
SMILESをの書き方をルールに従って変換し、化合物に対して一意のSMILESで表現したものをCanonical SMILESと呼びます。

SMILESは1つの化合物に対して複数の書き方が存在するという課題があります。この課題を解決するためにCanonical SMILESが考案されました。


## おわりに
今回は化合物を文字列で表現するSMILESについて解説しました。他にもSDF, 分子フィンガープリントなどの化合物表現方法があります。

これらについても別記事で解説していきたいと思います。

# 関連記事
https://qiita.com/sasshi_i/items/0aba4078a98f559bee68