4.2.7.1.7. 再来一次的实用函数

class MDAnalysis.analysis.encore.utils.ParallelCalculation(n_jobs, function, args=None, kwargs=None)[源代码]

通用并行计算类。可以使用任意函数、函数的参数和函数的Kwarg。

n_jobs

用于并行计算的核心数量。如果使用所有可用的核心。

类型:

集成

function

函数要并行运行。

类型:

可调用对象

args

每个元组都包含将传递给函数()的参数。这意味着对每个元组执行对函数()的调用。函数被调用为函数(*args, * *kwargs)。运行分布在请求数量的核心上。

类型:

元组列表

kwargs

每个元组都包含将传递给函数的命名参数,类似于对args属性的描述。

类型:

词典列表

nruns

要执行的运行次数。必须等于len(Args)和len(Kwargs)。

类型:

集成

参数:
  • n_jobs (int) -- 用于并行计算的核心数量。如果使用所有可用的核心。

  • function (object that supports __call__, as functions) -- 函数要并行运行。

  • args (list of tuples) -- 函数的参数;请参阅ParallCalculating类说明。

  • kwargs (list of dicts or None) -- Kwargs for Function;请参阅ParalleCalculating类说明。

run()[源代码]

运行并行计算。

返回:

结果 --int是args列表中某个参数对应的计算次数,Object是对应计算的结果。例如,在(3,输出)中,输出是函数([args[3], ] *Kwargs [3] )。

返回类型:

tuple of ordered tuples (int, object)

worker(q, results)[源代码]

普通工人。将使用规定的参数和kwargs运行函数。

参数:
  • q (multiprocessing.Manager.Queue object) -- 工作队列,工作进程从中获取参数和消息

  • results (multiprocessing.Manager.Queue object) -- 结果队列,每次计算完成后将结果放入其中

class MDAnalysis.analysis.encore.utils.TriangularMatrix(size, metadata=None, loadfile=None)[源代码]

三角矩阵类。此类旨在为仍表现为平方对称矩阵的三角矩阵提供节省内存的表示形式。该类包装了一个numpy.array对象,在该对象中,数据以行为主的顺序存储。它也几乎没有额外的功能,可以方便地从文件加载矩阵或将矩阵写入文件。可以使用[]和()运算符访问它,类似于普通的NumPy数组。

类构造函数。

参数:
  • size (int / array_like) -- 矩阵的大小(行数或列数)。如果提供的是数组,则将计算三角矩阵的大小,并将该数组复制为矩阵元素。否则,矩阵将被初始化为零。

  • metadata (dict or None) -- 元数据词典。用于生成元数据属性。

  • loadfile (str or None) -- 从此文件加载矩阵。所有属性和数据将由矩阵文件本身确定(即元数据将被忽略);但必须提供大小。

as_array()[源代码]

返回标准NumPy数组等效项

loadz(fname)[源代码]

从NPZ压缩的NumPy格式加载矩阵。

参数:

fname (str) -- 要加载的文件的名称。

savez(fname)[源代码]

以NPZ压缩NumPy格式保存矩阵。同时保存元数据和数据。

参数:

fname (str) -- 要保存的文件的名称。

MDAnalysis.analysis.encore.utils.merge_universes(universes)[源代码]

将宇宙列表合并为一个

参数:

universes (list of Universe objects) --

返回类型:

Universe object

MDAnalysis.analysis.encore.utils.trm_indices(a, b)[源代码]

在元素a和b之间生成三角矩阵的(i,j)指数。根据元素的数量自动确定矩阵的大小。例如:TRM_INDEX((0,0),(2,1))得到(0,0)(1,0)(1,1)(2,0)(2,1)。

参数:
  • a ((int i, int j) tuple) -- 开始矩阵元素。

  • b ((int i, int j) tuple) -- 最终的矩阵元素。

MDAnalysis.analysis.encore.utils.trm_indices_diag(n)[源代码]

生成对角线为n行(或列)的三角矩阵的(i,j)个指数

参数:

n (int) -- 矩阵大小

MDAnalysis.analysis.encore.utils.trm_indices_nodiag(n)[源代码]

生成n行(或列)、无对角线(例如,无元素(0,0)、(1,1)、...、(n,n))的三角矩阵的(i,j)指数

参数:

n (int) -- 矩阵大小

MDAnalysis.analysis.encore.cutils.PureRMSD(coordsi, coordsj, atomsn, masses, summasses)