By Daniel R. Roe, July 2014
このチュートリアルはMDシミュレーションを行った後での最も基本的な座標の平均二乗偏差(RMSD)の分析を解説する。さらにトポロジーファイルと参照ファイルをCPPTRAJで関係づけることも解説する。.
RMSDは座標のターゲットセット(つまり構造)と参照座標セットの差を測定し、完全に一致した場合RMSD=0.0として表す。 RMSDは以下の式で表す。:
ターゲットと参照構造のRMSDを計算する場合、2つの重要な必要条件がある。:
このチュートリアルは既にAmberToolsがインストールしテストされ、first CPPTRAJ tutorialを終了していることを前提としている。さらにxmgraceがアウトプットデータを可視かするのに必要である。分子グラフィックを見るプログラム、VMDもしくはChimeraは構造/trajectoriesをみるのに便利である。
このチュートリアルを通してbeta-hairpin trpzip2を短いtrajectory例として使う。そのtrajectoryはNetCDF formatで、ASCII formatと比べてプロセスするのが速く、よりコンパクトで、より正確で、より頑強である。NetCDFはamberではデフォルトとして使えるが、もしCPPTRAJ がこのtrajectoryを使えない場合はAmber mailing listへ、help fileを送ってください。trajectory、 topology、その他のファイルは下記からダウンロードできる。:
より詳細なCPPTRAJの情報は下記を参照:
CPPTRAJの開始には, 'cpptraj'コマンドラインから'cpptraj'と入力する。:
[user@computer ~]$ cpptraj CPPTRAJ: Trajectory Analysis. V14.05 ___ ___ ___ ___ | \/ | \/ | \/ | _|_/\_|_/\_|_/\_|_ >
topologyとtrajectoryファイルのロード:
> parm trpzip2.ff10.mbondi.parm7 Amber Topologyとして'trpzip2.ff10.mbondi.parm7'を読む > trajin trpzip2.gb.nc Amber NetCDFとして'trpzip2.gb.nc'を読むF
RMSD コマンドの入力:
> rms ToFirst :1-13&!@H= first out rmsd1.agr mass RMSD: (:1-13&!@H*), 参照は最初のフレーム (:1-13&!@H*)、 mass-weightedでフィッティングする。
この場合、すべての残基1から13中のnon-hydrogen原子を使用し、最初のフレームを参照座標として'rmsd1.agr'に書き出し、mass-weighted RMSDを計算し、'ToFirst'にデータを保存した(.agrファイルxmgraceの入力ファイルとして使用可能)。CPPTRAJのrmsコマンドはbest-fit RMSDを計算するが、これはそれぞれの構造を回転させ、移動させて参照構造(この場合は最初のフレーム)に対するRMSDが最小になるように初期設定されていることを意味している。 従ってrmsコマンドは以下で'nofit'が指定されない限り全ての続くコマンドでは座標(coordinate)を修正する。(後に詳述する).
runと入力してtrajectory processを開始する。実行が終わりxmgrace がインストールしてあればCPPTRAJコマンドラインの右に出力を見ることが出来る。:
> xmgrace rmsd1.agr
この図のX軸はフレーム数でY軸は最初のフレームに対するcoordinate RMSD (Angstrom単位)。
最初のフレームを参照にしたRMSDは最初の構造からの変異を示すインジケーターとしては有用であるが、X-ray crystallography や NMRなどの実験値等からの特異的参照構造からとの差も興味深い。NMRによるtrpzip2.pdbは1LE1である。Amber restartファイル 'trpzip2.1LE1.1.rst7'はNMRアンサンブルの最初のメンバーに対する座標を含んでいる。この構造は'reference' コマンドでreferenceとしてロードできる。
> reference trpzip2.1LE1.1.rst7 Reading 'trpzip2.1LE1.1.rst7' as Amber Restart 'trpzip2.1LE1.1.rst7' is an AMBER restart file, no velocities, Parm trpzip2.ff10.mbondi.parm7 (reading 1 of 1)
同様に、Amber restart file 'trpzip2.1LE1.10.rst7'はNMR ensembleの10番目の座標を含んでいる。:
> reference trpzip2.1LE1.10.rst7 [tenth_member] Reading 'trpzip2.1LE1.10.rst7' as Amber Restart 'trpzip2.1LE1.10.rst7' is an AMBER restart file, no velocities, Parm trpzip2.ff10.mbondi.parm7 (reading 1 of 1)
この場合、referenceとして'[tenth_member]にtagg付けをしたことになる。cpptrajでは reference structures と topology ファイルはともにブラケットで囲まれた名前,つまり [<name>]でロードされるとタグ付けされる。そのファイルはファイルname、index(ロードされた順序で0から)もしくはタグで参照される。
CPPTRAJが普通に読めるtrajectoryファイルは、希望のフレームナンバー、もしくは最後のtrajectフレームを'lastframe'で明確に選択できる。例えば、最後のtrajectフレームをreference structureとして使いたい場合、'lastframe' keywordを[last]等とタグ付けできる。 :
> reference trpzip2.gb.nc lastframe [last] Reading 'trpzip2.gb.nc' as Amber NetCDF 'trpzip2.gb.nc' is a NetCDF AMBER trajectory, Parm trpzip2.ff10.mbondi.parm7 (reading 1 of 1201)
'list'コマンドで現在ロードされているreference structuresの情報を見ることができる。:
> list ref REFERENCE FRAMES (3 total): 0: 'trpzip2.1LE1.1.rst7', frame 1 1: [tenth_member] 'trpzip2.1LE1.10.rst7', frame 1 2: [last] 'trpzip2.gb.nc', frame 1201 Active reference frame for masks is 0
3種のreference structuresがロードされており、そのindices、、とタグが示されている。(もしtag があれば).
幾つかのreference structuresをロードしたので、それぞれのRMSDを計算できる。3キーワードでreference structuresを選択可能でである。:
> rms ToMember1 :1-13&!@H= reference out rmsd2.agr Mask [:1-13&!@H*] corresponds to 116 atoms. RMSD: (:1-13&!@H*), reference is reference frame trpzip2.1LE1.1.rst7 (:1-13&!@H*), with fitting. > rms ToMember10 :1-13&!@H= refindex 1 out rmsd2.agr Mask [:1-13&!@H*] corresponds to 116 atoms. RMSD: (:1-13&!@H*), reference is reference frame trpzip2.1LE1.10.rst7 (:1-13&!@H*), with fitting. > rms ToLast :1-13&!@H= ref [last] out rmsd2.agr Mask [:1-13&!@H*] corresponds to 116 atoms. RMSD: (:1-13&!@H*), reference is reference frame trpzip2.gb.nc (:1-13&!@H*), with fitting.
runでtrajectory処理を開始する。実行がすみ、xmgraceがインストールされている場合、CPPTRAJコマンドラインの右に出力が表示される。:
> xmgrace rmsd2.agr
ここでは、trajectoryがmember10よりmember1にやや近い出発していることがわかる。
同じトポロジを持っていないかもしれない構造の間のRMSDを見ることは有用であることが多い。たとえば、関連したヘアピン構造は、プロテインG(2GB1 GB1、PDB ID)のB1 IgG結合ドメインの関連したヘアピン構造で、その鎖中の疎水性残基は同様の構成を有している。ただし、それは異なるターンモチーフならびにターン領域に2つの残基が追加されている。trpzip2のストランドがどれほどGB1のものに似ているかは興味深いかもしれないし、またはGB1ヘアピンとtrpzip2の構造を整列させることも面白いかもしれない。これは、参照構造としてGB1をロードし、それらが重なるようtrpzip2のターゲットマスクとGB1のreferenceマスクを選択することによって行うことができる。二つの構造を調査することで、GB1の42から47、50から55の残基はtrpzip2の1〜6及び7〜12の残基に重なることが明らかになった。
GB1がtrpzip2とは異なるトポロジーを持っているので、私たちは新しいトポロジとしてそれをロードする必要がある。
> parm 2GB1.pdb Reading '2GB1.pdb' as PDB File 2GB1.pdb: determining bond info from distances. Warning: 2GB1.pdb: Determining default bond distances from element types.
PDBファイルは結合情報を含んでいないので、CPPTRAJが自動的に原子間距離や要素タイプに基づいて、結合情報を決定しようとしていることに注意する。
現在、refernce構造として2GB1をロードすることができる。2GB1は読み込まれた最初のトポロジーを使用していないので、使用するトポロジーを指定する必要がある。reference構造と同様に、topologiesは、インデックス、名前、またはタグで指定することができる。
> reference 2GB1.pdb parm 2GB1.pdb [GB1] Reading '2GB1.pdb' as PDB '2GB1.pdb' is a PDB file, Parm 2GB1.pdb (reading 1 of 1)
'rms'コマンドを指定するが、以前のコマンドとは若干の違いがある。まず、残基は、2本鎖の間でほとんど異なり、PDB中の原子の順序は用いているトポロジーにとは異なることもあるので、α炭素のみを使用する。GB1に選択するために原子を説明しtrpzip2に選択するために原子を記述1、および1:第二に、我々は2つのマスクを指定する必要があります。 次にtwo mask、trpzip2の原子を選択するmaskとGB1の原子を選択するmaskを決める必要がある。
> rms ToGB1 ref [GB1] :1-12@CA :42-47,50-55@CA out rmsd3.agr Mask [:42-47,50-55@CA] corresponds to 12 atoms. RMSD: (:1-12@CA), reference is reference frame 2GB1.pdb (:42-47,50-55@CA), with fitting.
CPPTRAJがRMS-best-fitに達した後、'onlyframes' keywordを用いてtrpzip2のfirst frame書き出す。
> trajout trpzip2.overlap.mol2 onlyframes 1 Writing 'trpzip2.overlap.mol2' as Mol2 Saving frames 1
trajectoryを処理の実行を'run'で始める。trajectory処理中に選択されたターゲット原子の数は、referenceとして選択された原子の数と一致していることを出力で見ることができる。
ACTION SETUP FOR PARM 'trpzip2.ff10.mbondi.parm7' (1 actions): 0: [rms ToGB1 ref [GB1] :1-12@CA :42-47,50-55@CA out rmsd3.agr] Mask [:1-12@CA] corresponds to 12 atoms.
実行が終わり、xmgraceがインストールされていればCPPTRAJ command lineの右にその出力を見ることが出来る。:
> xmgrace rmsd3.agr
出力構造を可視化すばtrazip2のcoordinateがGB1のストランドの特定の場所にベストフィットされているのが分かる。
以下のファイルはアウトプットをチェックするために使用する。
rmsd1.inCopyright Daniel R. Roe, 2014