13.2.9. 快速QCP RMSD结构对准 MDAnalysis.lib.qcprot
- 作者:
约书亚·阿德尔曼,匹兹堡大学
- 作者:
罗伯特·R·德尔加多,康奈尔大学和亚利桑那州立大学
- 联系方式:
- 年:
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轮换计算方法,请参考:
Douglas L.Theobald(2005)《基于四元数特征多项式的RMSD快速计算》。晶体学报A 61(4):478-480.
刘普,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)) -- 用于计算加权内积
- 返回:
E0 ( 浮动 )
0.5*(G1+G2),可用作输入
FastCalcRMSDAndRotation()
备注
在调用此函数之前,必须使结构coords1和coords2居中。
坐标存储为Nx3数组(与MDAnalysis中的其他任何位置一样)。
在 0.16.0 版本发生变更: 数组大小从3xN更改为Nx3。