Bio.PDB.qcprot 模組
使用四元數特徵多項式(Quaternion Characteristic Polynomial, QCP)進行結構比對。
QCPSuperimposer 找出最佳的旋轉和平移,將兩個點集合疊合(最小化 RMSD)。這對於疊合晶體結構很有用。QCP 代表四元數特徵多項式,此為演算法中使用的方法。
演算法和原始碼描述於
Theobald DL. Rapid calculation of RMSDs using a quaternion-based characteristic polynomial. Acta Crystallogr A. 2005 Jul;61(Pt 4):478-80. doi: 10.1107/S0108767305015266. Epub 2005 Jun 23. PMID: 15973002.
- Bio.PDB.qcprot.qcp(coords1, coords2, natoms)
在 Python 中實作 QCP 程式碼。
輸入的座標陣列必須以原點為中心,且形狀為 Nx3。
變數名稱(盡可能)與 C 實作相符。
- class Bio.PDB.qcprot.QCPSuperimposer
基底類別:
object
四元數特徵多項式(QCP)疊合器。
QCPSuperimposer 找出最佳的旋轉和平移,將兩個點集合疊合(最小化 RMSD)。這對於疊合蛋白質的 3D 結構很有用。
QCP 代表四元數特徵多項式,此為演算法中使用的方法。
參考文獻
Douglas L Theobald (2005), “Rapid calculation of RMSDs using a quaternion-based characteristic polynomial.”, Acta Crystallogr A 61(4):478-480
- __init__()
初始化類別。
- set_atoms(fixed, moving)
準備兩個原子列表之間的比對。
以最小化 RMSD 的方式,將 fixed 中的原子(平移/旋轉)疊合到 moving 中的原子上。
- 參數:
fixed – (固定)原子的列表
moving – (移動)原子的列表
- apply(atom_list)
將 QCP 旋轉矩陣/平移向量套用到一組原子。
- set(reference_coords, coords)
設定要疊合的座標。
coords 會疊合到 reference_coords 上。
reference_coords:一個 NxDIM 陣列
coords:一個 NxDIM 陣列
DIM 是點的維度,N 是要疊合的點數。
- run()
疊合座標集。
- get_transformed()
取得轉換後的座標集。
- get_rotran()
傳回右乘旋轉矩陣和平移向量。
- get_init_rms()
傳回未轉換座標的均方根偏差。
- get_rms()
疊合後座標的均方根偏差。