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

返回类型:

MDAnalysis.coordinates.timestep.Timestep

在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有 __call__

在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。

参数:
  • max_threads (int, optional) -- 可以使用最大线程数。默认值为 None ,表示默认设置或外部设置。

  • parallelizable (bool, optional) -- 检查这是否可以用于拆分-应用-合并并行分析方法。默认值为 True

class MDAnalysis.transformations.fit.fit_rot_trans(ag, reference, plane=None, weights=None, max_threads=1, parallelizable=True)[源代码]

通过最小化RMSD来执行空间叠加。

使原子组在空间上对齐 agreference 通过做一个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

返回类型:

MDAnalysis.coordinates.timestep.Timestep

在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有 __call__

在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。

参数:
  • max_threads (int, optional) -- 可以使用最大线程数。默认值为 None ,表示默认设置或外部设置。

  • parallelizable (bool, optional) -- 检查这是否可以用于拆分-应用-合并并行分析方法。默认值为 True