0

我有一个 PDB 文件,简而言之,它看起来有点像这样

ATOM   1189  CA  ILE A 172       4.067   0.764 -48.818  1.00 19.53           C  
ATOM   1197  CA ATHR A 173       7.121   3.051 -48.711  0.50 17.77           C  
ATOM   1198  CA BTHR A 173       7.198   2.978 -48.704  0.50 16.94           C  
ATOM   1208  CA  ALA A 174       7.797   2.124 -52.350  1.00 16.85           C  
ATOM   1213  CA  LEU A 175       4.431   3.707 -53.288  1.00 16.47           C  
ATOM   1221  CA  VAL A 176       4.498   6.885 -51.185  1.00 13.92           C  
ATOM   1228  CA  ARG A 177       6.418  10.059 -51.947  1.00 20.28           C  
ATOM   1241  CA  GLN B  23     -15.516  -2.515  13.305  1.00 32.36           C  
ATOM   1250  CA  ASP B  24     -12.740  -2.653  10.715  1.00 22.25           C  
ATOM   1258  CA  PHE B  25     -12.476  -2.459   6.886  1.00 19.17           C  
ATOM   1269  CA  TYR B  26     -12.886  -6.243   6.470  1.00 14.87           C  
ATOM   1281  CA  ASP B  27     -16.276  -6.196   8.222  1.00 18.01           C  
ATOM   1289  CA  PHE B  28     -17.998  -4.432   5.309  1.00 15.39           C  
ATOM   1300  CA  LYS B  29     -19.636  -5.878   2.191  1.00 14.46           C  
ATOM   1309  CA  ALA B  30     -19.587  -4.640  -1.378  1.00 15.26           C  
ATOM   1314  CA  VAL B  31     -21.000  -5.566  -4.753  1.00 16.26           C

我想去的是摆脱B并保留A,然后摆脱除第6排之外的所有东西

grep ^ATOM 2p31protein.pdb | grep ' CA ' | grep ' A ' | cut -c23-27

这就是我尝试过的,用 ATOM 和 CA 获得我想要的一切,并获得我想要的行,但它并没有摆脱 B

4

2 回答 2

1

这更适合awk

$ awk '$1=="ATOM"&&$3=="CA"&&$5=="A"{print $6}' file
172
173
173
174
175
176
177
于 2013-03-06T13:27:22.780 回答
0

使用 awk 你可能会更容易:

awk '$1=="ATOM" && $3=="CA" && $5=="A"{print $6}' your.pdb
于 2013-03-06T13:26:49.397 回答