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()
叠加坐标的均方根偏差。