By Daniel R. Roe, July 2014
(訳 和田野 晃)
このチュートリアルはシミュレーションデータをCPPTRAJで分析するための概説である。CPPTRAJはPTRAJの後継者で多くの特徴を持ってる。CPPTRAJには基本的な分析法とデータセットの扱い法はカバーされている。このことはAmberToolsがちゃんとインストールされテストされていることを前提としている。そしてAmber atom mask selection syntaxにも精通してることも前提である。atom mask selection syntaxの詳細はAmber manual (section 28.2.3. Atom Mask Selection Syntax in the Amber 14 manual)を参照。また、xmgraceは、出力データの一部を表示するために必要である。
このチュートリアルでは、例として短いβ-ヘアピン軌跡trpzip2を使用する。軌跡は、ASCII形式よりも速くプロセシングでき、よりコンパクトで高精度で堅牢であるNetCDF形式である。NetCDFはアンバーでデフォルトで有効になっているが、CPPTRAJが読み取ることができない場合、アンバーメーリングリストに問い合わせなさい。 軌跡と関連したトポロジーはここからダウンロードすることができる::
CPPTRAJの詳細については、こちらを参照しなさい:
CPPTRAJを開始するには, コマンドラインから'cpptraj' と入力する。:
[user@computer ~]$ cpptraj CPPTRAJ: Trajectory Analysis. V14.05 ___ ___ ___ ___ | \/ | \/ | \/ | _|_/\_|_/\_|_/\_|_ >
引数なしでCPPTRAJを実行すると、対話型のコマンドラインが表示される。コマンドラインは、単純または短い分析を実行する場合に便利である。コマンドラインでは、ファイル名やコマンドのタブ補完を可能にする。また、対話モードで使用されたすべてのコマンドは、cpptraj.logファイルに書き込まれる(この名前はコマンドラインスイッチ --logで変更することができる。cpptraj --log test.logなど)。
軌跡に読む込ます前に、CPPTRAJはトポロジーのシステムがどのようなものかを知る必要がある。この情報は、トポロジーファイルに含まれている。最初にPARMコマンドでトポロジーファイルをロードする。:
> parm trpzip2.ff10.mbondi.parm7 アンバー・トポロジーとして「trpzip2.ff10.mbondi.parm7」を読む
現在ロードされているトポロジーは「list」コマンドで見ることができる:
> list parm PARAMETER FILES: 0: 'trpzip2.ff10.mbondi.parm7', 220 atoms, 13 res, box: None, 1 mol
出力は、トポロジーインデックス(0から始まる)とそれに続く簡単な情報を示している。より詳細な情報は、希望のトポロジーのナンバーを示す<#>を加えたparminfo <#>コマンドを使用して得ることができる。
> parminfo 0 Topology trpzip2.ff10.mbondi.parm7 contains 220 atoms. 13 residues. 1 molecules. 227 bonds (104 to H, 123 other). 402 angles (233 with H, 169 other). 853 dihedrals (481 with H, 372 other). Box: None GB radii set: modified Bondi radii (mbondi)
上記トポロジーファイルがロードされ、CPPTRAJでどのトポロジー(軌跡)をプロセスするかが分かる。
> trajin trpzip2.gb.nc Reading 'trpzip2.gb.nc' as Amber NetCDF
このコマンドは後で処理するための入力軌跡リストに当該の軌跡を記載するだけで、直接には軌跡を読んでいないことに注意する。入力軌跡リストに現在あるものを見るためには、「list」コマンドを使用する:
> list trajin INPUT TRAJECTORIES: 0: 'trpzip2.gb.ncはNetCDFフォーマットの AMBER trajectoryで、Parm trpzip2.ff10.mbondi.parm7 (reading 1201 of 1201)で、処理は1201フレームで行われる。
今トポロジーとトラジェクトリーがロードされ、我々はトラジェクトリーからデータを生成するアクションを指定できる。我々はトラジェクトリーの過程でヘアピンのend-to-endの距離を知りたい。のですが、たとえば言う。我々は、この情報を得るために「距離」コマンドを使用することができる。まず、「distance」コマンドの構文を確認するために「help」コマンドを使用する。:
> help distance [<name>] <mask1> <mask2> [out <filename>] [geom] [noimage] [type noe] Options for 'type noe': [bound <lower> bound <upper>] [rexp <expected>] [noe_strong] [noe_medium] [noe_weak] Calculate distance between atoms in <mask1> and <mask2>
「ヘルプ」コマンドを引数なしで実行すると、すべてのコマンドのリストを表示することができる。
trpzip2の最後の残基と対応している原子を知るために、「resinfo 'コマンドを使用する。
> resinfo #Res Name First Last Natom #Orig 1 SER 1 13 13 1 2 TRP 14 37 24 2 3 THR 38 51 14 3 4 TRP 52 75 24 4 5 GLU 76 90 15 5 6 ASN 91 104 14 6 7 GLY 105 111 7 7 8 LYS 112 133 22 8 9 TRP 134 157 24 9 10 THR 158 171 14 10 11 TRP 172 195 24 11 12 LYS 196 217 22 12 13 NHE 218 220 3 13
この出力から、このファイルの最後の残基は1と13であることがわかる。「resinfo、atominfo、molinfoコマンドは、システムレイアウトを検査し、さらにアトムマスク表示の結果を調べるために有用である。例えば、アトムマスク ':13'により、どの原子が選択されたかを知ることができる(残基13)。:
> atominfo :13 #Atom Name #Res Name #Mol Type Charge Mass GBradius El 218 N 13 NHE 1 N -0.4630 14.0100 1.5500 N 219 HN1 13 NHE 1 H 0.2315 1.0080 1.3000 H 220 HN2 13 NHE 1 H 0.2315 1.0080 1.3000 H
「distance」コマンドを入力すると:
> distance end-to-end :1 :13 out dist-end-to-end.agr DISTANCE: :1 to :13, center of mass.
このコマンドで、残基1と残基13の質量の中心間距離を計算し名前をend-to-endというデータとしdist-end-to-end.agrという名前のファイルに書き込む。ファイル名の拡張子が「.agr」であればxmgraceのファイルとしてCPPTRAJによって認識されるため、xmgraceで読み取り可能になる。「.gnu '拡張子を指定することで、gnuplotの読み取り可能なフォーマットに変更することができる。拡張子が「.dat」または認識されない場合は、CPPTRAJは標準のカラム形式にデフォルト設定する。サポートされている形式とその関連の拡張機能の完全なリストについてはアンバー14のマニュアルを参照する。
「trajin」コマンドと同様に、どのアクションを入力してもすぐに実行されず、どのアクションがアクションリストに記載されているかは「list」コマンドで確認できる。:
> list actions ACTIONS: 0: [distance end-to-end :1 :13 out dist-end-to-end.agr]
トポロジー、軌跡をロードして、アクションを指定たので、コマンド「run」または「go」で実行することができる。これは、各フレームに任意の指定されたアクションを実行し、各ロードされた軌跡を処理することをCPPTRAJに指示する。軌跡処理中にCPPTRAJが何をしているかを示す情報が示される。まず、現在ロードされているトポロジやトラジェクトリーの情報が出力される。
> run ---------- RUN BEGIN ------------------------------------------------- PARAMETER FILES: 0: 'trpzip2.ff10.mbondi.parm7', 220 atoms, 13 res, box: None, 1 mol, 1201 frames INPUT TRAJECTORIES: 0: 'trpzip2.gb.nc' is a NetCDF AMBER trajectory, Parm trpzip2.ff10.mbondi.parm7 (reading 1201 of 1201) Coordinate processing will occur on 1201 frames. TIME: Run Initialization took 0.0000 seconds.
基準座標または出力軌跡が指定されている場合は表示される。
次に、最初のトラジェクトリーがロードされ、すべてのアクションがそのトラジェクトリー/トポロジーのために設定される。
BEGIN TRAJECTORY PROCESSING: ..................................................... ACTION SETUP FOR PARM 'trpzip2.ff10.mbondi.parm7' (1 actions): 0: [distance end-to-end :1 :13 out dist-end-to-end.agr] :1 (13 atoms) to :13 (3 atoms), imaging off.
「distance」アクションが設定されている。
次いで, トラジェクトリーの各フレームを読み処理する。:
----- trpzip2.gb.nc (1-1201, 1) ----- 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Complete.
すべての軌跡が処理されると、すべての実行で処理されたフレームの数、アクションによる出力、生成されたデータセット、およびデータファイル等の概要が書き込まれる。
Read 1201 frames and processed 1201 frames. TIME: Trajectory processing: 0.0094 s TIME: Avg. throughput= 127372.9982 frames / second. ACTION OUTPUT: DATASETS: 1 data set: end-to-end "end-to-end" (double, distance), size is 1201 DATAFILES: dist-end-to-end.agr (Grace File): end-to-end ---------- RUN END ---------------------------------------------------
xmgraceがインストールされ、X-サーバーを実行していると、CPPTRAJコマンドラインから下記のコマンドでグラフを表示できる。
> xmgrace dist-end-to-end.agr
From the 'DATASETS' section of the output:
DATASETS: 1 data set: end-to-end "end-to-end" (double, distance), size is 1201
「"end-to-end"」という名前のデータセットを生成し、それが1201の要素で倍精度の距離データであり、データ名は"end-to-end"である。必要に応じて、このデータセットを操作する。'writedata'を使えば、標準的な(列)データ形式でデータを書き出すことも可能である。:
> writedata end-to-end.dat end-to-end end-to-end
Linuxの「head」コマンドはCPPTRAJコマンドラインから直接使用することができ、「end-to-end.dat」の最初の数行を表示できる。
> head end-to-end.dat #Frame end-to-end 1 6.4251 2 5.9250 3 6.7926 4 6.3125 5 5.7580 6 5.4389 7 6.1086 8 6.5588 9 5.6949
CPPTRAJを終了するには、「quit」または「exit」と入力する。
> quit TIME: Total execution time: 131.2112 seconds. -------------------------------------------------------------------------------- To cite CPPTRAJ use: Daniel R. Roe and Thomas E. Cheatham, III, "PTRAJ and CPPTRAJ: Software for Processing and Analysis of Molecular Dynamics Trajectory Data". J. Chem. Theory Comput., 2013, 9 (7), pp 3084-3095.
インタラクティブに実行しないで、CPPTRAJは1つまたは複数の入力ファイルを使用して実行することができる。ログファイル 'cpptraj.log'には、使用されたすべてのコマンドが記録されているので、基本的なcpptraj「スクリプト」として使用することがでる。たとえば、これまでに行っているすべてのものを生成するには次の入力を使用することができる。:
parm trpzip2.ff10.mbondi.parm7 trajin trpzip2.gb.nc distance end-to-end :1 :13 out dist-end-to-end.agr run writedata end-to-end.dat end-to-end
「cpptraj.in」というファイルに上記のコマンドを貼り付ける。コマンドは、ファイルに書いたとおりに実行される。:
[user@computer ~]$ cpptraj -i cpptraj.in CPPTRAJ: Trajectory Analysis. V14.05 ___ ___ ___ ___ | \/ | \/ | \/ | _|_/\_|_/\_|_/\_|_ INPUT: Reading Input from file cpptraj.in [parm trpzip2.ff10.mbondi.parm7] Reading 'trpzip2.ff10.mbondi.parm7' as Amber Topology [trajin trpzip2.gb.nc] Reading 'trpzip2.gb.nc' as Amber NetCDF [distance end-to-end :1 :13 out dist-end-to-end.agr] DISTANCE: :1 to :13, center of mass. [run] ---------- RUN BEGIN -------------------------------------------------
出力の残りの部分は、以前に見られたものと同様である。
ある行に'Warning:'または'Error:'メッセージの有無をチェックすることは非常に重要である。それらのエラーは、その行の入力に問題がある可能性を示している。
これらのファイルは、出力を確認するために使用することができる。
dist-end-to-end.agrCopyright Daniel R. Roe, 2014