APBSで表面電荷を描く
PyMOLとAPBS(Adaptive Poisson-Boltzmann Solver)を使って表面電荷の色分けをしてみましょう。PyMOLで表面電荷図を描く場合はPluginとしてAPBS Toolsを使い、表面電荷を計算した上で描画します。
必要なプログラムのインストール(PyMOL 1.1以上)
表面電荷を描く場合、APBSとpdb2pqrを追加します。
なお、このやり方だとおそらくPyMOL 1.1が必要になります(0.99以上でもひょっとしたら動くかも)。
APBSのインストール
APBSを取得します。 Fedora 11ユーザは、
# yum install apbs apbs-tools
で簡単にインストールできるようです。
- ファイルのダウンロード
- 以下からダウンロードします。ここではapbs-1.3-ia32.tar.gzを取得しました。環境に応じて必要な種類をダウンロードしてください。
- インストール
- バイナリなので展開するだけです。
# cd /usr/local # tar zxvf apbs-1.3-ia32.tar.gz # cd /usr/local/bin # ln -s ../apbs-1.3-ia32/bin/apbs <-- PyMOLが検索するのでリンクを張る # ln -s ../apbs-1.3-ia32/share/tools/manip/psize.py
ファイルの配置はこれで完了です。過去のバージョンよりずいぶん簡単になりました。
pdb2pqrのインストール
APBSの他にpdb2pqrというプログラムが必要になるのでインストールします。以下のサイトからダウンロードします。
- NumPyのインストール
- Pythonの科学技術計算ライブラリのNumPyをインストールします。
- インストール
ここでは1.6.0を使用しました。
% tar zxvf numpy-1.6.0.tar.gz % cd numpy-1.6.0 % python setup.py build # python setup.py install
- aptでインストール
- 科学ソフトデータファイル計算プログラムのOpenBabelをインストールします
- openbabel
- pdb2pqrのインストール
- インストールディレクトリは/usr/local/pdb2pqr-1.7にします。またAPBSの場所を指定しておきます。
% tar zxvf pdb2pqr-1.7.tar.gz % cd pdb2pqr-1.7 % ./configure --prefix=/usr/local/pdb2pqr-1.7 --with-apbs=/usr/local/bin/apbs % make # make install # cd /usr/local/bin # ln -s ../pdb2pqr-1.7/pdb2pqr.py <- PyMOLが検索するのでリンクを張る
以上で完了です。
表面電荷図を描いてみる
通常どおり、PyMOLを起動し、適当に水分子を除いたPDBファイルを読み込んでください。あまり大きな分子だと計算に時間がかかると思いますので注意してください。また、Se-Metなどが入っているとAPBSで計算するときに「パラメータがアサインされていない原子がある」と怒られて計算してくれません。
APBS Toolsを開く
External GUIのPluginメニューにAPBS Tools...という項目がありますのでクリックして開きます。
開かれたAPBS Toolsウィンドウの中のAPBS Locationタブを開いたときにAPBS binary locationとAPBS psize.py locationがセットされているかを確認します。セットされていない場合は環境変数APBS_BINARYとAPBS_PSIZEを確認してください。
このダイアログからもセットできますが、環境変数をセットしておけば毎回セットする手間が省けます。
簡単な使い方
PDBを読み込んだ状態で、APBS ToolsのSet gridをクリックし、続いてRun APBSをクリックします。
するとコンソールに計算しているようなメッセージが流れますのでしばらく待ちます。先に述べたようにSe-Metなどが入っているとUnassigned atomsのエラーが出て計算されませんので注意してください。
コンソールに、
Thanks for using APBS!
と表示されれば計算終了です。これで表面電荷の描画ができます。
APBS ToolsのVisualizationタブを開き、Molecular SurfaceのShowをクリックすると表面電荷が計算され描画されます。電荷の範囲は下にあるLow-Middle-Highの値で調整することができます。
このようにして表面電荷を描くことができます。