Bio.PDB.ic_rebuild 模块

将 XYZ 结构转换为内部坐标,反之亦然,并测试结果。

Bio.PDB.ic_rebuild.structure_rebuild_test(entity, verbose: bool = False, quick: bool = False) dict

测试从内部坐标重建 PDB 结构。

为实体生成内部坐标并写入内存中的 .pic 文件,然后从 .pic 文件生成 XYZ 坐标,并将生成的实体与原始实体进行比较。

参见 IC_Residue.pic_accuracy 以在遇到坐标略微差异时更改中间 .pic 文件的数值精度。

请注意,在默认设置下,氘化的初始结构将无法通过比较,使用替代 IC_Residue.accept_atoms 设置加载的结构也一样。使用 quick=True 以及/或 AtomKey.d2hIC_Residue.accept_atoms 设置的变体。

参数:
  • entity (Entity) – Biopython 结构、模型或链。要测试的结构

  • verbose (bool) – 默认 False。打印更多消息

  • quick (bool) – 默认 False。仅检查内部坐标原子数组是否相同

返回值:

来自 compare_residues() 的比较字典

Bio.PDB.ic_rebuild.report_IC(entity: Structure | Model | Chain | Residue, reportDict: dict[str, Any] | None = None, verbose: bool = False) dict[str, Any]

为每个实体级别生成包含 IC 数据元素计数的字典。

reportDict 条目为
  • idcode : PDB ID

  • hdr : PDB 标题行

  • mdl : 模型

  • chn : 链

  • res : 残基对象

  • res_e : 具有二面角和/或多面角的残基

  • dih : 二面角

  • hed : 多面角

参数:

entity (Entity) – Biopython PDB 实体对象:S、M、C 或 R

引发:
  • PDBException – 如果实体级别不是 S、M、C 或 R

  • Exception – 如果实体没有 .level 属性

返回值:

包含 IC 数据元素计数的字典

Bio.PDB.ic_rebuild.IC_duplicate(entity) Structure

使用 IC 数据复制结构实体,不包含原子坐标。

使用 write_PIC()read_PIC() 和 StringIO 缓冲区。如果需要,调用 Chain.atom_to_internal_coordinates()

参数:

entity (Entity) – Biopython PDB 实体(对于 Atom 将失败)

返回值:

Biopython PDBStructure,除了初始坐标外,没有 Atom 对象

Bio.PDB.ic_rebuild.compare_residues(e0: Structure | Model | Chain, e1: Structure | Model | Chain, verbose: bool = False, quick: bool = False, rtol: float | None = None, atol: float | None = None) dict[str, Any]

比较两个 Biopython PDB 实体的完整 ID 和原子坐标。

跳过 DNA 和 HETATMs。

参数:
  • e0,e1 (Entity) – Biopython PDB 实体对象 (S、M 或 C)。要比较的结构、模型或链

  • verbose (bool) – 是否打印不匹配信息,默认 False

  • quick (bool) – 默认 False。仅检查原子数组是否相同,如果不同,则 aCoordMatchCount=0

  • atol (float rtol,) – 默认 1e-03,1e-03 或四舍五入到 3 位小数。NumPy allclose 参数;默认是将原子坐标四舍五入到 3 位小数并测试是否相等。对于 'quick',将使用上述默认值来比较原子数组

返回值字典:

残基、完整 ID 匹配残基、原子、完整 ID 匹配原子和坐标匹配原子的结果计数;报告字符串;错误状态(布尔值)

Bio.PDB.ic_rebuild.write_PDB(entity: Structure, file: str, pdbid: str | None = None, chainid: str | None = None) None

写入 PDB 文件,如果可用,则包含 HEADER 和 TITLE。