5.20. 琥珀色PRMTOP拓扑解析器

读取琥珀顶层文件以构建系统。

琥珀色关键字将转换为以下属性:

琥珀色旗

MDAnalysis属性

ATOM_NAME

姓名

CHARGE

收费

ATOMIC_NUMBER

元素

MASS

群众

没有氢键的键包括氢键

债券

不含氢的角度

角度

不含氢气的氢气

二面体/不正确

ATOM_TYPE_INDEX

type_indices

AMBER_ATOM_TYPE

类型

RESIDUE_LABEL

更名

RESIDUE_POINTER

残留物

备注

琥珀色电荷被转换成电子电荷,就像在MDAnalysis和其他软件包中使用的那样。要想拿回琥珀的费用,就得乘以18.2223。

目前不支持室式琥珀拓扑(即通过将CHARMM拓扑转换为琥珀拓扑的参数转换生成的拓扑)。在未来的MDAnalysis版本中可能会添加支持。

从2.0.0版开始,不再猜测元素是否缺少ATOM_NUMBER记录。在这些场景中,如果需要元素,则用户必须在解析拓扑文件后调用元素猜测器。请看 MDAnalysis.topology.guessers 了解更多详细信息。

5.20.1. 班级

class MDAnalysis.topology.TOPParser.TOPParser(filename)[源代码]

从琥珀顶层文件中读取拓扑信息。

在拓扑中读取以下属性:-原子名称-电荷-质量-元素-原子类型-重命名-类型_索引-键合-角度-二面体(包括改进器)

格式在中定义 PARM parameter/topology file specification 。读者试图检测它是否是较新的(琥珀12?)通过查找标志“ATOM_NUMBER”来设置文件格式。

备注

元素是从原子序数(如果存在)中获得的。如果给定的输入原子序数不属于某个元素(通常为-1或0),则将为该元素分配一个空记录。

在 0.7.6 版本发生变更: 解析Amber10和Amber12格式

在 0.19.0 版本发生变更: 分析键、角、二面体和突破器

在 1.0.0 版本发生变更: 警告用户当前不支持室式拓扑

在 2.0.0 版本发生变更: 如果丢失,则不再猜测元素

close()

关闭轨迹文件。

convert_forces_from_native(force, inplace=True)

力阵的换算 从原生单位到基本单位

参数:
  • force (array_like) -- 转型的力量

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.7 版本加入.

convert_forces_to_native(force, inplace=True)

力阵的换算 从基本单位到原生单位。

参数:
  • force (array_like) -- 转型的力量

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 force 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.7 版本加入.

convert_pos_from_native(x, inplace=True)

坐标数组x从原生单位到基本单位的转换。

参数:
  • x (array_like) -- 要转型的职位

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 x 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.5 版本发生变更: 关键字 inplace 可以设置为 False 以便返回修改后的副本 除非 不会发生转换,在这种情况下,对未修改的 x 返回。

convert_pos_to_native(x, inplace=True)

坐标数组的转换 x 从基本单位到本地单位。

参数:
  • x (array_like) -- 要转型的职位

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 x 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.5 版本发生变更: 关键字 inplace 可以设置为 False 以便返回修改后的副本 除非 不会发生转换,在这种情况下,对未修改的 x 返回。

convert_time_from_native(t, inplace=True)

转换时间 t 从原生单位到基本单位。

参数:
  • t (array_like) -- 要转换的时间值

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 t 被就地修改并返回(尽管请注意标量值 t 在Python中通过值传递,因此就地修改对调用方没有任何影响。)就地操作提高了性能,因为避免了分配新阵列。

在 0.7.5 版本发生变更: 关键字 inplace 可以设置为 False 以便返回修改后的副本 除非 不会发生转换,在这种情况下,对未修改的 x 返回。

convert_time_to_native(t, inplace=True)

转换时间 t 从基本单位到本地单位。

参数:
  • t (array_like) -- 要转换的时间值

  • inplace (bool, optional) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 t 被就地修改并也被返回。(另请注意,标量值 t 在Python中通过值传递,因此就地修改对调用方没有任何影响。)

在 0.7.5 版本发生变更: 关键字 在位 可以设置为 False 以便返回修改后的副本 除非 不会发生转换,在这种情况下,对未修改的 x 返回。

convert_velocities_from_native(v, inplace=True)

速度阵的换算 v 从原生单位到基本单位

参数:
  • v (array_like) -- 转型的速度

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 v 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.5 版本加入.

convert_velocities_to_native(v, inplace=True)

坐标数组的转换 v 从基本单位到原生单位

参数:
  • v (array_like) -- 转型的速度

  • inplace (bool (optional)) -- 是否就地修改数组,覆盖以前的数据

备注

默认情况下,输入 v 被就地修改并也被返回。就地操作提高了性能,因为避免了分配新阵列。

在 0.7.5 版本加入.

parse(**kwargs)[源代码]

解析琥珀色PRMTOP拓扑文件 文件名

返回类型:

A MDAnalysis Topology object

parse_bonded(num_per_record, numlines)[源代码]

从PARM7格式文件中提取债券信息

