我有一个名为 targetChain 的 Bio.PDB 链。它是 1nwx 的链 E。 这就是我的代码的样子:
>>> X = [r for r in targetChain.get_residues()]
>>>
>>> np.asarray(X)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/python-2.7.12/lib/python2.7/site-packages/numpy/core/numeric.py", line 531, in asarray
return array(a, dtype, copy=False, order=order)
File "/opt/python-2.7.12/lib/python2.7/site-packages/Bio/PDB/Entity.py", line 40, in __getitem__
return self.child_dict[id]
KeyError: 0
我不知道出了什么问题。 我正在与 python-2.7.12
numpy 1.12.0
生物版本1.70
现在,另一个奇怪的事情是这段代码对于另一个 PDB 结构(例如 4mne 链 B)工作得很好。
另外,我在另一台具有 numpy 1.8.0rcl 的机器上尝试了它,它对于我刚才提到的 PDB(1nwxE 和 4mneB)都工作得很好。
mmmh,检查
.pdb
文件:
ATOM 62735 CA GLY E 5 82.534 44.822 93.219 1.00 72.65 C
ATOM 62736 CA LYS E 6 82.797 42.530 96.237 1.00 69.48 C
ATOM 62737 CA GLN E 7 80.804 39.555 94.951 1.00 64.70 C
ATOM 62738 CA PRO E 8 83.162 36.757 96.006 1.00 58.00 C
ATOM 62739 CA ILE E 9 81.930 36.094 99.548 1.00 64.22 C
ATOM 62740 CA ALA E 10 83.191 33.015 101.397 1.00 64.25 C
ATOM 62741 CA VAL E 11 81.225 31.312 104.175 1.00 63.64 C
ATOM 62742 CA PRO E 12 82.841 28.734 106.465 1.00 63.94 C
ATOM 62743 CA SER E 13 81.274 25.572 107.889 1.00 64.49 C
ATOM 62744 CA GLY E 14 78.888 25.468 110.833 1.00 64.13 C
ATOM 62745 CA VAL E 15 76.531 28.204 109.655 1.00 63.64 C
ATOM 62746 CA THR E 16 72.966 27.783 108.394 1.00 63.34 C
ATOM 62747 CA VAL E 17 71.522 30.858 106.680 1.00 63.33 C
ATOM 62748 CA ASN E 18 67.873 30.980 105.617 1.00 63.55 C
ATOM 62749 CA ALA E 19 66.386 33.201 102.907 1.00 63.96 C
ATOM 62750 CA GLN E 20 62.782 33.762 103.997 1.00 64.28 C
ATOM 62751 CA ASP E 21 61.429 37.046 102.621 1.00 64.23 C
ATOM 62752 CA GLY E 22 62.639 40.454 103.756 1.00 63.92 C
ATOM 62753 CA VAL E 23 64.224 39.418 107.045 1.00 63.36 C
ATOM 62754 CA PHE E 24 67.826 38.196 107.092 1.00 62.91 C
ATOM 62755 CA LYS E 25 68.975 36.068 110.028 1.00 62.65 C
ATOM 62756 CA VAL E 26 72.133 34.044 110.657 1.00 62.89 C
ATOM 62757 CA LYS E 27 72.443 31.097 113.043 1.00 63.35 C
ATOM 62758 CA GLY E 28 75.506 29.285 114.345 1.00 64.07 C
ATOM 62759 CA PRO E 29 77.229 28.923 117.710 1.00 64.77 C
ATOM 62760 CA LYS E 30 74.106 29.953 119.634 1.00 65.35 C
ATOM 62761 CA GLY E 31 73.268 33.560 118.817 1.00 65.26 C
看起来链 E(也许还有其他链)仅由 RESIDUES CA 组成,所以也许这就是 Biopython 失败的原因。
不过,较新的版本也适用于此类链条