13.2.9. 快速QCP RMSD结构对准 MDAnalysis.lib.qcprot

作者:

约书亚·阿德尔曼,匹兹堡大学

作者:

罗伯特·R·德尔加多,康奈尔大学和亚利桑那州立大学

联系方式:

jla65@pitt.edu

:

2011、2016

牌照:

BSD

PyQCPROT 是Douglas Theobald用于计算两个结构之间的最小RMSD的QCP方法的一个python/cython实现 [Theobald2005] 确定最优最小二乘旋转矩阵 [Liu2010].

该方法的完整描述以及原始的C实现可以在http://theobald.brandeis.edu/qcp/上找到

参见

MDAnalysis.analysis.align

使用以下命令对齐结构 CalcRMSDRotationalMatrix()

MDAnalysis.analysis.rms.rmsd

使用以下公式计算两个结构之间的RMSD CalcRMSDRotationalMatrix()

在 0.16.0 版本发生变更: 调用签名已更改为直接与MDAnalysis坐标数组交互:Shape(N,3)

引用

如果您在出版物中使用此QCP轮换计算方法,请参考:

[Theobald2005]

Douglas L.Theobald(2005)《基于四元数特征多项式的RMSD快速计算》。晶体学报A 61(4):478-480.

[Liu2010]

刘普,Dmitris K.Agrafiotis和Douglas L.Theobald(2010)“快速确定大分子叠加法的最佳旋转矩阵”。J.Comput化学。31,1561-1563。

13.2.9.1. 功能

用户通常会使用 CalcRMSDRotationalMatrix() 功能。

MDAnalysis.lib.qcprot.CalcRMSDRotationalMatrix(ref, conf, N, rot, weights)

计算RMSD和旋转矩阵。

参数:
  • ref (ndarray, np.float64_t) -- 参考结构坐标

  • conf (ndarray, np.float64_t) -- 条件日期结构坐标

  • N (int) -- 系统的大小

  • rot (ndarray, np.float64_t) -- 存储旋转矩阵的数组。必须是平坦的

  • weights (ndarray, npfloat64_t (optional)) -- 每个组件的权重

返回:

  • rmsd ( 浮动 )--RMSD值

  • 。。版本已更改::0.16.0 --数组大小从3xN更改为Nx3。

MDAnalysis.lib.qcprot.InnerProduct(A, coords1, coords2, N, weight)

计算两个结构的内积。

参数:
  • A (ndarray np.float64_t) -- 结果内积数组,已就地修改

  • coords1 (ndarray np.float64_t) -- 参考结构

  • coord2 (ndarray np.float64_t) -- 候选结构

  • N (int) -- 系统规模

  • weights (ndarray np.float64_t (optional)) -- 用于计算加权内积

返回:

备注

  1. 在调用此函数之前,必须使结构coords1和coords2居中。

  2. 坐标存储为Nx3数组(与MDAnalysis中的其他任何位置一样)。

在 0.16.0 版本发生变更: 数组大小从3xN更改为Nx3。

MDAnalysis.lib.qcprot.FastCalcRMSDAndRotation(rot, A, E0, N)

计算RMSD和/或最优旋转矩阵。

参数:
  • rot (ndarray np.float64_t) -- 结果旋转矩阵,已就地修改

  • A (ndarray np.float64_t) -- 两种结构的内积

  • E0 (float64) -- 0.5*(G1+G2)

  • N (int) -- 系统的大小

返回:

rmsd --两个结构的RMSD值

返回类型:

float

在 0.16.0 版本发生变更: 数组大小从3xN更改为Nx3。