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()

疊合後座標的均方根偏差。