gmx wham

概要

gmx wham [-ix [<.dat>]] [-if [<.dat>]] [-it [<.dat>]] [-is [<.dat>]]
         [-iiact [<.dat>]] [-tab [<.dat>]] [-o [<.xvg>]]
         [-hist [<.xvg>]] [-oiact [<.xvg>]] [-bsres [<.xvg>]]
         [-bsprof [<.xvg>]] [-xvg <enum>] [-min <real>] [-max <real>]
         [-[no]auto] [-bins <int>] [-temp <real>] [-tol <real>]
         [-[no]v] [-b <real>] [-e <real>] [-dt <real>]
         [-[no]histonly] [-[no]boundsonly] [-[no]log] [-unit <enum>]
         [-zprof0 <real>] [-[no]cycl] [-[no]sym] [-[no]ac]
         [-acsig <real>] [-ac-trestart <real>] [-nBootstrap <int>]
         [-bs-method <enum>] [-bs-tau <real>] [-bs-seed <int>]
         [-histbs-block <int>] [-[no]vbs]

説明

``gmx wham``は、重み付きヒストグラム解析法(WHAM)を実装した分析プログラムです。これは、傘サンプリングシミュレーションによって生成された出力ファイルを解析し、平均力ポテンシャル(PMF)を計算するために使用されます。

gmx wham は現在、完全に最新の状態ではありません。プル設定のみをサポートしており、最初のプル座標が「傘」のようなプル座標であり、複数の座標を分析する必要がある場合は、すべて同じジオメトリと寸法を使用する必要があります。ほとんどの場合、これは問題になりません。

現在、3つの入力モードがサポートされています。

  • オプション -it を使用する場合、ユーザーは、傘シミュレーションの実行入力ファイル(.tpr ファイル)のファイル名を含むファイル、およびオプション -ix を使用する場合、pullx mdrun の出力ファイルのファイル名を含むファイルを提供します。 .tpr ファイルと pullx ファイルは、対応する順序で存在する必要があります。つまり、最初に作成された .tpr ファイルは、最初に pullx を生成し、以降も同様に続行されます。

  • 以前の入力モードと同じですが、ユーザーが -if オプションを使用してプルフォース出力ファイル名 (pullf.xvg) を指定します。プルフォースから、傘のポテンシャル内の位置が計算されます。これは、表形式の傘のポテンシャルには適用されません。

デフォルトでは、すべての pullx/pullf ファイルに存在するすべての pull 座標が WHAM に使用されます。 ただし、一部の pull 座標のみを使用する場合は、pull 座標選択ファイル (オプション -is) を指定できます。 選択ファイルには、tpr-files.dat に存在するすべての tpr ファイルに対して 1 行ずつ記述する必要があります。 各行には、tpr ファイル内の各 pull 座標に対して 1 桁 (0 または 1) を含める必要があります。 ここで、1 は pull 座標が WHAM で使用されることを示し、0 は使用されないことを示します。 例: 3 つの tpr ファイルがあり、それぞれが 4 つの pull 座標を含んでいる場合で、pull 座標 1 と 2 のみを使用する場合は、coordsel.dat は次のようになります:

1 1 0 0
1 1 0 0
1 1 0 0

デフォルトでは、出力ファイルは次の形式になります:

``-o``      PMF output file
``-hist``   Histograms output file

必ず、ヒストグラムが十分に重なっていることを確認してください。

ウインドソウポテンシャルは調和的であると仮定し、力定数は .tpr ファイルから読み取られます。非調和的なウインドソウ力を使用する場合は、-tab オプションを使用して表形式のポテンシャルを提供できます。

WHAM のオプション

  • -bins 分析で使用するビンの数

  • -temp シミュレーションの温度

  • -tol プロファイル(確率)が許容範囲よりも変化した場合、反復を停止する

  • -auto 自動で境界の特定

  • -min,-max プロファイルの境界

使用してプロファイルを計算するデータポイントは、オプション -b-e、および -dt を使用して制限できます。 -b を調整して、各アンブレットウィンドウで十分な平衡が確保されるようにしてください。

