13. 库函数 MDAnalysis.lib

MDAnalysis.lib 包含独立于特定MDAnalysis框架的代码,例如用于距离的快速计算器或简单的日志记录支持。模块不依赖MDAnalysis中的其他代码,但在 MDAnalysis.lib 本身(也可能在 MDAnalysis.exceptions ),因此可以很容易地进口到其他地方。

13.1. 概述

MDAnalysis.lib.distances 包含许多高性能的数学函数。他们中的大多数都有关键词 后端 它允许用户选择序列(单线程)代码 (backend="serial )或使用并行化版本(例如 backend="OpenMP" 用于OpenMP并行性)。

MDAnalysis.lib.transformations 包含大量用于操作坐标数据的矩阵运算。

MDAnalysis.lib.qcprot 包含通过最小化RMSD实现叠加的快速实现。

MDAnalysis.lib.util 包含各种文件和字符串实用程序函数,而数学函数位于 MDAnalysis.lib.mdamath

许多模块都与查找邻居有关。 MDAnalysis.lib.NeighborSearch 包含使用MDAnalysis对象执行邻居搜索的高级类。 MDAnalysis.lib.nsgrid 包含网格邻居搜索的快速实现,而 MDAnalysis.lib.pkdtree 使用KDTrees(带有周期图像)进行邻居搜索。中的一些函数 MDAnalysis.lib.distances 使用这两种算法中的任何一种来加快距离计算。

13.2. 模块列表

13.3. 低级文件格式

中的模块 MDAnalysis.lib.formats 包含以某种方式访问各种文件格式的代码 独立于其他MDAnalysis功能 (即,它们不使用来自 MDAnalysis.coreMDAnalysis.topology )。此低级代码用于 MDAnalysis.coordinates 模块,但也可以由其他基于Python的项目重复使用。

13.4. Libmd分析

这个 __init__.pxd 文件放入 MDAnalysis.lib.libmdanalysis 提供了一个单一的位置来 cimport MDAnalysis的公共Cython头。建议仅对高级开发人员执行此操作。

例如,假设我们正在编写一个Cython扩展模块 MDAnalysis.lib 我们想要创建一个函数来创建一个 MDAnalysis.coordinates.timestep.Timestep

from MDAnalysis.lib.libmdanalysis cimport timestep
# or we could use the relative cimport
# from .libmdanalysis cimport timestep

cdef timestep.Timestep make_timestep(int natoms):
   cdef timestep.Timestep ts = timestep.Timestep(natoms)
   return ts

目前公开为公共Cython头的模块有:

有关更多详细信息,请咨询来源 MDAnalysis.lib.libmdanalysis.__init__.pxd