tempering前節では拡張アンサンブル法の一種であるレプリカ交換分子動力学法(REMD法)について取り扱った。レプリカ交換分子動力学法は様々な系について応用されるなど、サンプリング効率向上の手法として極めてパワフルな方法である。系の大きさ(自由度)が大きくなるほど温度変化に対する系のエネルギー変化が大きくなるために、レプリカ間の温度刻みを小さくする必要に迫られ、結果としてレプリカ数が増大する。大きな自由度の系に対して、REMD法は豊富な計算機資源が必要という欠点がある。tempering(REST)法[1]、またその改良版であるREST2法[2]がある。REST法のレプリカ$i$のポテンシャルエネルギー(ハミルトニアン)は次式である。\end{equation}ここで$\beta_0$は系の逆温度、$\beta_i$はレプリカ$i$の逆温度と呼ばれることがあるが$i\gt0$については物理的に意味を持つ逆温度とは異なり、単にポテンシャルエネルギーを指定するパラメータにすぎないことに注意が必要である。この手法では上式のように系のポテンシャルエネルギーを溶質間、溶質-溶媒間、溶媒-溶媒間に分けてそれぞれの係数をレプリカ交換する。REST2法の係数について、溶媒-溶媒間の係数が1であることは、自由度の大きい溶媒分子に起因するレプリカ間のエネルギー差を極めて小さくしてレプリカ数の削減に貢献する。上式から明らかなように$\beta_i=\beta_0$の時に、ポテンシャルエネルギーはbiasのない通常の形になるが、それ以外の$\beta_i\neq\beta_0$では、biasのかかったポテンシャルエネルギーの形をしており、それらのトラジェクトリは基本的に解析に用いない。拡張アンサンブル法に詳しい人はお気づきかもしれないが、この手法はハミルトニアンレプリカ交換法[3,4]の一種である。REST2法はNAMDで2018年に実装されている[5]。REST2法のスクリプトはインストールしたNAMDディレクトリのlib/replica/REST2/に存在する。以下、REST2法で計算を行うために必要なスクリプトの解説を行う。注意として2019年1月以降のナイトメア版のNAMD2.13ではREST2が正しく動くことが確認しているが、少なくともそれ以前にインストールされたものに関してはコーディングミスがありREST2について正しい挙動をしないため確認が必要である。rest2_remd.namdREST2法を行うためのマスタースクリプト。REST2法のコードはここにtcl言語を用いて上から順に実行される形で書かれている。設定ファイルとともに読み込むことで実行される。何も変更しない場合、温度は指数関数的に与えられるが、外部ファイルから与えたい場合は同じくreplica.namdのソースコードを変更すると良い。REST2の設定ファイルlib/replica/REST2/init.confに相当するファイルである。交換判定を何回行うか。"aaqaa3_rest2_base.namd"#出力先のディレクトリの指定。系の設定ファイルlib/replica/REST2/aaqaa3_rest2_base.namdに相当するファイルである。REST2特有の設定部分を抜粋しておく。REST2のパラメータについてさらに細かい設定ができるが次のNAMDのリンク先を参考のこと。job0.confREMD法と同じ役割。バッチスクリプトを実行するシェルスクリプトREST2は並列計算によって行われる。並列コア数は使用するレプリカ数の倍数を用いる必要がある。以下のように記述したバッチスクリプトを実行することで計算が行われる。/lib/replica/make_output_dirs.shを用いている。20#outputディレクトリに20個のファイルを作成する。ここにREMDの結果が吐き出される。/save/users/hogehoge/output/%d/job0.%d.log#200コアを用いて20レプリカの計算を行う。International。