Bio.PDB.Atom 模块

在 Structure 对象中使用的 Atom 类。

class Bio.PDB.Atom.Atom(name: str, coord: ndarray, bfactor: float | None, occupancy: float | None, altloc: str, fullname: str, serial_number, element: str | None = None, pqr_charge: float | None = None, radius: float | None = None)

基类:object

定义 Atom 类。

Atom 对象存储原子名称(带空格和不带空格)、坐标、B 因子、占有率、备选位置说明符以及(可选)各向异性 B 因子和 B 因子和位置的标准偏差。

在 PQR 文件的情况下,B 因子和占有率被原子电荷和半径取代。

__init__(name: str, coord: ndarray, bfactor: float | None, occupancy: float | None, altloc: str, fullname: str, serial_number, element: str | None = None, pqr_charge: float | None = None, radius: float | None = None)

初始化 Atom 对象。

参数:
  • name (字符串) – 原子名称(例如,“CA”)。请注意,空格通常会被删除。

  • coord (NumPy 数组 (Float0, 长度 3)) – 原子坐标 (x,y,z)

  • bfactor (数字) – 各向同性 B 因子

  • occupancy (数字) – 占有率 (0.0-1.0)

  • altloc (字符串) – 无序原子的备选位置说明符

  • fullname (字符串) – 包含空格的完整原子名称,例如“ CA ”。通常,这些空格会从原子名称中删除。

  • element (大写字符串 (或 如果未知则为 None)) – 原子元素,例如“C”表示碳,“HG”表示汞,

  • pqr_charge (数字) – 原子电荷

  • radius (数字) – 原子半径

__eq__(other)

测试相等性。

__ne__(other)

测试不相等性。

__gt__(other)

测试大于。

__ge__(other)

测试大于或等于。

__lt__(other)

测试小于。

__le__(other)

测试小于或等于。

__hash__()

返回原子完整标识符。

__repr__()

将 Atom 对象打印为 <Atom atom_name>。

__sub__(other)

计算两个原子之间的距离。

参数:

other (L{Atom}) – 另一个原子

示例

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

distance = atom1 - atom2
strictly_equals(other: _AtomT, compare_coordinates: bool = False) bool

使用严格的相等性定义将此原子与另一个原子进行比较。

指示原子是否具有相同的名称、B 因子、占有率、备选位置指示符 (altloc)、完整名称、元素、电荷和半径。如果compare_coordinates 为真,则还比较坐标。

参数:
  • other (Atom) – 要与之比较此原子的原子

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

返回:

原子是否严格相等

返回类型:

bool

set_serial_number(n)

设置序列号。

set_bfactor(bfactor)

设置各向同性 B 因子。

set_coord(coord)

设置坐标。

set_altloc(altloc)

设置备用位置说明符。

set_occupancy(occupancy)

设置占有率。

set_sigatm(sigatm_array)

设置原子参数的标准差。

原子参数的标准差包括 3 个位置、1 个 B 因子、1 个占有率标准差。

参数:

sigatm_array (NumPy array (length 5)) – 原子参数的标准差。

set_siguij(siguij_array)

设置各向异性温度因子的标准差。

参数:

siguij_array (NumPy array (length 6)) – 各向异性温度因子的标准差。

set_anisou(anisou_array)

设置各向异性 B 因子。

参数:

anisou_array (NumPy array (length 6)) – 各向异性 B 因子。

set_charge(pqr_charge)

设置电荷。

set_radius(radius)

设置半径。

flag_disorder()

将无序标志设置为 1。

无序标志指示原子是否为无序。

is_disordered()

返回无序标志(无序则为 1,否则为 0)。

set_parent(parent)

设置父残基。

参数
  • parent - 残基对象

detach_parent()

删除对父对象的引用。

get_sigatm()

返回原子参数的标准差。

get_siguij()

返回各向异性温度因子的标准差。

get_anisou()

返回各向异性 B 因子。

get_parent()

返回父残基。

get_serial_number()

返回序列号。

get_name()

返回原子名。

get_id()

返回原子的 id(即其原子名)。

get_full_id()

返回原子的完整 id。

原子的完整 id 是一个元组,用于唯一标识原子,它包含以下元素:(结构 id、模型 id、链 id、残基 id、原子名、备用位置)

get_coord()

返回原子坐标。

get_bfactor()

返回 B 因子。

get_occupancy()

返回占有率。

get_fullname()

返回原子名,包括开头和结尾的空格。

get_altloc()

返回备用位置说明符。

get_level()

返回级别。

get_charge()

返回电荷。

get_radius()

返回半径。

transform(rot, tran)

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

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

  • tran (size 3 NumPy array) – 平移向量

示例

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

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')
atom.transform(rotation, translation)
get_vector()

以 Vector 的形式返回坐标。

返回:

坐标作为 3D 向量

返回类型:

Bio.PDB.Vector 类

copy()

创建 Atom 的副本。

父信息丢失。

class Bio.PDB.Atom.DisorderedAtom(id)

基类:DisorderedEntityWrapper

包含表示相同无序原子的所有 Atom 对象。

其中一个原子是“选定”的,所有未被 DisorderedAtom 捕获的方法调用都将转发到选定的 Atom 对象。这样,DisorderedAtom 的行为与普通 Atom 完全相同。默认情况下,选定的 Atom 对象表示占有率最高的 Atom 对象,但可以使用 disordered_select(altloc) 方法选择不同的 Atom 对象。

__init__(id)

创建 DisorderedAtom。

参数
  • id - 字符串,原子名

__iter__()

遍历无序原子。

__repr__()

返回无序原子标识符。

center_of_mass()

将 DisorderedAtom 的质心作为 numpy 数组返回。

假设所有子原子具有相同的质量(相同的元素)。

disordered_get_list()

返回原子实例列表。

按 altloc 对子节点进行排序(空,然后按字母顺序)。

disordered_add(atom)

添加无序原子。

disordered_remove(altloc)

从 DisorderedAtom 中删除子原子 altloc。

参数
  • altloc - 要删除的 altloc 的名称,作为字符串。

transform(rot, tran)

将旋转和平移应用于所有子节点。

有关详细信息,请参见 Atom.transform 的文档。