-log (デフォルト) の場合、プロファイルはエネルギー単位で書き込まれます。それ以外の場合 (-nolog) は、確率単位で書き込まれます。単位は -unit で指定できます。エネルギー出力の場合、最初のビンにエネルギーを 0 に設定します。別の位置における自由エネルギーを 0 に設定したい場合は、-zprof0 を設定してください (ブートストラップを使用する場合に便利です。詳細は下記を参照)。

For cyclic or periodic reaction coordinates (dihedral angle, channel PMF without osmotic gradient), the option -cycl is useful. gmx wham will make use of the periodicity of the system and generate a periodic PMF. The first and the last bin of the reaction coordinate will assumed be be neighbors.

オプション -sym は、出力前にプロファイルを z=0 の周りに対称化します。これは、例えば膜の場合に役立つ可能性があります。

並列化

利用可能な場合、gmx wham が使用する OpenMP スレッドの数を、OMP_NUM_THREADS 環境変数を設定することで制御できます。

自己相関

-ac オプションを使用すると、gmx wham は各傘状ウィンドウに対して統合自己相関時間 (IACT) tau を推定し、対応するウィンドウを 1/[1+2*tau/dt] で重み付けします。 IACT は、-oiact で定義されたファイルに書き込まれます。 詳細モードでは、すべての自己相関関数 (ACF) が hist_autocorr.xvg に書き込まれます。 IACT は、サンプリングが限られている場合、著しく過小評価される可能性があるため、オプション -acsig を使用して、反応座標に沿ってガウス関数 (-acsig で指定されたシグマ、詳細は iact.xvg の出力を参照) で IACT を平滑化できます。 IACT は、ACF の単純な積分によって推定されますが、ACF は 0.05 以上の値である必要があります。 より高度な (ただし、おそらく堅牢性に劣る) 方法、たとえば二乗指数関数への適合を使用して IACT を計算する場合は、gmx analyze <gmx-analyze> を使用して IACT を計算し、gmx whamiact-in.dat ファイル (オプション -iiact) を提供できます。このファイルには、入力ファイル (pullx/pullf ファイル) ごとに 1 行、および対応するファイル内の各プル座標に対して 1 列が必要です。

エラー分析

統計的な誤差は、ブートストラップ分析を用いて推定できます。ただし、注意して使用しないと、統計的な誤差が大幅に過小評価される可能性があります。ブートストラップ技術に関する詳細情報と例については、「Hub, de Groot and Van der Spoel, JCTC (2010) 6: 3713-3720」を参照してください。-nBootstrap は、ブートストラップの回数を指定します(例:100)。4つのブートストラップ手法をサポートしており、-bs-method で選択できます。

  • b-hist デフォルトでは、完全なヒストグラムは独立したデータポイントとして扱われ、ブートストラップはヒストグラムにランダムな重みを割り当てることで実行されます(「ベイズブートストラップ」)。ただし、反応座標上の各ポイントは、複数の独立したヒストグラム(たとえば、10個のヒストグラム)でカバーされている必要があります。そうしないと、統計誤差が過小評価されます。

  • hist: 完全なヒストグラムは、独立したデータポイントとして扱われます。 各ブートストラップにおいて、N個のヒストグラムからN個のヒストグラムをランダムに選択します(重複を許可し、つまり、置換サンプリングを行います)。 反応座標に沿ったヒストグラムのギャップを避けるために、ヒストグラムのブロック(-histbs-block)を定義できます。 その場合、与えられたヒストグラムはブロックに分割され、各ブロック内のヒストグラムのみが混合されます。 ただし、各ブロック内のヒストグラムは、すべての可能なヒストグラムを代表している必要があります。そうでない場合、統計的な誤差が過小評価されます。

  • traj: 提供されたヒストグラムを使用して、新しいランダムな軌跡を生成します。生成されたデータ点は、指定されたヒストグラムに従って分布され、適切に自己相関を持つようにします。各ウィンドウの自己相関時間 (ACT) は既知である必要があります。そのため、-ac を使用するか、ACT-iiact で指定してください。すべてのウィンドウの ACT が同一 (かつ既知) の場合は、-bs-tau で指定することもできます。ただし、この方法は、サンプリングが限られている場合に、エラーを大幅に過小評価する可能性があることに注意してください。つまり、個々のヒストグラムが、それぞれの位置で完全な相空間を表現していない場合です。

  • traj-gauss: traj メソッドと同様ですが、軌跡は傘ヒストグラムの平均と幅に基づいてガウス分布から生成されます。この方法も、traj メソッドと同様に、類似した誤差推定値が得られます。