参数:
  • num_per_record (int) -- 段中每条记录的条目数

  • numlines (int) -- 要为该节分析的行数

备注

对于parm7文件的键/角部分,原子编号被设置为坐标数组索引值。如http://ambermd.org/formats.html中所述,要恢复实际的原子数,应将这些值除以3并加1。在这里,由于我们希望满足零索引,因此我们只除以3。

parse_charges(num_per_record, numlines)[源代码]

提取每个原子的部分电荷

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

attr --A Charges 实例,其中包含parm7文件中定义的每个原子的部分电荷

返回类型:

Charges

parse_chunks(data, chunksize)[源代码]

辅助函数,用于解析琥珀PRMTOP债券/角度。

参数:
  • data (list of int) -- Parm7焊接/角钢部分的输入列表,零索引

  • num_per_record (int) -- 输入列表中每条记录的条目数

返回:

vals --包含给定键合相互作用中涉及的原子的元组列表

返回类型:

list of int tuples

备注

在parm7格式中,该信息的结构如下: [原子1:N,内部索引] 其中1:n表示键/角中涉及的n个原子的ID,并且内部索引链接到给定的一组FF参数。因此,为了提取所需的信息,我们将列表拆分成大小为num_per_Records的块,并且只提取原子ID。

parse_dihedrals(diha, dihh)[源代码]

组合含氢和不含氢的琥珀二面体列表,并提取常规二面体和不适当角度的子列表

参数:
  • diha (list of tuples) -- 不含氢的二面体的原子ID

  • dihh (list of tuples) -- 含氢二面体的原子ID

返回:

  • dihedrals (Dihedrals) -- A Dihedrals instance containing a list of all unique dihedrals as defined by the parm7 file

  • impropers (Impropers) -- A Impropers instance containing a list of all unique improper dihedrals as defined by the parm7 file

备注

正如http://ambermd.org/formats.html,中详细描述的那样,Parm7文件的二面体部分包含有关常规二面体和改进器的信息。必须考虑到以下几点:1)如果二面体条目中的第四个原子被赋予负值,这表明它是不正确的。2)如果一个二面体条目中的第三个原子被赋予负值,这表明对于这个二面体,它的1-4个Nb相互作用被忽略。这可能是由于环内的二面体,或者如果它是多项二面体定义的一部分,或者如果它是不适当的。

parse_elements(num_per_record, numlines)[源代码]

提取每个原子的原子序数并转换为元素类型

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要传递的行数

返回:

attr --A Elements 实例,其中包含parm7文件中定义的每个原子的元素

返回类型:

Elements

备注

如果记录包含未知原子序数(例如<=0),则这些元素将被视为未知元素并分配一个空字符串值。更多细节见问题#2306和#2651。

在 2.0.0 版本发生变更: 无法识别的元素现在将返回空字符串。默认情况下,解析器将不再尝试猜测元素。

parse_masses(num_per_record, numlines)[源代码]

提取每个原子的质量

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

attr --A Masses 实例,其中包含parm7文件中定义的每个原子的质量

返回类型:

Masses

parse_names(num_per_record, numlines)[源代码]

从parm7文件中提取原子名称

参数:
  • num_per_record (int) -- 部分中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

attr --A Atomnames 实例,其中包含parm7文件中定义的每个原子的名称

返回类型:

Atomnames

parse_residx(num_per_record, numlines)[源代码]

提取每个原子的残基指针

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

vals --每个原子的零格式残基指针列表

返回类型:

list of int

parse_resnames(num_per_record, numlines)[源代码]

提取每个残基的名称

参数:
  • num_per_record (int) -- 段中每个记录器的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

attr --A Resnames 实例,其中包含parm7文件中定义的每个残基的名称

返回类型:

Resnames

parse_type_indices(num_per_record, numlines)[源代码]

提取Lennard Jones(6-12)相互作用中涉及的每个原子的原子类型索引。

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

A TypeIndices 实例,其中包含每个原子的LJ 6-12原子类型索引

返回类型:

ATTR TypeIndices

parse_types(num_per_record, numlines)[源代码]

提取每个原子的力场原子类型

参数:
  • num_per_record (int) -- 段中每条记录的条目数(未使用的输入)

  • numlines (int) -- 当前段中要分析的行数

返回:

attr --A Atomtypes 实例,其中包含parm7文件中定义的每个原子的原子类型

返回类型:

Atomtypes

parsesection_mapper(numlines, mapper)[源代码]

解析FORTRAN格式化的部分,并返回每行所有条目的列表

参数:
  • numlines (int) -- 此部分中要分析的行数

  • mapper (lambda operator) -- 用于设置当前节中条目格式的运算符

返回:

部分 --给定parm7部分中所有条目的列表

返回类型:

list

skipper()[源代码]

TOPParser:CLASS:HELPER函数,跳过输入parm7文件的行,直到我们找到下一个%FLAG条目并返回

返回:

line --包含parm7文件当前行的字符串

返回类型:

string

units = {'length': None, 'time': None, 'velocity': None}

带有以下单位的词典 time长度 (及 速度 ..用于支持它的格式)