8.6.4. 拟合变换 MDAnalysis.transformations.fit
平移和/或旋转给定轨迹的坐标以将给定的原子组与参考结构对齐。
- class MDAnalysis.transformations.fit.fit_translation(ag, reference, plane=None, weights=None, max_threads=None, parallelizable=True)[源代码]
平移给定的原子组,使其几何/质量中心与给定引用的相应中心匹配。用户可以使用选项给出平面 plane ,并将导致原子组在该特定平面上的平移运动被取消。
示例
删除给定原子组的翻译 ag 在XY平面上,通过将其质心与参考的质心相匹配 ref :
ag = u.select_atoms("protein") ref = mda.Universe("reference.pdb") transform = mda.transformations.fit_translation(ag, ref, plane="xy", weights="mass") u.trajectory.add_transformations(transform)
- 参数:
ag (Universe or AtomGroup) -- 要翻译的结构,则为
AtomGroup
或者是一个整体Universe
reference (Universe or AtomGroup) -- 引用结构,一个
AtomGroup
或者是一个整体Universe
plane (str, optional) -- 用于定义将在其上删除平移的平面。定义为平面的一串。支持的平面为YZ、XZ和XY平面。
weights ({"mass",
None
} or array_like, optional) -- 选择权重。使用"mass"
使用质量作为权重;使用None
把每个原子平均地称重。长度相同的浮点数组 ag 时,请使用 array_like 作为中相应原子的权重 ag 。
- 返回类型:
在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有
__call__
。在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。
- class MDAnalysis.transformations.fit.fit_rot_trans(ag, reference, plane=None, weights=None, max_threads=1, parallelizable=True)[源代码]
通过最小化RMSD来执行空间叠加。
使原子组在空间上对齐 ag 至 reference 通过做一个RMSD贴合。
该拟合用作移除轨迹中给定原子组的平移和旋转的一种方式。可以使用旗帜给出飞机 plane 以便仅删除该特定平面中的平移和旋转。这对于膜必须保持相同取向的蛋白质-膜系统是有用的。
备注
max_threads
对于执行效果更好的此转换,设置为1。示例
删除给定原子组的平移和旋转 ag 在XY平面上,通过将其拟合到参照 ref ,使用质量作为RMSD拟合的权重:
ag = u.select_atoms("protein") ref = mda.Universe("reference.pdb") transform = mda.transformations.fit_rot_trans(ag, ref, plane="xy", weights="mass") u.trajectory.add_transformations(transform)
- 参数:
ag (Universe or AtomGroup) -- 结构进行平移和旋转,则为
AtomGroup
或者是一个整体Universe
reference (Universe or AtomGroup) -- 引用结构,一个
AtomGroup
或者是一个整体Universe
plane (str, optional) -- 用于定义将在其上删除旋转和平移的平面。定义为平面的一串。所支持的平面为“YZ”、“XZ”和“XY”。
weights ({"mass",
None
} or array_like, optional) -- 选择权重。使用"mass"
使用质量作为权重;使用None
把每个原子平均地称重。长度相同的浮点数组 ag 时,请使用 array_like 作为中相应原子的权重 ag 。
- 返回类型:
在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有
__call__
。在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。