4.2.7.1.4. 距离矩阵计算 MDAnalysis.analysis.ensemble.confdistmatrix

该模块包含一个基类,可以使用并行化和共享内存轻松计算作为框架存储在宇宙中的结构之间的构象距离矩阵。还提供了以这种方式计算RMSD矩阵的类。

作者:

马泰奥·蒂贝蒂,Wter Boomsma,Tone Bengtsen

在 0.16.0 版本加入.

MDAnalysis.analysis.encore.confdistmatrix.conformational_distance_matrix(ensemble, conf_dist_function, select='', superimposition_select='', n_jobs=1, pairwise_align=True, weights='mass', metadata=True, verbose=False, max_nbytes=None)[源代码]

运行构象距离矩阵计算。Args和kwargs被传递给conf_dist_函数。

参数:
  • ensemble (Universe object) -- 将为其计算构象距离矩阵的宇宙对象。

  • conf_dist_function (function object) -- 用构象距离值填充矩阵的函数。有关示例,请参阅SET_RMSD_MATRIX_ELEMENTS。

  • select (str, optional) -- 使用此选项计算构象距离

  • superimposition_select (str, optional) -- 使用此选择中的原子进行拟合,而不是使用 select

  • pairwise_align (bool, optional) -- 是否在构象之间执行成对比对。默认值为True(进行叠加)

  • weights (str/array_like, optional) -- 用于适配的重量。可以是‘MASS’或类似数组

  • metadata (bool, optional) -- 是否为计算矩阵构建元数据数据集。默认为True。

  • n_jobs (int, optional) -- 用于并行计算的核心数量默认为1。使用所有可用核心

  • max_nbytes (str, optional) -- 传递给辅助进程的数组大小阈值,用于触发TEMP_FLDER中的自动内存映射(默认为无)。有关详细文档,请参阅https://joblib.readthedocs.io/en/latest/generated/joblib.Parallel.html。

  • verbose (bool, optional) -- 启用详细输出

返回:

conf_dist_matrix --三角形表示中的构象距离矩阵。

返回类型:

encore.utils.TriangularMatrix object

MDAnalysis.analysis.encore.confdistmatrix.get_distance_matrix(ensemble, select='name CA', load_matrix=None, save_matrix=None, superimpose=True, superimposition_subset='name CA', weights='mass', n_jobs=1, max_nbytes=None, verbose=False, *conf_dist_args, **conf_dist_kwargs)[源代码]

检索或计算构象距离(RMSD)矩阵。的所有帧之间计算距离矩阵。 Universe 作为输入提供的对象。矩阵元素的顺序取决于系综坐标的顺序和输入系综本身的顺序,因此输入列表的顺序是重要的。

距离矩阵可以从输入系综计算或从输入NumPy二进制文件加载。

请注意,.npz文件不包含二维数组,而是用于表示encore.utils.TriangularMatrix对象的元素的平面化表示形式。

参数:
  • ensemble (Universe) --

  • select (str) -- MDAnalysis格式的ATOM选择字符串。默认为“NAME CA”

  • load_matrix (str, optional) -- 从NumPy二进制文件中加载相似性/相异度矩阵,而不是计算它(默认为无)。文件名是必需的。

  • save_matrix (bool, optional) -- 将计算出的矩阵保存为NumPy二进制文件(默认为None)。文件名是必需的。

  • superimpose (bool, optional) -- 是否在计算距离之前叠加结构(默认为True)。

  • superimposition_subset (str, optional) -- 使用MDAnalysis选择语法进行叠加的组(默认为CA原子:“name CA”)

  • weights (str/array_like, optional) -- 用于适配的重量。可以是‘MASS’或类似数组

  • n_jobs (int, optional) -- 要使用的最大核心数(默认为1)。IF-1使用所有核心。

  • max_nbytes (str, optional) -- 传递给辅助进程的数组大小阈值,用于触发TEMP_FLDER中的自动内存映射(默认为无)。有关详细文档,请参阅https://joblib.readthedocs.io/en/latest/generated/joblib.Parallel.html。

  • verbose (bool, optional) -- 打印进度

返回:

配置矩阵 --构象距离矩阵。。

返回类型:

encore.utils.TriangularMatrix

MDAnalysis.analysis.encore.confdistmatrix.set_rmsd_matrix_elements(tasks, coords, rmsdmat, weights, fit_coords=None, fit_weights=None, *args, **kwargs)[源代码]

RMSD矩阵计算器

参数:
  • tasks (iterator of int of length 2) -- 给定一个三角矩阵,此函数将根据元素任务计算RMSD值 [0] 至任务 [1] 。由于矩阵是三角形的,所以TRM_INDIES矩阵自动计算相应的i,j个矩阵索引。矩阵以行为主的顺序编写为数组(有关详细信息,请参见TriangularMatrix类)。如果指定了FIT_COORDS和FIT_WEIGHTS,则将在计算RMSD之前叠加结构,并且将使用FIT_COORDS和FIT_WEIGHTS将两个结构放置在其质心并计算旋转矩阵。在这种情况下,必须同时指定FIT_COORDS和FIT_WEIGHTS。

  • coords (numpy.array) -- 系综坐标数组

  • weights (numpy.array) -- 原子量数组,与坐标数组具有相同的顺序

  • rmsdmat (encore.utils.TriangularMatrix) -- 共享内存的三角矩阵对象

  • fit_coords (numpy.array or None, optional) -- 用于拟合的坐标数组

  • fit_weights (numpy.array. optional) -- 原子量数组,与FIT_COCORDS数组具有相同的顺序