====== 解析方法 ======
===== RMSD 解析 =====
* 指定された対象の RMSD の経時変化を解析する。
* $RMSD = \sqrt{\frac {\sum_{i = 1}^{N} (a_i - b_i)^2}{N}}$
* ''cpptraj'' に同梱のパッケージで解析ができる。
* パラメータファイル (''test.prmtop'') と座標ファイル (''test.inpcrd'' / ''*.nc'' / ''*.mdcrd'') が必要
* 対象 ''TARGET_MASK'' の RMSD を測定する。\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> rms TARGET_MASK first [mass] out OUTPUT [time TIME] [FITTING_MASK]
> go
* ''TARGET_MASK'': 対象のマスク
* ''first'': 最初のフレームをリファレンスにする。
* ''OUTPUT'': 出力ファイル
* ''time'': 各時間の刻み幅
* ''FITTING_MASK'': 指定されたアトムタイプでフィッティングする (指定しなければ、''TARGET_MASK'' でフィッティングされる)
===== RMSF解析 =====
* 指定された対象の RMSF を解析する。
* RMSF はゆらぎのパラメータ
* ''cpptraj'' に同梱のパッケージで解析ができる。
* パラメータファイル (''test.prmtop'') と座標ファイル (''test.inpcrd'' / ''*.nc'' / ''*.mdcrd'') が必要\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> atomicfluct out OUTPUT [byres]
> go
* ''OUTPUT'': 出力ファイル
* ''byres'': 各残基ごとに出力
===== 水素結合解析 =====
* 指定された対象の水素結合数の経時変化を解析する。
* ''cpptraj'' に同梱のパッケージで解析ができる。
* パラメータファイル (''test.prmtop'') と座標ファイル (''test.inpcrd'' / ''*.nc'' / ''*.mdcrd'') が必要\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> hbond angle ANGLE dist DISTANCE donarmask DONAR_MASK acceptormask ACCEPTOR_MASK out OUTPUT solvout OUTPUT_SOLV bridgeout OUTPUT_BRIDGE avgout OUTPUT_AVG
> go
* ''ANGLE'': 水素結合の角度 (デフォルト: 135.0°)
* ''DISTANCE'': 水素結合の距離 (デフォルト: 3.5 Å)
* ''DONAR_MASK'': 水素結合ドナーのマスク (酸素や窒素などの水素原子を受け取る側)
* ''ACCEPTOR_MASK'': 水素結合アクセプターのマスク (水素原子が付いている側)
* ''OUTPUT'': 出力ファイル
* ''OUTPUT_SOLV'': 溶質-溶質水素結合の平均?
* ''OUTPUT_BRIDGE'': 溶媒水素結合ブリッジ?
* ''OUTPUT_AVG'': 溶質間の水素結合 (結合しているアトムタイプも出力される)
==== 例 ====
* 1\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> hbond angle 135.0 dist 3.5 \
mask :D* \
solventdonar :EG@O* \
solventacceptor :EG@O* \
out A.dat \
solvout B.dat \
bridgeout C.dat \
avgout D.dat
> go
* 2\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> hbond angle 135.0 dist 3.0 \
donarmask :4 \
acceptormask :1-3,5-15 \
out X4d.dat \
solvout X4d_solv.dat \
bridgeout X4d_bridge.dat \
avgout X4d_avg.dat
> go
==== 注意 ====
* hbond はバッチ処理では、そのままでは何度も使えないため、各処理毎 (go の後) に clear dataset datafile を付けて、連続処理する。
==== 参考サイト ====
* http://wadano-net.com/manual_files/amber12_wj.pdf
===== 水和水分析 =====
* 指定された対象の周囲の水分子数をカウントする。
* ''cpptraj'' に同梱のパッケージで解析ができる。
* パラメータファイル (''test.prmtop'') と座標ファイル (''test.inpcrd'' / ''*.nc'' / ''*.mdcrd'') が必要\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> watershell SOLUTE_MASK out OUTPUT [lower SHELL1_DIST] [upper SHELL2_DIST] [SOLVENT_MASK]
> go
* ''SOLUTE_MASK'': 溶質のマスク
* ''OUTPUT'': 出力ファイル
* ''SHELL1_DIST'': 第一水和圏の距離 (デフォルト: 3.4 Å)
* ''SHELL2_DIST'': 第二水和圏の距離 (デフォルト: 5.0 Å)
* ''SOLVENT_MASK'': 溶媒のマスク (Gromacs はデフォルトで水分子が '':SOL'' なので指定しておいたほうが良い)
===== 距離解析 =====
* 指定された対象間の距離の経時変化を解析する。
* ''cpptraj'' に同梱のパッケージで解析ができる。
* パラメータファイル (''test.prmtop'') と座標ファイル (''test.inpcrd'' / ''*.nc'' / ''*.mdcrd'') が必要
* 対象1 ''TARGET1_MASK'' と対象2 ''TARGET2_MASK'' の重心 (中心) 間の距離を測定する。\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> distance TARGET1_MASK TARGET2_MASK out OUTPUT [geom]
> go
* ''TARGET1_MASK'': 対象1のマスク
* ''TARGET2_MASK'': 対象2のマスク
* ''OUTPUT'': 出力ファイル
* ''geom'': 幾何学的中心で測定 (指定しなければ、重心で測定)
===== 水分子等を一定距離で切り出した構造の抽出 =====
* 生体分子から一定距離にある水分子のみを残した構造をトラジェクトリから抽出する。\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> mask MASK_BIOMOL<:DIST maskpdb OUTPUT.pdb
> go
* ''MASK_BIOMOL'': 生体分子のマスク
* ''DIST'': 生体分子からの距離 (例: '':5.0'' = 残基単位で切り出す; ''@5.0'' = 原子単位で切り出す)
* ''OUTPUT.pdb'': 出力するファイル (''OUTPUT.pdb.1'' のように、ファイル名の後にフレーム番号が付けられ、フレーム毎に出力される)
* カウンターイオンが含まれており、水分子のみを切り出したい場合は、''(:1-20)|((:1-20<:5.0)&WAT)'' のように、論理演算子を使う。
* 距離の算出には trajin のそれぞれのフレームが用いられるが、別のリファレンス構造を用いたい場合は、''reference'' と ''activeref REFERENCE_INDEX'' を指定する。\\
$ cpptraj
> parm test.prmtop
> trajin test.inpcrd
> reference test2.inpcrd
> activeref 0
> mask MASK_BIOMOL<:DIST maskpdb OUTPUT.pdb
> go
===== カーブフィッティング =====
* 生体分子に関わらず、与えられたデータをカーブフィッティングする。\\
curvefit DATASET_NAME EQUATION INITIAL_VAL out OUTPUT.dat tol TOLERANCE maxit ITER resultsout PARAM.dat
* ''DATASET_NAME'': データセット名 (''readdata'' で読み込んだファイルのデータセット名)
* ''EQUATION'': フィッティングする関数
* ''INITIAL_VAL'': フィティング関数に初めに与える初期値
* ''OUTPUT.dat'': フィッティング後のデータセットを出力するファイル
* ''TOLERANCE'': フィッティングの閾値
* ''ITER'': フィッティングのループ回数
* ''PARAM.dat'': フィッティング結果を出力するファイル (フィッティング関数で決定した係数や誤差など)
* 例: 一次関数でフィッティングする場合\\
$ cpptraj
> readdata "data.dat"
> runanalysis curvefit "data.dat" \
"FitY = A0 * X + A1" \
A0=10 A1=20 \
out "curve.dat" \
tol 0.001 \
maxit 50 \
resultsout "param.dat"
> go
* 参考サイト:
* [[https://amberhub.chpc.utah.edu/curvefit/ | curvefit – AMBER-hub]]
{{tag>Linux 分子シミュレーション アプリケーション}}