8.6.5. 展开/展开变换 MDAnalysis.transformations.wrap
在单元格中包装/展开给定原子组的原子。 wrap()
将原子平移回单元格。 unwrap()
平移每个分子的原子,这样带子就不会在图像上分裂。
- class MDAnalysis.transformations.wrap.wrap(ag, compound='atoms', max_threads=None, parallelizable=True)[源代码]
将给定原子组的内容移回单位单元格。**
+-----------+ +-----------+ | | | | | 3 | 6 | 6 3 | | ! | ! | ! ! | | 1-2-|-5-8 -> |-5-8 1-2-| | ! | ! | ! ! | | 4 | 7 | 7 4 | | | | | +-----------+ +-----------+
示例
ag = u.atoms transform = mda.transformations.wrap(ag) u.trajectory.add_transformations(transform)
- 参数:
ag (Atomgroup) -- 单胞中包裹的原子基团
compound ({'atoms', 'group', 'residues', 'segments', 'fragments'}, optional) -- 在转移过程中将保持在一起的群体。
备注
在指定 compound ,平移是基于每个化合物来计算的。同样的平移适用于该化合物中的所有原子,这意味着它不会被位移打破。然而,这可能意味着不是所有化合物的原子都在单胞内,而是化合物的中心在单胞内。
在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有
__call__
。在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。
- class MDAnalysis.transformations.wrap.unwrap(ag, max_threads=None, parallelizable=True)[源代码]
移动原子组中的所有原子,这样键就不会在图像上分裂
原子位置被就地修改。
当原子被填充到初级单胞中,导致分子中间断裂时,这种功能最有用,然后分子出现在单胞的两边。这对于计算分子的质心等操作是有问题的。**
+-----------+ +-----------+ | | | | | 6 3 | | 3 | 6 | ! ! | | ! | ! |-5-8 1-2-| -> | 1-2-|-5-8 | ! ! | | ! | ! | 7 4 | | 4 | 7 | | | | +-----------+ +-----------+
示例
ag = u.atoms transform = mda.transformations.unwrap(ag) u.trajectory.add_transformations(transform)
- 参数:
atomgroup (AtomGroup) -- 这个
MDAnalysis.core.groups.AtomGroup
一起工作。这个位置被适当地修改了。- 返回类型:
在 2.0.0 版本发生变更: 转换已从函数/闭包更改为具有
__call__
。在 2.0.0 版本发生变更: 转换已更改为从基类继承,以限制线程并检查它是否可用于并行分析。