Bio.PDB如何识别异源残基?4MDH链B残基分类异常问询
好问题!咱们一步步拆解Bio.PDB识别异源残基的逻辑,以及你遇到的4MDH案例的特殊情况:
一、Bio.PDB区分异源残基的核心规则
Bio.PDB判断残基是否为异源残基,主要基于PDB/MMTF文件中的原子记录类型(ATOM/HETATOM),但会对常见的蛋白质修饰残基做特殊处理:
- 正常情况下,
ATOM记录对应的残基会被标记为普通残基(residue.id的第一个元素为空格' ') HETATOM记录对应的残基默认会被标记为异源残基(residue.id的第一个元素为'H_')- 水分子残基(HOH)会被单独标记为
'W'
但关键例外是:Bio.PDB内置了一个常见蛋白质修饰残基列表,比如N端的乙酰基(ACE)、C端的酰胺基(NME)、硒代甲硫氨酸(MSE)等。这些残基即使在PDB文件中以HETATOM记录存储,也会被识别为蛋白质的组成部分,而非异源残基,因此它们的residue.id第一个元素会是空格' '。
二、你的4MDH案例解析
你遇到的B链ACE残基就是这个规则的典型体现:
- PDB文件中ACE以
HETATOM记录存储,这是很多数据库的常规做法(把末端修饰归类到HETATOM) - 但Bio.PDB识别到ACE属于蛋白质N端的常见修饰,因此将其归类为普通残基,所以
residue.id返回(' ', 0, ' ')
你可以通过以下代码验证这个残基的名称,确认它确实是ACE:
>>> residue0.get_resname() 'ACE'
三、额外补充:如何查看原始记录类型
如果你需要确认原子的原始记录类型,可以遍历残基内的原子,查看原子的record_type属性(部分解析器支持):
for atom in residue0.get_atoms(): print(atom.record_type)
内容的提问来源于stack exchange,提问作者M. Iyer
相关产品推荐
相关产品推荐

