ATOM      2  CA  PRO A   4      29.341 -18.244  23.236  1.00112.52           C
ATOM      9  CA  LYS A   5      28.103 -17.550  19.692  1.00 91.13           C
ATOM     18  CA  PRO A   6      29.134 -14.592  19.578  1.00 63.64           C
ATOM     51  CA  GLY A  10      24.012  -5.835  11.284  1.00 25.93           C
ATOM     55  CA  ILE A  11      23.574  -2.078  10.974  1.00 25.44           C
ATOM     63  CA  ALA A  12      22.508  -0.631   7.650  1.00 33.94           C
ATOM     68  CA  GLY A  13      20.982   2.603   6.424  1.00 29.02           C
ATOM   1605  CA  LYS B   5       8.357   5.403  38.590  1.00 58.36           C
ATOM   1614  CA  PRO B   6       6.423   2.744  36.650  1.00 49.68           C
ATOM   1621  CA  PHE B   7       7.816   1.954  33.187  1.00 42.38           C
上記を”pdb3asy.ent”というテキストとして、これを読み込み、ATOM、CA、Aという文字を含む行(上7行)を抽出する。ここまでは出来ましたが、
最終的には抽出した7行の左から6個目の要素(今回では4,5,6,10,11,12,13)の数字がいくつからいくつがつながっているか(今回では46、1013)を調べるプログラムを作りたい。
下記のようにプログラムすると
4
5
6
10
11
12
13
と必要な要素をとってくることまでは出来ました。ここからどうしたらよいのか全然わかりませんでした。
教えていただきたいです。
path = 'pdb3asy.ent' with open(path) as f: lines = f.readlines() lines_strip = [line.strip() for line in lines] for A_and in lines: A_and=A_and.split() if A_and[0] == 'ATOM' and A_and[2] == 'CA' and A_and[4] == 'A': A_CA=A_and[5] print(A_CA)
回答4件
あなたの回答
tips
プレビュー