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_bonded(num_per_record, numlines)[源代码]
从PARM7格式文件中提取债券信息
备注
对于parm7文件的键/角部分,原子编号被设置为坐标数组索引值。如http://ambermd.org/formats.html中所述,要恢复实际的原子数,应将这些值除以3并加1。在这里,由于我们希望满足零索引,因此我们只除以3。
- parse_chunks(data, chunksize)[源代码]
辅助函数,用于解析琥珀PRMTOP债券/角度。
- 参数:
- 返回:
vals --包含给定键合相互作用中涉及的原子的元组列表
- 返回类型:
list of int tuples
备注
在parm7格式中,该信息的结构如下: [原子1:N,内部索引] 其中1:n表示键/角中涉及的n个原子的ID,并且内部索引链接到给定的一组FF参数。因此,为了提取所需的信息,我们将列表拆分成大小为num_per_Records的块,并且只提取原子ID。
- parse_dihedrals(diha, dihh)[源代码]
组合含氢和不含氢的琥珀二面体列表,并提取常规二面体和不适当角度的子列表
- 参数:
- 返回:
dihedrals (
Dihedrals
) -- ADihedrals
instance containing a list of all unique dihedrals as defined by the parm7 fileimpropers (
Impropers
) -- AImpropers
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)[源代码]
提取每个原子的原子序数并转换为元素类型
- 参数:
- 返回:
attr --A
Elements
实例,其中包含parm7文件中定义的每个原子的元素- 返回类型:
Elements
备注
如果记录包含未知原子序数(例如<=0),则这些元素将被视为未知元素并分配一个空字符串值。更多细节见问题#2306和#2651。
在 2.0.0 版本发生变更: 无法识别的元素现在将返回空字符串。默认情况下,解析器将不再尝试猜测元素。
- skipper()[源代码]
TOPParser:CLASS:HELPER函数,跳过输入parm7文件的行,直到我们找到下一个%FLAG条目并返回
- 返回:
line --包含parm7文件当前行的字符串
- 返回类型:
string
- units = {'length': None, 'time': None, 'velocity': None}
带有以下单位的词典 time 和 长度 (及 速度 , 力 ..用于支持它的格式)