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)
-
包含表示相同无序原子的所有 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 的文档。