【发布时间】:2017-04-04 15:08:38
【问题描述】:
目标:应该使用 Biopython 合并来自 PDB 的两条链。在下面的例子中,我想将两条链 A 和 B 合并到 C 中。
ATOM 1133 N VAL A 100 12.484 -30.583 106.831 1.00 30.28 N
ATOM 1134 CA VAL A 100 11.430 -31.194 106.033 1.00 34.41 C
ATOM 1135 C VAL A 100 11.985 -32.402 105.259 1.00 39.25 C
ATOM 1136 O VAL A 100 11.248 -33.126 104.568 1.00 46.37 O
ATOM 1137 CB VAL A 100 10.822 -30.174 105.029 1.00 35.16 C
ATOM 1138 CG1 VAL A 100 10.159 -29.020 105.767 1.00 36.95 C
ATOM 1139 CG2 VAL A 100 11.865 -29.669 104.007 1.00 30.60 C
TER
ATOM 1141 N GLU B 1 12.344 -43.792 102.987 1.00 64.25 N
ATOM 1142 CA GLU B 1 11.253 -42.785 103.240 1.00 66.15 C
ATOM 1143 C GLU B 1 11.742 -41.350 102.948 1.00 65.40 C
ATOM 1144 O GLU B 1 12.011 -40.595 103.895 1.00 65.31 O
ATOM 1145 CB GLU B 1 10.779 -42.877 104.712 1.00 67.04 C
这些代码行可以将它们合并到一个链中,但它们不能删除 TER 关键字。
merged_chains=['A', 'B']
new_rsd_num = 1
for model in structure:
for chain in model:
if chain.id in merged_chains:
chain.id = 'C'
for residue in chain:
residue.id = (' ', new_rsd_num, ' ')
new_rsd_num += 1
这组代码产生以下输出,其中包含两条链之间的 TER 关键字。
...
ATOM 1133 N VAL C 100 12.484 -30.583 106.831 1.00 30.28 N
ATOM 1134 CA VAL C 100 11.430 -31.194 106.033 1.00 34.41 C
ATOM 1135 C VAL C 100 11.985 -32.402 105.259 1.00 39.25 C
ATOM 1136 O VAL C 100 11.248 -33.126 104.568 1.00 46.37 O
ATOM 1137 CB VAL C 100 10.822 -30.174 105.029 1.00 35.16 C
ATOM 1138 CG1 VAL C 100 10.159 -29.020 105.767 1.00 36.95 C
ATOM 1139 CG2 VAL C 100 11.865 -29.669 104.007 1.00 30.60 C
TER
ATOM 1141 N GLU C 101 12.344 -43.792 102.987 1.00 64.25 N
ATOM 1142 CA GLU C 101 11.253 -42.785 103.240 1.00 66.15 C
ATOM 1143 C GLU C 101 11.742 -41.350 102.948 1.00 65.40 C
ATOM 1144 O GLU C 101 12.011 -40.595 103.895 1.00 65.31 O
ATOM 1145 CB GLU C 101 10.779 -42.877 104.712 1.00 67.04 C
...
但是输出应该跟在哪个 TER 关键字应该被移除之后。
...
ATOM 1133 N VAL C 100 12.484 -30.583 106.831 1.00 30.28 N
ATOM 1134 CA VAL C 100 11.430 -31.194 106.033 1.00 34.41 C
ATOM 1135 C VAL C 100 11.985 -32.402 105.259 1.00 39.25 C
ATOM 1136 O VAL C 100 11.248 -33.126 104.568 1.00 46.37 O
ATOM 1137 CB VAL C 100 10.822 -30.174 105.029 1.00 35.16 C
ATOM 1138 CG1 VAL C 100 10.159 -29.020 105.767 1.00 36.95 C
ATOM 1139 CG2 VAL C 100 11.865 -29.669 104.007 1.00 30.60 C
ATOM 1141 N GLU C 101 12.344 -43.792 102.987 1.00 64.25 N
ATOM 1142 CA GLU C 101 11.253 -42.785 103.240 1.00 66.15 C
ATOM 1143 C GLU C 101 11.742 -41.350 102.948 1.00 65.40 C
ATOM 1144 O GLU C 101 12.011 -40.595 103.895 1.00 65.31 O
ATOM 1145 CB GLU C 101 10.779 -42.877 104.712 1.00 67.04 C
...
知道使用 BioPython 删除 TER 关键字吗?
【问题讨论】: