将 np.asarray 与 Biopython get_residues 一起使用:KeyError

问题描述 投票:0回答:1

我有一个名为 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)都工作得很好。

python numpy bioinformatics biopython
1个回答
0
投票

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 失败的原因。

不过,较新的版本也适用于此类链条

© www.soinside.com 2019 - 2024. All rights reserved.