BioPython:残基大小与位置不同
BioPython: Residues size differ from position
我目前正在处理 PDB 数据集,我对残基的大小(每个残基的原子数)很感兴趣。我意识到原子数 -len(residue.child_list) - 与不同蛋白质中的残基不同,即使是相同的残基。例如:残基 'LEU' 在一种蛋白质中有 8 个原子,但在另一种蛋白质中有 19 个!
我的猜测是 PDB 或 PDBParser() 中的错误,但是差异很大!
例如分子 3OQ2:
r = model['B'][88]
r1 = model['B'][15] # residue at chain B position 15
In [287]: r.resname
Out[287]: 'VAL'
In [288]: r1.resname
Out[288]: 'VAL'
但是
In [274]: len(r.child_list)
Out[274]: 16
In [276]: len(r1.child_list)
Out[276]: 7
因此,即使在单个分子内,原子数也存在差异。我想知道这在生物学上是否正常,或者是否有问题。谢谢。
强文本
我刚刚查看了提供的 PDB,真正的区别在于第一个 VAL (88) 有氢 (H) 的原子坐标,而另一个 VAL (15) 没有。
ATOM 2962 N VAL B 88 33.193 42.159 23.916 1.00 11.01 N
ANISOU 2962 N VAL B 88 1516 955 1712 56 -227 -128 N
ATOM 2963 CA VAL B 88 33.755 43.168 24.800 1.00 12.28 C
ANISOU 2963 CA VAL B 88 1782 1585 1298 356 -14 286 C
ATOM 2964 C VAL B 88 35.255 43.284 24.530 1.00 12.91 C
ANISOU 2964 C VAL B 88 1661 1672 1573 -249 0 -435 C
ATOM 2965 O VAL B 88 35.961 42.283 24.451 1.00 14.78 O
ANISOU 2965 O VAL B 88 1897 1264 2453 30 -293 21 O
ATOM 2966 CB VAL B 88 33.524 42.841 26.286 1.00 12.81 C
ANISOU 2966 CB VAL B 88 1768 1352 1747 -50 -221 -304 C
ATOM 2967 CG1 VAL B 88 34.166 43.892 27.160 1.00 16.03 C
ANISOU 2967 CG1 VAL B 88 2292 1980 1819 -147 73 -8 C
ATOM 2968 CG2 VAL B 88 32.020 42.727 26.586 1.00 17.67 C
ANISOU 2968 CG2 VAL B 88 2210 2728 1774 -363 -401 83 C
ATOM 2969 H VAL B 88 33.642 41.425 23.899 1.00 13.21 H
ATOM 2970 HA VAL B 88 33.340 44.035 24.608 1.00 14.73 H
ATOM 2971 HB VAL B 88 33.941 41.979 26.492 1.00 15.37 H
ATOM 2972 HG11 VAL B 88 34.011 43.670 28.081 1.00 19.23 H
ATOM 2973 HG12 VAL B 88 35.110 43.912 26.983 1.00 19.23 H
ATOM 2974 HG13 VAL B 88 33.777 44.746 26.959 1.00 19.23 H
ATOM 2975 HG21 VAL B 88 31.902 42.523 27.516 1.00 21.20 H
ATOM 2976 HG22 VAL B 88 31.596 43.562 26.377 1.00 21.20 H
ATOM 2977 HG23 VAL B 88 31.647 42.026 26.047 1.00 21.20 H
我会为分析中的每个残留物过滤掉这些原子。那么你应该几乎总是得到相同数量的原子。正如有人提到的,您必须考虑的另一件事是 Biopython 调用 'disordered residues'。这些残基在 crystal 晶格(他们称之为 'altloc')中有不止一个原子替代位置。解决这个问题应该可以解决您的问题。
如果您需要过滤掉这些原子的帮助,请告诉我。
法比奥
我目前正在处理 PDB 数据集,我对残基的大小(每个残基的原子数)很感兴趣。我意识到原子数 -len(residue.child_list) - 与不同蛋白质中的残基不同,即使是相同的残基。例如:残基 'LEU' 在一种蛋白质中有 8 个原子,但在另一种蛋白质中有 19 个!
我的猜测是 PDB 或 PDBParser() 中的错误,但是差异很大!
例如分子 3OQ2:
r = model['B'][88]
r1 = model['B'][15] # residue at chain B position 15
In [287]: r.resname
Out[287]: 'VAL'
In [288]: r1.resname
Out[288]: 'VAL'
但是
In [274]: len(r.child_list)
Out[274]: 16
In [276]: len(r1.child_list)
Out[276]: 7
因此,即使在单个分子内,原子数也存在差异。我想知道这在生物学上是否正常,或者是否有问题。谢谢。
强文本
我刚刚查看了提供的 PDB,真正的区别在于第一个 VAL (88) 有氢 (H) 的原子坐标,而另一个 VAL (15) 没有。
ATOM 2962 N VAL B 88 33.193 42.159 23.916 1.00 11.01 N
ANISOU 2962 N VAL B 88 1516 955 1712 56 -227 -128 N
ATOM 2963 CA VAL B 88 33.755 43.168 24.800 1.00 12.28 C
ANISOU 2963 CA VAL B 88 1782 1585 1298 356 -14 286 C
ATOM 2964 C VAL B 88 35.255 43.284 24.530 1.00 12.91 C
ANISOU 2964 C VAL B 88 1661 1672 1573 -249 0 -435 C
ATOM 2965 O VAL B 88 35.961 42.283 24.451 1.00 14.78 O
ANISOU 2965 O VAL B 88 1897 1264 2453 30 -293 21 O
ATOM 2966 CB VAL B 88 33.524 42.841 26.286 1.00 12.81 C
ANISOU 2966 CB VAL B 88 1768 1352 1747 -50 -221 -304 C
ATOM 2967 CG1 VAL B 88 34.166 43.892 27.160 1.00 16.03 C
ANISOU 2967 CG1 VAL B 88 2292 1980 1819 -147 73 -8 C
ATOM 2968 CG2 VAL B 88 32.020 42.727 26.586 1.00 17.67 C
ANISOU 2968 CG2 VAL B 88 2210 2728 1774 -363 -401 83 C
ATOM 2969 H VAL B 88 33.642 41.425 23.899 1.00 13.21 H
ATOM 2970 HA VAL B 88 33.340 44.035 24.608 1.00 14.73 H
ATOM 2971 HB VAL B 88 33.941 41.979 26.492 1.00 15.37 H
ATOM 2972 HG11 VAL B 88 34.011 43.670 28.081 1.00 19.23 H
ATOM 2973 HG12 VAL B 88 35.110 43.912 26.983 1.00 19.23 H
ATOM 2974 HG13 VAL B 88 33.777 44.746 26.959 1.00 19.23 H
ATOM 2975 HG21 VAL B 88 31.902 42.523 27.516 1.00 21.20 H
ATOM 2976 HG22 VAL B 88 31.596 43.562 26.377 1.00 21.20 H
ATOM 2977 HG23 VAL B 88 31.647 42.026 26.047 1.00 21.20 H
我会为分析中的每个残留物过滤掉这些原子。那么你应该几乎总是得到相同数量的原子。正如有人提到的,您必须考虑的另一件事是 Biopython 调用 'disordered residues'。这些残基在 crystal 晶格(他们称之为 'altloc')中有不止一个原子替代位置。解决这个问题应该可以解决您的问题。 如果您需要过滤掉这些原子的帮助,请告诉我。 法比奥