静電ポテンシャルからタンパク質-リガンド複合体を眺めよう 〜パート①:ESP-DNNの使い方〜
もはや元旦恒例となっている創薬ちゃん(@souyakuchan)さん主催の創薬人格付けチェック!
元旦恒例 #創薬人格付けチェック!
— 叢雲くすり (創薬ちゃん) (@souyakuchan) 2022年1月1日
今回はタンパク質側も実験構造と予測構造を混ぜてあり余計に訳分からなくした。画像(平行法ステレオ図) に示す4つの結合様式のうち、1つが概ね正しい複合体構造だ。
正しいと思うのは何番だろうか? 次のツイートで投票を取る。#souyakuchan_quiz#格付けチェック pic.twitter.com/9SL7bd1sBN
皆さんもちろん正解してますよね?・・・私は毎年外しています(解説を読んでもよくわからない)。
ぶっちゃけリガンドとタンパク質の複合体の図を見ても「当てはまりが良い!」とか、「ここが変!」とかさっぱりわかりません。
「観察眼を鍛えたい!もう一歩踏み込んだ視点が欲しい!」ということで、今回は静電ポテンシャル図(ESP)を描いて複合体を眺めてみたいと思います。
利用するツールは①ESP-DNNで、計算対象としては②TYK2キナーゼ阻害剤データセットを用います。
この記事ではまず簡単な分子(1置換ベンゼン)を例にESP-DNNの使い方を把握します(複合体の描画は次回)。*1
1. ESP-DNN
1-1. ESPの復習
静電ポテンシャル(Electrostatic Potential, ESP)は「ある分子の周りに+1価の電荷をおいた際に、その電荷が感じるポテンシャルエネルギー」です。
これを分子について可視化するために分子表面として描いたのが静電ポテンシャル図(Electrostatic Potensial Surface)です。等電子密度面に静電ポテンシャル(電位)を色で表現したもので、分子の静電的な特徴を簡単に把握できます。
学部の有機化学で1置換ベンゼンの反応性(ortho-, meta-, para- 配向性)の説明で出てきたりするやつですね。
こういうの。
赤い部分の原子は負の(部分)電荷をもち、青い部分の原子は正の(部分)電荷をもちます。置換基による芳香環上の変化が目に見えるのが面白いですね。*2
ところで以前、どこかで「ニトロベンゼンとピリジンはESPを描くとめっちゃ似てる!」って力説してる先生がいらっしゃった気がします。確かに似てるかも・・・
ってなわけで(?)、ESPをつかって可視化すると構造式で単純に描く以上に分子の性質を考察することができます。生理活性物質への応用を考えると、「リガンドとタンパク質の静電的な相補性の観点から、親和性・活性について議論できる!」ってなりそうです。
つまり、ESP力を鍛えれば相互作用の観察力が上がって創薬人格付けチェックに正解できるはず!
・・・知らんけど
1-2. ESP-DNNって?
さて、とても魅力的なESPによる可視化ですが、きちんと計算しようとすると量子力学(QM)が必要です。例えば「化学の新しいカタチ」さんは以下の記事でPsi4を使った計算方法を解説してくださっています。
・・・QM計算しんどいですね。
「面倒な計算はディープラーニングで置き換えよう!」ということで、QMのデータセットを学習して短時間の計算で置き換えられるようにしたのがESP-DNNです。
Practical High-Quality Electrostatic Potential Surfaces for Drug Discovery Using a Graph-Convolutional Deep Neural Network
Prakash Chandra Rathi, R. Frederick Ludlow, and Marcel L. Verdonk
J. Med. Chem. 2020, 63, 16, 8778–8790 (Open Access)
Astex Pharmaceuticalsの研究者によって開発されたプログラムで、GitHubで公開してくださっています。(Apache-2.0ライセンス)
また、ESP-DNNについては@iwatobipen先生が以下の記事で取り上げてくださっています。
Electrostatic Potential Surface(ESP) calculation with GCNN #RDKit #chemoinformaticsiwatobipen.wordpress.com
上記GitHubでは、Python 2系のコードで書かれていたESP-DNNをPython3系にアップデートしたものを公開してくださっています。
これは遊ぶしかないですね!
・・・でも残念ながら私のMacではうまく動きませんでした。
2. ESP-DNNをGoogle Colabで
OSが合ってないならGoogle Colabを使えばいいじゃない!ということでちょっとだけ書き換えました。
conda create
で環境構築できるようにenvironment.ymlをPython3(@iwatobipen先生の記事で公開されている設定)に合わせただけです。
Google Colab上で以下を実行すればESP-DNNを使うためのconda環境(esp-dnn-env
)ができます。
# Linux用のMinicondaの環境を作成 !wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh !chmod +x Miniconda3-latest-Linux-x86_64.sh !bash ./Miniconda3-latest-Linux-x86_64.sh -b -f -p /usr/local # GitHubからESP-DNNをもってくる !git clone https://github.com/magattaca/ESP_DNN.git # 作業ディレクトリを移動 %cd ESP_DNN # condaの仮想環境をyamlから作成 !conda env create -f ESP_DNN/environment.yml
これで計算環境の準備はおしまいです(すこし時間かかります)。
ESP-DNNをつかって静電ポテンシャルを計算するコマンドは、計算対象が「リガンドか?タンパク質か?」によって少し変わります。
いずれにせよ入力はPDBファイルなので適当に準備してください(RDKitならChem.MolToPDBFile
です)。
リガンド(低分子)の場合は、以下のコマンドで「①仮想環境をアクティベートして、②ligand_filesディレクトリにある複数のPDBファイルをまとめて計算」できます。
%%bash source activate esp-dnn-env python -m esp_dnn.predict -m ligand -i ligand_files
タンパク質の場合は引数-m(計算モード, mode)をprotein
にすればOKです。
%%bash source activate esp-dnn-env python -m esp_dnn.predict -m protein -i protein_files
上記でprotein_filesディレクトリにあるPDBファイルが計算されます(ディレクトリ名は適宜修正してください)。
計算結果はpqr形式のファイルで、入力のPDBファイル名のあとに.pqr
が追加されたファイルが同じディレクトリ内に作成されます。
これで計算したものが先の1置換ベンゼンです。簡単ですね!
3. NGL viewerで可視化
ESP-DNNの計算結果の描画はNGL viewerがオススメされています。
- NGL viewer : http://nglviewer.org/ngl/
上記のURLにアクセスして「File
→ open
」で目的の「.pqrファイル」を選びます。もしくはファイルをドラッグ&ドロップでもOKです。
例えばニトロベンゼンのpqrファイルだとこんな感じ。
PDBファイルを基にしているので結合次数の情報が入っていない(ベンゼンが全て単結合)であることにご注意ください。
ESP図を表示する手順は「① 表面(Surface)描画を追加して、② 描画方法を静電ポテンシャルに変更」です。
まず表面描画を追加します。
- 右枠上の横三本線マークをクリックして
Structure オプション
のメニューを開く
- 右枠上の横三本線マークをクリックして
Representation
にsurface
を追加
- 分子表面が描画され右枠に
surface
メニューがあらわれる
- 分子表面が描画され右枠に
ついで描画方法を静電ポテンシャルに変更します。
surface
メニューの横三本線マークをクリックしてRepresentation オプション
のメニューを開く
- 各項目を変更
-
surface type
でav
を選択 -
scale factor
を4.0
に変更 -
radius Type
をexplicit
に変更 -
opacity
をスライドバー調整(表面が透けて骨格が見える) -
colorScheme
をelectrostatic
に変更 -
colorScale
をRed-White-Blue
に変更
-
- 各項目を変更
以上の設定で以下の図ができます。
「目のアイコン」をクリックすると描画の表示をON/OFF
できるので、複数の分子を1つのViewerで見るときに便利です。
4. 拡張子PQRと謎の原子
4-1. PQR?
さて、さらっと流しましたがPQRファイルとはなんでしょうか?
PQRはPDBをベースにしたフォーマットで、「PはPDB、Qは電荷(charge)、Rは半径(radius)」を意味するそうです。
この意味に合わせて、保持する情報が以下のように変更されています。*3
- ①
PDB
: 占有率(occupancy)→PQR
: 原子の電荷 (atomic charge, Q) - ②
PDB
:温度因子(B factor) →PQR
:原子半径(atomic radius, R)
但し、カラム(列)の位置はPQRとPDBでズレていることも多いそうです。
先のニトロベンゼンのファイルで比較してみましょう。
こんな感じ
各行の座標(xyz)情報は同じですが、それ以降の数字が変わっていますね。
4-2. 謎の原子?
ところで上図の4行とも炭素原子(C
)ですが、面白いことにPQRファイルの原子半径は「C1
, C2
, C3
→ 1.700」と「C4
→ 1.780」で異なっています(黄色枠で示した箇所) 。
このC4
はニトロ基置換のイプソ位になります。もう一度描画を確認すると、炭素原子のうちC4だけ白い球が追加されています。他の炭素との違いを反映して原子半径も異なっているのかもしれません(???)
この白い球の原子名はHp
となっていて、ニトロ基の窒素原子(N
)、酸素原子(O
)上にも同様にHp
という名前の球が追加されています。また、酸素原子上には他にもHlp
という原子が追加されています。
H
とついていますが水素原子ではなさそうです。追加の様子を見る限り非共有電子対や(芳香族以外の)二重結合の電子を表すダミーのようにも見えますが、PQRフォーマットやESP-DNNの説明をみてもそれらしい記述がありませんでした。
お分かりの方、ご教示いただけると嬉しいです。*4
5. おわりに
以上、今回はタンパク質-リガンド複合体を眺めるための観察方法「静電ポテンシャル図」を試す準備として、簡易計算ツール ESP-DNN の使い方と描画方法を確認しました。
ESPの計算には量子力学が必要で大変そうですが、ディープラーニングで置き換えたESP-DNNを使えばとても簡単に計算できました。素晴らしいツールを公開してくださっている皆様に感謝です。
結果の確からしさ(量子力学計算との比較)は検証できませんでしたが、そもそも私はQM計算できない・・・。できない人向けの簡易ツールということで許してください。
次回、実際にリガンドやタンパク質を計算してみたいと思います。
間違いが多いと思うのでご指摘いただけると嬉しいです。ではでは!
*2:静電ポテンシャルの説明と見方についてははこちらの記事「静電ポテンシャルマップの誤解」を参考にさせていただきました。ずっと誤解してた。。。
*3:参考:Jmol/JSmol wiki File formats/Coordinates: PQRより
*4:なお、ESP-DNNのexamplesにあるPQRファイルにも同様にHpやHlpがあるので計算が失敗しているわけではなさそうです。