2017-03-17 16 views
-1

私は、ファイルが、私はすべてのモデルのPDB trajctoryから各ファイルを解凍

MODEL  1 
[all info] 
TER 
ENDMDL 

情報を印刷したい

REMARK GENERATED BY TRJCONV 
TITLE  Protein in water t= 400.00000 
REMARK THIS IS A SIMULATION BOX 
CRYST1 99.547 99.547 99.547 90.00 90.00 90.00 P 1   1 
MODEL  1 
ATOM  1 N PRO A 1  46.850 67.380 57.030 1.00 0.00 
ATOM  2 H1 PRO A 1  46.230 66.770 56.500 1.00 0.00 
ATOM  3 H2 PRO A 1  46.420 68.290 56.940 1.00 0.00 
ATOM  4 CD PRO A 1  47.060 66.780 58.360 1.00 0.00 
TER 
ENDMDL 
REMARK GENERATED BY TRJCONV 
TITLE  Protein in water t= 800.00000 
REMARK THIS IS A SIMULATION BOX 
MODEL  10 
ATOM  1 N PRO A 1  46.850 67.380 57.030 1.00 0.00 
ATOM  2 H1 PRO A 1  46.230 66.770 56.500 1.00 0.00 
ATOM  3 H2 PRO A 1  46.420 68.290 56.940 1.00 0.00 
ATOM  4 CD PRO A 1  47.060 66.780 58.360 1.00 0.00 
TER 
ENDMDL 
REMARK GENERATED BY TRJCONV 
TITLE  Protein in water t= 1200.00000 
REMARK THIS IS A SIMULATION BOX 
MODEL  100 
ATOM  1 N PRO A 1  46.850 67.380 57.030 1.00 0.00 
ATOM  2 H1 PRO A 1  46.230 66.770 56.500 1.00 0.00 
ATOM  3 H2 PRO A 1  46.420 68.290 56.940 1.00 0.00 
ATOM  4 CD PRO A 1  47.060 66.780 58.360 1.00 0.00 
TER 
ENDMDL 

のように見えるの軌跡を表すPDBファイルを持っています。ファイルの形式を保持してください。私はこれを試した

awk '/MODEL  1/,/ENDMDL/' test.pdb 

しかし、私のファイルは非常に巨大なので、手動で行うことはできません。私はENDMDL

答えて

2
$ awk '/MODEL/{f="model" $2 ".pdb"} f{print > f} /ENDMDL/ {close(f);f=""}' file 
$ cat model1.pdb 
MODEL  1 
ATOM  1 N PRO A 1  46.850 67.380 57.030 1.00 0.00 
ATOM  2 H1 PRO A 1  46.230 66.770 56.500 1.00 0.00 
ATOM  3 H2 PRO A 1  46.420 68.290 56.940 1.00 0.00 
ATOM  4 CD PRO A 1  47.060 66.780 58.360 1.00 0.00 
TER 
ENDMDL 

までその座標情報とそうでMODEL1、MODEL2と、各モデルを保存したいの説明:

/MODEL/ {     # @ MODEL 
    f="model" $2 ".pdb" # use f as flag and target filename 
} 
f {      # when there is an f 
    print > f    # output to file in f 
} 
/ENDMDL/ {    # at the ENDMDL 
    close(f)    # close the file 
    f=""     # unset f 
} 
+1

ありがとうございましたが、私はmodel1.pdb、MODEL2として各モデルを保存したいです。 pdbなど。私はこのコードを使用する場合、私は単一のファイルを取得します。 – user2451501

+1

ええ、すべてのreqsを質問に追加すると便利です。 –

+1

ありがとうございます:) – user2451501

関連する問題