Plumed + Gromacsのインストール
Plumedは平均力ポテンシャルを計算するための様々な機能を提供するツールです。Gromacs等のMD計算エンジンにアドオンできます。特にGromacs自体には平均力ポテンシャルを計算する機能が乏しいので,Gromacsへのアドオンは価値があると思います。また,GromacsではFEP計算時以外ではHamilitonian Replica Exchangeが(多分)できないですが,Plumedによって通常のMD計算でもできるようになります。
Gromacsは日本でも良く知られたMD計算エンジンでインストールの解説記事をしばしば見かけますが,Plumedも含めた(日本語での)解説はないような気もするので,以下で紹介したいと思います。
OS
インストール先のOSはUbuntu 16.04.5 LTSであるとします。新しめのLinux OSであれば同じ手順で上手くいくと思います。
インストールするソフトウェア
今回は,以下のソフトウェアのインストールを紹介します。/usr/local以下にインストールしていきます。オプションはあくまで設定例ですので,必要に応じて調整してください。
1. Cmake 3.9.6
2. OpenMPI 4.0.5
3. Plumed 2.6.1
4. FFTW 3.3.8
5. Gromacs 2020.2
1. Cmake 3.9.6
こちらはバイナリ版をそのまま利用することにします。
tar zxvf cmake-3.9.6-Linux-x86_64.tar.gz
sudo mkdir /usr/local/cmake
sudo cp -rf cmake-3.9.6-Linux-x86_64 /usr/local/cmake/3.9.6
2. OpenMPI 4.0.5
tar zxvf openmpi-4.0.5.tar.gz
cd openmpi-4.0.5/
./configure --prefix=/usr/local/openmpi/4.0.5
make
sudo make install
3. Plumed 2.6.1
tar zxvf plumed-2.6.1.tgz
cd plumed-2.6.1/
./configure --prefix=/usr/local/plumed/2.6.1 --enable-mpi --enable-fftw CXX=/usr/local/openmpi/4.0.5/bin/mpicxx CC=/usr/local/openmpi/4.0.5/bin/mpicc
make
sudo make install
4. FFTW 3.3.8
tar zxvf fftw-3.3.8.tar.gz
cd fftw-3.3.8
./configure --prefix=/usr/local/fftw/3.3.8 --enable-mpi --enable-openmp --enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-single --enable-shared
make
sudo make install
5. Gromacs 2020.2
export PATH=/usr/local/plumed/2.6.1/bin:/usr/local/cmake/3.9.6/bin:/usr/local/openmpi/4.0.5/bin:$PATH
LD_LIBRARY_PATH=/usr/local/plumed/2.6.1/lib:/usr/local/cmake/3.9.6/lib:$LD_LIBRARY_PATH
tar zxvf gromacs-2020.2.tar.gz
cd gromacs-2020.2
plumed patch -p
この段階で↓のような画面になるかと思いますので,4を入力してenterキーを押してください。この操作によってPlumedのpatchがGromacsのインストールファイルにあてられます。
以下,続きのコマンドです。
mkdir build
cd build
cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_MPI=on -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2020.2 -DGMX_FFT_LIBRARY=fftw3 -DFFTWF_LIBRARIES=/usr/local/fftw/3.3.8/lib/libfftw3f_mpi.so -DFFTWF_INCLUDE_DIR=/usr/local/fftw/3.3.8/include
make
make install
Plumedが適用されているかは,mdrunの"-h"で確認できます。
. /usr/local/gromacs/2020.2/bin/GMXRC
gmx_mpi mdrun -h
PlumedがアドオンされているGromacsでは,オプション"-hrex"があります。