Linux 从pdb TrajCtrl中提取每个文件
我有一个pdb文件,它表示该文件的外观Linux 从pdb TrajCtrl中提取每个文件,linux,bash,awk,protein-database,Linux,Bash,Awk,Protein Database,我有一个pdb文件,它表示该文件的外观 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
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
我想打印信息
MODEL 1
[all info]
TER
ENDMDL
适用于所有型号。保留文件的格式。我试过这个
awk '/MODEL 1/,/ENDMDL/' test.pdb
但是我的文件太大了,无法手动操作。我想将每个模型保存为model1、model2等,并将其坐标信息保存到ENDMDL
$ 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
解释:
/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
}
谢谢,但我想将每个模型保存为model1.pdb、model2.pdb等。如果我使用这个代码,我只得到一个文件。是的,它有助于将所有的需求添加到问题中。