Bio.PDB.Entity 模块

Residue、Chain、Model 和 Structure 类别的基类。

它是一个简单的容器类,具有类似列表和字典的属性。

class Bio.PDB.Entity.Entity(id)

基类: Generic[_Parent, _Child]

PDB 层次结构的基本容器对象。

Structure、Model、Chain 和 Residue 是 Entity 的子类。它处理存储和查找。

level: str
__init__(id)

初始化类。

parent: _Parent | None
child_list: list[_Child]
child_dict: dict[Any, _Child]
__len__()

返回子项数量。

__getitem__(id)

返回具有给定 id 的子项。

__delitem__(id)

删除一个子项。

__contains__(id)

检查是否存在具有给定 id 的子项元素。

__iter__()

迭代子项。

__eq__(other)

测试相等性。这比较了完整的 id,包括所有父级 ID。

__ne__(other)

测试不等性。

__gt__(other)

测试大于。

__ge__(other)

测试大于或等于。

__lt__(other)

测试小于。

__le__(other)

测试小于或等于。

__hash__()

哈希方法以允许唯一性(集)。

property id

返回标识符。

strictly_equals(other: _Self, compare_coordinates: bool = False) bool

将此实体与其他实体进行比较以判断相等性。

递归地将此实体的子项与其他实体的子项进行比较。比较大多数属性,包括名称和 ID。

参数:
  • other (Entity) – 要将此实体与之比较的实体

  • compare_coordinates (bool) – 是否比较原子坐标

返回:

这两个实体是否严格相等

返回类型:

bool

get_level()

返回层次结构中的级别。

A - 原子 R - 残基 C - 链 M - 模型 S - 结构

set_parent(entity: _Parent)

设置父 Entity 对象。

detach_parent()

分离父级。

detach_child(id)

删除一个子项。

add(entity: _Child)

向 Entity 添加一个子项。

insert(pos: int, entity: _Child)

在指定位置向 Entity 添加一个子项。

get_iterator()

返回子项的迭代器。

get_list()

返回子项列表的副本。

has_id(id)

检查是否存在具有给定 id 的子项。

get_parent()

返回父 Entity 对象。

get_id()

返回 id。

get_full_id()

返回完整的 id。

完整的 id 是一个元组,包含从最顶层对象(Structure)到当前对象的全部 id。例如,Residue 对象的完整 id 类似于

(“1abc”, 0, “A”, (” “, 10, “A”))

这对应于

Structure id 为 “1abc” Model id 为 0 Chain id 为 “A” Residue id 为 (” “, 10, “A”)

Residue id 表示残基不是异源残基(或水),因为它的异源字段为空白,它的序列标识符为 10,它的插入代码为“A”。

transform(rot, tran)

将旋转和平移应用于原子坐标。

参数:
  • rot (3x3 NumPy 数组) – 右乘旋转矩阵

  • tran (大小为 3 的 NumPy 数组) – 平移向量

示例

这是一个不完整但说明性的示例

from numpy import pi, array
from Bio.PDB.vectors import Vector, rotmat
rotation = rotmat(pi, Vector(1, 0, 0))
translation = array((0, 0, 1), 'f')
entity.transform(rotation, translation)
center_of_mass(geometric=False)

返回实体的质心作为 numpy 数组。

如果 geometric 为 True,则返回几何中心。

copy()

递归地复制实体。

__annotations__ = {'child_dict': dict[typing.Any, ~_Child], 'child_list': list[~_Child], 'level': <class 'str'>, 'parent': typing.Optional[~_Parent]}
__orig_bases__ = (typing.Generic[~_Parent, ~_Child],)
__parameters__ = (~_Parent, ~_Child)
class Bio.PDB.Entity.DisorderedEntityWrapper(id)

基类:object

包装类用于对等实体分组。

此类是一个简单的包装类,它将多个等效实体分组在一起,并将所有方法调用转发给其中之一(当前选定的对象)。DisorderedResidue 和 DisorderedAtom 是此类的子类。

例如:DisorderedAtom 对象包含多个 Atom 对象,每个 Atom 对象代表结构中无序原子的特定位置。

__init__(id)

初始化类。

__getattr__(method)

将方法调用转发给选定的子项。

__getitem__(id)

返回具有给定 ID 的子项。

__setitem__(id, child)

添加一个子项,与某个 ID 相关联。

__contains__(id)

检查子项是否具有给定的 ID。

__iter__()

返回子项数量。

__len__()

返回子项数量。

__sub__(other)

与另一个对象进行减法。

__gt__(other)

返回子项是否大于其他项。

__ge__(other)

返回子项是否大于或等于其他项。

__lt__(other)

返回子项是否小于其他项。

__le__(other)

返回子项是否小于或等于其他项。

copy()

递归地复制无序实体。

get_id()

返回 id。

strictly_equals(other: DisorderedEntityWrapper, compare_coordinates: bool = False) bool

使用严格的等效定义将此实体与另一个实体进行比较。

递归地将此实体的子项与另一个实体的子项进行比较。比较大多数属性,包括选定的子项、名称和 ID。

参数:
  • other (DisorderedEntityWrapper) – 将此实体与之比较的实体

  • compare_coordinates (bool) – 是否比较原子坐标

返回:

这两个实体是否严格相等

返回类型:

bool

disordered_has_id(id)

检查是否存在与该 ID 关联的对象。

detach_parent()

分离父级。

get_parent()

返回父项。

set_parent(parent)

为对象及其子项设置父项。

disordered_select(id)

选择具有给定 ID 的对象作为当前活动对象。

未捕获的方法调用将转发给选定的子对象。

disordered_add(child)

添加无序条目。

这是由 DisorderedAtom 和 DisorderedResidue 实现的。

disordered_remove(child)

删除无序条目。

这是由 DisorderedAtom 和 DisorderedResidue 实现的。

is_disordered()

返回 2,表示此实体是实体的集合。

disordered_get_id_list()

返回 ID 列表。

disordered_get(id=None)

获取与 ID 关联的子对象。

如果 ID 为 None,则返回当前选定的子项。

disordered_get_list()

返回子项列表。