我想知道Bio.PDB如何将残基鉴定为杂残基。 我知道residual.id方法返回一个元组,其中第一个项是异类标志,第二个是残差标识符(数字),第三个是插入代码。
但内部代码如何决定将什么放入异形标志字段?它是否检查残留物中的原子是否是HETATM记录与ATOM记录?
或者检查每个残基中的原子名称并将其与一组杂原子进行比较?
我问的原因是因为在4MDH链B中,坐标部分的第一个残基是ACE(乙酰基)。它只有C和O原子,PDB文件将其列为HETATM。但是当这个残留物的残留物是('',0,'')时。
这是我的代码:
>>> from Bio.PDB.mmtf import MMTFParser
>>> structure = MMTFParser.get_structure_from_url('4mdh')
/Library/Python/2.7/site-packages/Bio/PDB/StructureBuilder.py:89: PDBConstructionWarning: WARNING: Chain A is discontinuous at line 0.
PDBConstructionWarning)
/Library/Python/2.7/site-packages/Bio/PDB/StructureBuilder.py:89: PDBConstructionWarning: WARNING: Chain B is discontinuous at line 0.
PDBConstructionWarning)
>>> chain = [c for c in structure.get_chains() if c.get_id() == 'B'][0]
>>> residue0 = [r for r in chain.get_residues() if r.id[1] == 0][0]
>>> residue0.id
(' ', 0, ' ')
>>>