Bio.PDB.qcprot 模块

使用四元数特征多项式 (QCP) 进行结构比对。

QCPSuperimposer 找到最佳旋转和平移,将两个点集叠加在一起(最小化 RMSD)。这例如用于叠加晶体结构。QCP 代表四元数特征多项式,它在算法中使用。

算法和原始代码在以下文献中描述:

Theobald DL. 使用基于四元数的特征多项式快速计算 RMSD。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), “使用基于四元数的特征多项式快速计算 RMSD”。,Acta Crystallogr A 61(4):478-480

__init__()

初始化类。

set_atoms(fixed, moving)

准备两个原子列表之间的比对。

将 fixed 中的原子置于 moving 中的原子之上,以使 RMSD 最小化。

参数:
  • 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()

叠加坐标的均方根偏差。