• ライフサイエンス分野の研究をIT技術で支援します

    Amazon Web Service (AWS)で借りたクラウドPCに、分子シミュレーション関係のプログラムをインストールして、リモートデスクトップ接続で利用可能な環境を構築してみました。このページで構築手順を説明します。今回は、OSにはCentOS7を使用しています。
    (現在、クラウドPCで、OSがUbuntu18とCentOS8のものでは、myPresto Portal ver. 1.1.70が正常に動作しません。オンプレミス機に、仮想環境を使わずにUbuntu18をインストールしたのものでは、正常に動くようです。)

    クラウドPC利用における注意:
    クラウドPCは、適切に使用すれば、費用を低く抑えることができる場合があります。しかし、長い時間使い続けると費用が大きくなることがありますので、注意が必要です。
    クラウドPCを起動すると、起動中はずっと仮想マシン(インスタンス )利用分の料金が発生します。使用しない時には、仮想マシンを停止しておくと費用を抑えることができます。仮想マシン利用分の他に、ディスク等のリソースにかかる料金も発生します。つまり、仮想マシンを停止していても料金が発生します。使用頻度が低くなったら、リソースを含めて仮想マシンを削除した方がいいでしょう。予定外の出費が多くなることを避けるために、慣れるまでは、安い仮想マシンのみを短い時間で使用することをお勧めします。

    構築した環境の画面例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での手続き

    以下は、今回の環境構築で使用したクラウドPCの用意手順です。

    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: インスタンス作成の確認
    "起動"ボタンを押すー>鍵ファイルを設定-> "インスタンス の作成"ボタンを押す

    OSのアップデート

    借りたサーバーにSSHでログインする。
    例:

    ssh -i (鍵ファイル) centos@{サーバーアドレス}

    上記と同じAMIを選択していれば、ユーザー名はcentosに設定されています。
    ログイン後に以下のコマンドを実行する。

    sudo yum update
    sudo reboot

    デスクトップとVNCサーバーのインストール

    再ログイン後に以下のコマンドを実行する。

    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からサーバーへのリモートデスクトップ接続

    (接続準備)
    クライアント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のみをインストールすればよい。)

    PyMOLのインストール

    (準備)

    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を実行。

    myPresto Potalのインストール

    (準備)
    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を実行する。

    JChemPaintのインストール

    (インストール)

    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のインストール

    (準備)
    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.02のインストール

    (準備)
    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の機能で動画ファイルを作成したものです。