【PyMol+Chimera+AutoDock Vina】フリーソフトで雰囲気SBVSをやった時のメモ

# 1. SBVSってなに？
Structure-based virtual screeningの頭文字をとって(SBVS). Structure-based drug design (SBDD)の１分野で, 受容体タンパク質(薬の標的タンパク質)側の構造情報を元に親和性の高い薬をスクリーニングする手法です. 
標的タンパク質を”鍵穴”, 医薬品候補化合物(リガンド)を”鍵”とした鍵と鍵穴問題として例えられる医薬品開発において, 鍵穴の情報であるタンパク質の立体構造を顕に扱うSBDDは創薬研究者にとって有用な数々の情報をもたらすそうです.
SBVSにおいて特に重要な役割を果たす手法は, 計算機によって標的タンパク質とリガンドの立体的な結合構造と結合親和性を予測するドッキング計算です.　例えば新型コロナウイルス(COVID-19)の治療薬候補を絞り込んだ時もこのドッキング計算が用いられました.

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ホモロジーモデリング → ドッキング → MD とやって低分子の承認薬 1903 個の中から 2019-nCoV Mpro 酵素に阻害活性のありそうな薬剤を絞り込んだ報告。ドッキングは正直、当たるも八卦 当たらぬも八卦なところもあるが、お手本的な手順を踏んでいて勉強になるのでちょっと見てみよう。 <a href="https://t.co/oCDvcjbno3">https://t.co/oCDvcjbno3</a></p>&mdash; 叢雲くすり(創薬ちゃん)💉 ㋻済 (@souyakuchan) <a href="https://twitter.com/souyakuchan/status/1222572969794211840?ref_src=twsrc%5Etfw">January 29, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<br>
[タンパク質－リガンドドッキングの現状と課題[1]](https://www.jstage.jst.go.jp/article/cicsj/34/1/34_10/_article/-char/ja)によると, ドッキングは以下のような利点があるそうです.
>ドッキング計算によってリード化合物の結合構造を正しく特定することができれば，標的タンパク質に対するリガンドの相互作用機序を*原子レベルで理解*することができる．さらにこれらの立体的な結合構造の情報を利用することによって， *医薬品候補化合物の結合親和性や選択性向上のための合理的な置換基の設計*も可能となる．

タンパク質は多数の分子で構成されているため, その立体構造をコンピュータにより計算しようとすると多くの計算コストを要します. そのため, ドッキング計算には以下のような簡略化のタイプがあるようです.

1. **Rigid Docking**: 鍵と鍵穴モデル(Lock-and-Key Model)に従い, タンパク, リガンド共に剛体として扱う.
2. **Flexible Docking**: リガンド側のみ柔軟性を考慮（タンパク質は剛体, Flexible Ligand Model）
3. **Flexible Side-Chains Docking**: リガンドに加えて結合ポケットのアミノ酸側鎖の自由度も考慮（Paritally Flexible Protein Model）
4. **Flexible Protein Docking**: タンパク、リガンド共に柔軟性を考慮（Induced-Fit Model）

# 2. スコア関数
ではどうやって最適なドッキング状態の計算を行うのか? ドッキング計算の手法には様々なアプローチが存在しますが, 共通する2つの目的は**標的タンパク質に対するリガンドの結合構造**と, **標的タンパク質に対するリガンドの結合親和性**を高速に予測することです． この目的を達成するために, ドッキングプログラムには高精度なスコア関数と効率的な探査アルゴリズムが必要とされます.
### 2.1.力場に基づいたスコア関数(force-field-basedscoring function)
力場に基づいたスコア関数では, タンパク質―リガンド原子間の相互作用はファンデルワールス相互作用 (vdW) や静電相互作用, これらに溶媒効果やリガンドの内部ポテンシャルの変化を記述したものによって表されるそうです. 以下のような物理化学的相互作用を考慮します.
$$
\Delta G = \Delta E_{vdw} + \Delta E_{electrostatic} + \Delta E_{H-bond} + \Delta E_{desolvation} +\Delta S_{conf}
$$

* **$\Delta G$**:自由エネルギーの変化量
* **$\Delta E_{vdw}$**: ファンデルワールス相互作用
* **$\Delta E_{electrostatic}$**: 静電相互作用
* **$\Delta E_{H-bond}$**: 水素結合による相互作用
* **$\Delta E_{desolvation}$**: 脱溶媒効果
* **$\Delta S_{conf}$**:リガンドのエントロピー変化の項

$\Delta E_{vdw}, \Delta E_{electrostatic}, \Delta E_{H-bond}$は直感的にも納得できるエネルギー項だと思いますが, $\Delta E_{desolvation}$と$\Delta S_{conf}$はなんでしょうか？ リガンドがタンパク質に結合するにあたって, 溶媒（水）に囲まれた環境から, 溶媒が外れ（脱溶媒）タンパク質の結合サイト（より疎水性の高い環境）に移行するという過程をたどると考えます. この時のエネルギー変化を考慮するためのものが$\Delta E_{desolvation}$. また, 溶液中では自由な立体構造（配座、コンフォメーション）をとっているリガンドが, 結合に際してがポケットに合うように固定化されこの自由度が失われます. この分のエントロピー変化を考慮するものが$\Delta S_{conf}$となっているようです.
これらのエネルギー変化量を考え, $\Delta G$が負に大きいとき, それがより安定な構造であると考えられます.
それぞれの項のイメージは[What is Docking?](https://dasher.wustl.edu/chem478/lectures/lecture-21.pdf)にわかりやすくまとまっております.
![スクリーンショット 2021-05-28 17.02.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/b69bf9e0-0a31-954b-1f9f-1dda0d573bf5.png)
![スクリーンショット 2021-05-28 17.02.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/c3a80c23-746e-2503-6f4c-2929594642c9.png)
![スクリーンショット 2021-05-28 17.02.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/dd689d20-83e7-6014-13b8-631ec24528c8.png)
![スクリーンショット 2021-05-28 17.02.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/39ea0551-c9c6-8b9d-2f01-ffcc366cd53e.png)
スコア関数は他にも色々あるらしいが詳しくは触れない.

# 3. Docking Study
### 3.1. 準備 (Macの場合)
* **PyMol**: 使えればなんでも問題ありませんが, 自分は[GitHub](https://github.com/schrodinger/pymol-open-source)からcloneしてビルド＆インストールをした, オープンソースのPyMolを使用しました.インストール方法はGitHubと[ここ](https://pymolwiki.org/index.php/Linux_Install)に従えばできると思います.
* **Chimera**: ドッキングの前処理に使います.[ここ](https://www.rbvi.ucsf.edu/chimera/download.html)からダウンロードしてインストール 
* **AutoDock Vina**: ドッキングに用います. [ここからダウンロード](http://vina.scripps.edu/download.html)
* **SARS-Cov-1のMain proteaseの共結晶構造**: このタンパク質(PDB ID: 2GZ7)は2021年現在を世界を大きく騒がせているSARS-Cov-2(通称COVID-19)のMain proteaseと相同性が非常に高い. 右上のボタンからpmdファイルを[ダウンロード](https://www.rcsb.org/structure/2GZ7)

### 3.2. ドッキングに向けての前処理 I 【PyMol】
#### 3.2.1. 共結晶構造から標的タンパク質とリガンドを単離する
使うのはPyMolとダウンロードしてきた2gz7.pdbファイル.
前処理のベストプラクティスは正直よく知らない. 今回は共結晶構造から水分子を取り除き, 受容体(標的タンパク質)とリガンドに分割してそれぞれpdbファイルとして保存した.

1. PyMolのコマンドラインに```remove solvent```を入力して水を除去
2. 水除去後の構造
3. リガンドをクリックしてremove→pdbファイルとして受容体を保存
4. 「File」→「Reinitialize」→「Everything」してもう一度2gz7.pdbを読み込む. 再度```remove solvent```で水を除去し, リガンドをクリック→「action」→「invert」→「with object」で選択を反転
5. remove
6. リガンドをpdbファイルとして保存
![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/b513a7e3-b5a0-3520-8531-b428b7cbe6e8.png)

#### 3.2.2. ドッキングの中心座標を取得する
共結晶構造のリガンドがはまっていた座標をドッキングの中心座標にしたい.
リガンドのpdbファイルを開く.
リガンドをクリック
以下のコマンドをうつ

```
pseudoatom center_, sele
``` 
```
xyz = cmd.get_coords('center_', 1)
```
```
print xyz
```
↓実行結果↓

```
[[-24.638144  -41.232357    5.4246078]]
```
この座標を覚えておく.

### 3.3. ドッキングに向けての前処理 II 【Chimera】
#### 単離した受容体とリガンドに水素を付加し, 電荷を割り当てる
このチャプターでは**Chimera**を用います.
1. Chimera起動
2. 「File」→「Open」→先ほど作成した受容体のpdbファイルを開く
![image_receptor_chimera.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/2ea1593c-dbe8-dbef-b4df-15ba59ca74f2.png)
3. 「Tools」→「Dock Prep」
![スクリーンショット 2021-05-28 15.01.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/383bb9ce-9e90-226f-9b94-f068036bcf7f.png)
4. 「Delete solvent」, 「Add hydrogens」, 「Add charges」 にチェックが入っていることを確認して**Mol2**ファイルに書き出します
![スクリーンショット 2021-05-28 15.02.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/48fb0d4a-0733-a848-dd05-c44495cdd7fc.png)
5. Add Hydrogens for Dock Prep とかいうウィンドウが出てくるのでOK
6. Assign Charges for Dock Prep とかいうウィンドウが出てくるのでOKを押してmol2ファイルを生成します.
6. リガンドのpdbファイルに関しても同様に水の除去と水素付加, 電荷の割り当てを行い, mol2ファイルを生成します.

### 3.4. ドッキングシミュレーション
準備は整いましたのでドッキングを行います.
一旦Chimeraの「File」→「Close Session」によりセッションを終了し, 先ほど前処理した**受容体のmol2ファイル**と**リガンドのmol2ファイル**の両方をChimeraで開きます.
以下のような画面になります.
![スクリーンショット 2021-05-28 15.07.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/ed47fe78-165d-aaa9-3c57-ce9a0026827a.png)
「Tools」→「Surface/Binding Analysis」→「AutoDock Vina」を選択し, 以下の画面のように設定します.
![スクリーンショット 2021-05-28 20.29.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/4597eb40-5267-c7dd-f42c-b512689d0f13.png)

**要確認事項**

* Receptorには前処理した受容体が選択されているか？
* Ligandには前処理したリガンドが選択されているか？
* Centerには先ほどPyMolで出力した座標が入っているか？
* Localのチェックボックスにチェックを入れ, AutoDock Vina由来の/bin/vinaまでのパスが指定されているか？
* Out fileに出力ファイルの名前が入っているか？

設定が完了したらOKを押すとドッキングが始まり, **pdbqtファイル**が生成されます

### 3.5. 結果の解析
#### 3.5.1 結果の解析
画像のような感じで結果が出てきます.
Scoreはエネルギースコアを指しており, これが低い方が好ましい状態です.　Root Mean Square Deviation(RMSD)はタンパク質構造の非類似性や誤りの指標として用いられるものです.
![スクリーンショット 2021-05-28 15.20.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/de181f58-bb41-a721-2016-0deef9677f02.png)
さまざまなドッキングポーズでのエネルギースコアを算出しましたが, スコアが小さい順に並んでいます. この状態で結果を保存します.保存したドッキング結果はChimeraの「Tools」→「Surface/Binding Analysis」→「View Dock」から確認できます.

ID|Score|RMSD|
---|---|---|
1|-7.2|0.0|
2|-7.1|1.523|
3|-7.0|4.952|
4|-6.8|3.971|
5|-6.8|4.844|
6|-6.8|5.632|
7|-6.8|4.937|
8|-6.7|3.923|
9|-6.7|5.345|
という結果でした. 

#### 3.5.2 ドッキングポーズをPyMolで詳しく見る
ドッキングした後に生成されたリガンド・受容体・結果のpdbqtファイルを全てPyMolで読み込み, 以下のように確認することができます. 赤がリガンド, 緑がドッキングで計算したドッキングポーズです. 結果のpdbqtファイル(緑)には上の９種のドッキングポーズが格納されています.　右側から「A」→「State」→「split」で全てのドッキングポーズを表示することができます.　
![スクリーンショット 2021-05-28 15.25.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/a6836d3d-df7f-0db9-a9f5-c9f0888f0cd5.png)
![スクリーンショット 2021-05-28 15.25.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/07c0f0ea-4f68-6dc3-9cba-b343ad7569f5.png)

分割したポーズはスコアが低い順に並んでいました.

それぞれのドッキングポーズをgifにしてみました.
![Bt0M7iM1GM6gWsxkKtGJ1622184142-1622184189.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/258452/abd000ec-6193-f4d8-d549-8c4c5751f283.gif)

### 3.5. まとめ
SARS-Cov-1のMain proteaseの共結晶構造を用いてドッキングの動作テストを行いました. 使用したソフトは全て無料なので取り掛かりやすいと思います. 今回はドッキングの雰囲気は分かったかなという感触です. しかし実際の活用の面でこのような単純な解析で済むのかという面で複数の疑問が生じました.
1. タンパク質の立体構造の最適化は行わないのか？
2. 溶媒を除いたが, 生体内ではタンパク質は水に覆われている. 溶媒の影響は考慮しないのか？
3. タンパク質のX線結晶構造解析の結果が得られていなかった場合ドッキングは不可能なのか？
この辺に関してまた新たな情報が入ったら記事を作ろうと思います.