Bio.PDB.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 物件儲存原子名稱(包含有空格和無空格的名稱)、座標、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
為 true,也會比較座標。- 參數:
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 陣列 (長度 5)) – 原子參數的標準差。
- set_siguij(siguij_array)
設定非等向性溫度因子的標準差。
- 參數:
siguij_array (NumPy 陣列 (長度 6)) – 非等向性溫度因子的標準差。
- set_anisou(anisou_array)
設定非等向性 B 因子。
- 參數:
anisou_array (NumPy 陣列 (長度 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、原子名稱、altloc)
- get_coord()
傳回原子座標。
- get_bfactor()
傳回 B 因子。
- get_occupancy()
傳回佔有率。
- get_fullname()
傳回原子名稱,包含前導和尾隨空格。
- get_altloc()
傳回替代位置指定符。
- get_level()
傳回層級。
- get_charge()
傳回電荷。
- get_radius()
傳回半徑。
- 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') atom.transform(rotation, translation)
- get_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()
以 numpy 陣列的形式傳回 DisorderedAtom 的質心。
假設所有子原子的質量都相同 (相同的元素)。
- disordered_get_list()
傳回原子實例的清單。
依 altloc (空白,然後按字母順序) 對子元素進行排序。
- disordered_add(atom)
新增無序原子。
- disordered_remove(altloc)
從 DisorderedAtom 移除子原子 altloc。
- 參數
altloc - 要移除的 altloc 名稱,為字串。
- transform(rot, tran)
將旋轉和平移套用到所有子元素。
請參閱 Atom.transform 的文件以了解詳細資訊。