Amazon Web Service (AWS)で借りたクラウドサーバーに、分子シミュレーション関係のプログラムをインストールして、リモートデスクトップ接続で利用可能な環境を構築してみました。このページで構築手順を説明します。今回は、OSにはCentOS7を使用しています。
(現在、クラウドサーバーで、OSがUbuntu18とCentOS8のものでは、myPresto Portal ver. 1.1.70が正常に動作しません。オンプレミス機に、仮想環境を使わずにUbuntu18をインストールしたのものでは、正常に動くようです。)
2020/9/29現在、myPresto Portal ver.1.1.72は、Ubuntu18/20、CentOS7/8、AmazonLinux2で動作することが確認されています。
https://biomodeling.co.jp/2020/09/29/myprestoportal_linux/
クラウドサーバー利用における注意:
クラウドサーバーは、適切に使用すれば、費用を低く抑えることができる場合があります。しかし、長い時間使い続けると費用が大きくなることがありますので、注意が必要です。
クラウドサーバーを起動すると、起動中はずっと仮想マシン(インスタンス )利用分の料金が発生します。使用しない時には、仮想マシンを停止しておくと費用を抑えることができます。仮想マシン利用分の他に、ディスク等のリソースにかかる料金も発生します。つまり、仮想マシンを停止していても料金が発生します。使用頻度が低くなったら、リソースを含めて仮想マシンを削除した方がいいでしょう。予定外の出費が多くなることを避けるために、慣れるまでは、安い仮想マシンのみを短い時間で使用することをお勧めします。
構築した環境の画面例1:
構築した環境の画面例2:
PyMOL ver. 2.4.0 (Open source build)
myPresto Portal ver. 1.1.70
JChemPaint 3.3-1210
AmberTools20
GROMACS 2020.2
(各ソフトのwebページにリンクが張ってあります。)
以下は、今回の環境構築で使用したクラウドサーバーの用意手順です。
AWSのコンソールにサインインする-> EC2 -> インスタンス の起動
ステップ 1: Amazon マシンイメージ (AMI)
AWS Maketplace
を選択し、"centos7"
で検索すると、関連するマシンイメージがリストに出てくる。
"CentOS 7 (x86_64) - with Updates HVM"
を選択する。`
ステップ 2: インスタンスタイプの選択
t3.xlargeを選択
(仮想コア数4、メモリ16GBのもの)
(2020/6/1現在、東京リージョンのt3.xlargeのインスタンス 利用料金は0.2176USD/時間です。)
ステップ 3: インスタンスの詳細の設定
(変更なし)
ステップ 4: ストレージの追加
ルートボリュームのサイズを30Gに設定
(最初は必要最低限で確保して、必要に応じて拡張するといいでしょう。大きく確保したものを、小さくすることはできません。)
ステップ 5: タグの追加
(変更なし)
ステップ 6: セキュリティグループの設定
(変更なし)
ステップ 7: インスタンス作成の確認
"起動"ボタンを押すー>鍵ファイルを設定-> "インスタンス の作成"ボタンを押す
借りたサーバーにSSHでログインする。
例:
ssh -i (鍵ファイル) centos@{サーバーアドレス}
上記と同じAMIを選択していれば、ユーザー名はcentosに設定されています。
ログイン後に以下のコマンドを実行する。
sudo yum update
sudo reboot
再ログイン後に以下のコマンドを実行する。
sudo yum groupinstall "GNOME Desktop"
sudo yum install tigervnc-server
vncserver -geometry 1440x900
ここで、VNC接続のパスワードを設定します。
Would you like to enter a view-only password (y/n)?の質問に対する回答はnとしておくといいでしょう。
設定が済んだら、ログアウトします。
exit
(接続準備)
クライアントPCの端末で、末尾に次のオプションをつけてSSH接続する。
-L 5901:localhost:5901
例:
ssh -i (鍵ファイル) centos@{サーバーアドレス} -L 5901:localhost:5901
これによって、サーバーの5901番ポートに、SSHのポート(22番ポート)経由で、クライアントPCの5901番ポートからアクセスできる。
サーバーにログイン後にサーバーの方で、vncserver -listを実行して、1番ディスプレイが有効になっていることを確認する。
vncserver -listで、全くディスプレイがない場合には、vncserver :1でディスプレイを作成する。1番ディスプレイがリストアップされるが(stale)となっている場合には、vncserver -kill :1でディプレイを一旦削除後に、vncserver :1で1番ディスプレイを再度作成する。
ディスプレイ番号+5900が、VNC接続で使用するポート番号となる。つまり、1番のディスプレイへの接続には5901番ポートを使用する。
(クライアントPCからのVNC接続)
MacOXからは、Finderを起動→メニューバーの"移動"→サーバーへ接続、出てきたダイアログに
vnc://localhost:5901
を入力して、OKボタンを押す。パスワード入力のダイアログが出てきたら、上で設定したパスワードを入力する。
Windowsから接続する場合には、UltraVNCをインストールするとよい。(UltraVNC Viewerのみをインストールすればよい。)
(準備)
sudo yum install git
git clone https://github.com/schrodinger/pymol-open-source.git
sudo yum install epel-release
sudo yum install gcc gcc-c++ python-devel python3-devel python3-tkinter
sudo yum install python-pmw glew-devel libpng-devel freetype-devel
sudo yum install libxml2-devel glm-devel netcdf-devel
sudo yum -y install python3-pip
sudo pip3 install --upgrade pip
sudo pip3 install pyqt5 pmw msgpack-python msgpack-tool mmtf-python
(PyMOLのインストール)
cd pymol-open-source/
python3 setup.py build
python3 setup.py install --prefix=/home/centos/pymol
ここでは、ホームディレクトリが/home/centos/で、インストール先ディレクトリが~/pymol/.
(PyMOLの起動方法)
リモートデスクトップ接続したウィンドウ上の端末で以下のコマンドを実行する。
cd
pymol/bin/pymol
1つ目のコマンドでホームディレクトリに移動。pymol/bin/の下にあるpymolを実行。
(準備)
myPresto5のサイトからmyPresto_Portal_Linux64_1.1.67.zipをダウンロードし、サーバーにアップロードしておく。ここでは、ホームディレクトリに配置する。
(解凍方法)
cd
unzip myPresto_Portal_Linux64_1.1.70.zip
(実行方法)
リモートデスクトップ接続したウィンドウ上の端末で以下のコマンドを実行する。
cd
myPresto_Portal_Linux64/myPrestoPortal
myPresto_Portal_Linux64_1.1.70.zipを解凍すると、myPresto_Portal_Linux64/が作成される。その下の実行ファイルmyPrestoPortalを実行する。
(インストール)
wget https://github.com/downloads/JChemPaint/jchempaint/jchempaint-3.3-1210.jar
実行ファイルを取得するのみでインストールが完了する。
(起動方法)
リモートデスクトップ接続したウィンドウ上の端末で以下のコマンドを実行する。(jchempaint-3.3-1210.jarが存在しているディレクトリで実行する。)
java -jar jchempaint-3.3-1210.jar
(準備)
AmberTools20.tar.bz2を入手して、サーバーにアップロードしておく。ここでは、ホームディレクトリにおいて以下の作業を行う。
(解凍方法)
cd
tar xjvf AmberTools20.tar.bz2
ここではホームディレクトリに移動後に、ホームディレクトリに存在している圧縮ファイルを解凍している。解凍するとamber20_src/が作成される。
(環境設定)
cmake 3.12.3のインストール:
wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar xzvf cmake-3.12.3.tar.gz
cd cmake-3.12.3/
./bootstrap --prefix=/usr/local
gmake -j4
sudo make install
必要なパッケージのインストール:
sudo yum install tcsh make gcc gcc-gfortran gcc-c++
sudo yum install which flex bison patch bc
sudo yum install libXt-devel libXext-devel perl perl-ExtUtils-MakeMaker
sudo yum install util-linux wget bzip2 bzip2-devel zlib-devel tar
(AmberToolsのインストール)
cd
cd amber20_src/build
./run_cmake
make -j4
make install
最初のcdでホームディレクトリに移動する。
makeと一緒に使用する-j4のオプションは、make実行時に4コア使用するためのオプション。
make installを実行すると~/amber20/にインストールされる。
AmberToolsに含まれるプログラムを実行する前に、source ~/amber20/amber.shを実行して環境設定を行うが、GROMACS 2020のインストール前にamber.shを実行すると、GROMACSのインストールに失敗するので注意する。source ~/amber20/amber.shを実行した場合には、再起動後に、GROMACSのインストールを行うとよい。
(準備)
GROMACS 2020は、バージョンが6.5以上のgccとg++が必要となるため、以下のコマンドで、ver.8.xを利用可能にした後で、GROMACS 2020のインストールを行う。
sudo yum install scl-utils centos-release-scl
sudo yum install devtoolset-8
scl enable devtoolset-8 bash
(GROMACSのインストール)
cd
wget http://ftp.gromacs.org/pub/gromacs/gromacs-2020.2.tar.gz
tar xzvf gromacs-2020.2.tar.gz
cd gromacs-2020.2
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=OFF
make -j4
make check
sudo make install
make -j4は、4コアを使用してmakeを実行する例であり、PCのコア数が多い場合には4を変更すると効率が良い場合がある。特に指定をしなければ、/usr/local/gromacs/にインストールされる。
GROMACSでの計算例:
この動画は、GROMACSでの計算で出力されたトラジェクトリファイルをmyPresto Portalで読み込んで、myPresto Portalの機能で動画ファイルを作成したものです。