初期化出力:

  • -bsres 平均プロファイルと標準偏差

  • -bsprof すべてのブートストラッププロファイル

-vbs (詳細なブートストラップ) を使用すると、各ブートストラップのヒストグラムが書き込まれ、ブートストラップ方法 traj を使用すると、ヒストグラムの累積分布関数が生成されます。

オプション

入力ファイルの指定オプション:

-ix [<.dat>] (pullx-files.dat) (オプション)

汎用データファイル

-if [<.dat>] (pullf-files.dat) (オプション)

汎用データファイル

-it [<.dat>] (tpr-files.dat) (オプション)

汎用データファイル

-is [<.dat>] (coordsel.dat) (オプション)

汎用データファイル

-iiact [<.dat>] (iact-in.dat) (オプション)

汎用データファイル

-tab [<.dat>] (umb-pot.dat) (オプション)

汎用データファイル

出力ファイルの指定オプション:

-o [<.xvg>] (profile.xvg)

ファイル名: xvgr/xmgr

-hist [<.xvg>] (histo.xvg)

ファイル名: xvgr/xmgr

-oiact [<.xvg>] (iact.xvg) (オプション)

ファイル名: xvgr/xmgr

-bsres [<.xvg>] (bsResult.xvg) (オプション)

ファイル名: xvgr/xmgr

-bsprof [<.xvg>] (bsProfs.xvg) (オプション)

ファイル名: xvgr/xmgr

Other options:

-xvg <enum> (xmgrace)

xvg プロットの書式設定: xmgrace, xmgr, なし

-min <実数> (0)

最小座標

-max <実数値> (0)

最大座標(プロファイル)

-[no]auto (はい)

自動で最小値と最大値を特定

-bins <int> (200)

プロファイル内のビンの数

-temp <実数> (298)

温度

-tol <実数> (1e-06)

許容差

-[no]v (無)

詳細モード

-b <実数値> (50)

初めての分析 (ps)

-e <実数> (1e+20)

最終分析時間 (ps)

-dt <実数値> (0)

dt のみを分析する

-[no]histonly (無)

ヒストグラムを作成し、終了する

-[no]boundsonly (無効)

最小値と最大値を決定し、終了します(-auto オプションを使用)

-[no]log (はい)

印刷する前に、プロファイルの対数を計算する

-unit <enum> (kJ)

エネルギー単位(ログ出力時):kJ、kCal、kT

-zprof0 <real> (0)

この位置でプロファイルを 0.0 に設定します (-log オプションを使用)。

-[no]cycl (無)

周期的なプロファイルを生成します。最小値と最大値が同じ点であることを前提としています。

-[no]sym (無)

z=0 周辺のプロファイルを対称化する

-[no]ac (無)

計算された統合自己相関時間を使用する

-acsig <実数> (0)

反応座標に沿って、このシグマのガウス関数を用いて、滑らかな自己相関時間を得る

-ac-trestart <実数値> (1)

自己相関関数を計算する際には、.. (ps)ごとに再計算を開始してください。

-nBootstrap <int> (0)

ブートストラップによる統計的不確実性の推定に使用するブートストラップの数(例:200)

-bs-method <enum> (b-hist)

手法: b-hist, hist, traj, traj-gauss

-bs-tau <実数> (0)

すべてのヒストグラムに対して、自己相関時間 (ACT) が仮定されています。ACT が不明な場合は、オプション -ac を使用してください。

-bs-seed <整数> (-1)

初期化のためのシード値。 (-1 = タイムを使用)

-histbs-block <整数> (8)

ヒストグラムを混ぜる場合、-histbs-block のブロック内でのみ混ぜてください。

-[no]vbs (無)

詳細なブートストラップ。各ブートストラップに対して、CDFとヒストグラムファイルを出力します。