PyMOL向けのMDインターフェース(PyMOL Plugin)
本家様 https://github.com/makson96/Dynamics
PyMOLのPluginでgromacsによるMM/MDが行えます. 水も塗せます.
紹介記事 https://bioexcel.eu/run-gromacs-within-pymol-with-dynamics/
, https://pymolwiki.org/index.php/GROMACS_Plugin
*ただ、、更新がされてなくどうも python2 で 作られたPyMOLが必要で、加え使うgromacsは2016.xか2018.xのみの様子です.
便利そうかなと思ったのですが、、微妙...amberToolsのxLeapとかで下準備させてMD計算(GROMACS/NAMD)、結果をPyMOL/ChimeraXでとかで解析がいいのかも
方策 †
python2ベースのPyMOLは最大でもversion2.4で現行は2.6です. またpython2自体がEOL. 対応するgromacsも2016/2018でGCCが古くないとコンパイルが不可であった.
なので、singularityで動くようにしてます. singularityの上でCentOS7が動き、python2ベースのPyMOLとgromacs2018を載せたいと思います.
下準備 †
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.1 (Blue Onyx)
[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 525.116.03 Wed Apr 19 23:43:10 UTC 2023
GCC version: gcc version 11.3.1 20220421 (Red Hat 11.3.1-2) (GCC)
[root@rockylinux9 ~]# nvidia-smi -L
GPU 0: NVIDIA RTX A2000 (UUID: GPU-23cc3ee7-31d3-a068-2f61-5aa00052d084)
[root@rockylinux9 ~]#
RTX A2000(Ampere) GPUが使えてCentOS7のGCC4.8.5でもコンパイル可能なイメージを取得
[root@rockylinux9 ~]# dnf install apptainer apptainer-suid
[root@rockylinux9 ~]# singularity build --sandbox pymol-gromacs docker://nvidia/cuda:11.2.2-devel-centos7
[root@rockylinux9 ~]# singularity shell --writable pymol-gromacs/
Apptainer>
組み込み †
singularityに入ったままで
Apptainer> yum install epel-release -y
Apptainer> yum install --enablerepo=epel python-devel glew-devel glm-devel netcdf-devel libpng-devel libxml2-devel freetype-devel git PyQt4 tkinter python-pmw wget cmake3 fftw-devel -y
Apptainer> cd /usr/local/src
Apptainer> git clone https://github.com/schrodinger/pymol-open-source
Apptainer> cd pymol-open-source/
Apptainer> git checkout py2
Apptainer> git branch
master
* py2
Apptainer>
Apptainer> python setup.py build
Apptainer> python setup.py install --prefix=/usr/local
Apptainer> exit
[root@rockylinux9 ~]#
ここで一旦テスト. singularity の中で pymol を実行してみる. 起動すればOK. メッセージに注意
[root@rockylinux9 ~]# singularity shell pymol-gromacs/
Apptainer>
Apptainer> pymol
Apptainer> exit
[root@rockylinux9 ~]#
引き続き、gromacsのインストール
[root@rockylinux9 ~]# singularity shell --writable pymol-gromacs/
Apptainer> cd /usr/local/src/
Apptainer>
Apptainer> wget http://ftp.gromacs.org/pub/gromacs/gromacs-2018.8.tar.gz
Apptainer> tar xf gromacs-2018.8.tar.gz
Apptainer> cd gromacs-2018.8
Apptainer> mkdir build; cd build
Apptainer> cmake3 .. -DGMX_GPU=CUDA -DGMX_CUDA_TARGET_COMPUTE=86
Apptainer> make ; make install <-- /usr/local/gromacsにインストールされる
そしてPyMOLのプラグインを入れます
Apptainer> cd /usr/local/src
Apptainer> git clone https://github.com/makson96/Dynamics
Apptainer> cd Dynamics/
Apptainer> git checkout v2.2.1
Apptainer> cp pymol_plugin_dynamics.py /usr/local/lib64/python2.7/site-packages/pmg_tk/startup/
(あと掃除を行います)
Apptainer> exit
[root@rockylinux9 ~]#
最後に sif ファイルにさせるのですが、gromacsのパスを入れてからsifを作ります
[root@rockylinux9 ~]# vi pymol-gromacs/environment
export GMXBIN=/usr/local/gromacs/bin
export GMXDATA=/usr/local/gromacs/share/gromacs
export GMXLDLIB=/usr/local/gromacs/lib64
export GMXMAN=/usr/local/gromacs/share/man
export GROMACS_DIR=/usr/local/gromacs
export PATH=/usr/local/gromacs/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gromacs/lib64:$LD_LIBRARY_PATH
export MANPATH=/usr/local/gromacs/share/man
export PKG_CONFIG_PATH=/usr/local/gromacs/lib64/pkgconfig
[root@rockylinux9 ~]# singularity build pymol-gromacs.sif pymol-gromacs/
使ってみる †
[saber@rockylinux9 ~]$ singularity run pymol-gromacs.sif pymol

使っているライブラリが違うせいか、ちょいとpy3と配色が違う
[File]->[Get PDB..]とかでタンパク質を引き出す.

「1AKI」(Lysozyme) とか入力して、「Download」ボタンを押下します

ダウンロードが完了すると画面生じされます

「1aki 1/1」の[A]から「remove waters」でPDBに入っていた水分子を削除して
同じく「1aki 1/1」の[A]から「hydrogens」で水素原子を生やさせて座標を用意します

その後にPluginから「Legacy Plugins/Dynamics_Gromacs 2.2.1」を引き出します

すると下図のような画面が表示さ、どの部位に、FFをあてて、どんな計算をさせるかの設定を施します。
っで「OK」ボタンを押下すると準備が完了となります

「Calculation Window」が表示され、ここで「START」を押下すると実際の計算が開始されます

めも †
現行のPyMOL versionではなく、以前のpython2ベースです. また繰り返しますが、このプラグインは更新されてなく正直微妙..