11.3.1. 核心拓扑对象 MDAnalysis.core.topology
在 0.16.0 版本加入.
Topology
是保存所有拓扑信息的核心对象。
TODO:添加深入讨论。
备注
对于开发人员:在MDAnalys0.16.0中引入了这个新的拓扑系统,并将其作为问题进行讨论 #363 ;本期载有关于新系统的关键信息和讨论。发行编号 363 也被用作讨论中提及新拓扑系统的速记。
11.3.1.1. 班级
- class MDAnalysis.core.topology.Topology(n_atoms=1, n_res=1, n_seg=1, attrs=None, atom_resindex=None, residue_segindex=None)[源代码]
内存中基于阵列的拓扑数据库。
MDanalysis的拓扑模型以原子为特征,每个原子必须是一个残基的成员。反过来,每个残基必须是一个片段的成员。维护这种层级结构的细节,以及原子到残基、残基到片段的映射,以及反之亦然,都是由这个对象在内部处理的。
- 参数:
- add_Residue(segment, **new_attrs)[源代码]
- 返回类型:
residx of the new Residue
- 抛出:
NoDataError -- 如果不是所有数据都提供了。在进行任何更改之前会引发此错误
在 2.1.0 版本发生变更: 将_ADD_NEW用于TopologyAttr RESIZE
- add_Segment(**new_attrs)[源代码]
向拓扑中添加新线段
- 参数:
new_attrs (dict) -- 新细分市场的新属性,例如{‘segid’:‘B’}
- 抛出:
NoDataError -- 如果未指定属性,则返回。
- 返回:
ix --新细分市场的IDX
- 返回类型:
在 2.1.0 版本发生变更: 添加了用于调整拓扑属性大小的_ADD_NEW
- add_TopologyAttr(topologyattr)[源代码]
将新的TopologyAttr添加到Topology。
- 参数:
topologyattr (TopologyAttr) --
- del_TopologyAttr(topologyattr)[源代码]
从拓扑中删除TopologyAttr。
如果它不存在,则不会发生任何事情。
- 参数:
topologyattr (TopologyAttr) --
在 2.0.0 版本加入.
- property guessed_attributes
此拓扑中的猜测属性列表
- property read_attributes
从拓扑中读取的属性列表
- class MDAnalysis.core.topology.TransTable(n_atoms, n_residues, n_segments, atom_resindex=None, residue_segindex=None)[源代码]
具有跨级别转换索引的方法的成员资格表。
有三个级别:原子、残留物和片段。每个原子 must 属于一个残留物,每个残留物 must 属于某个细分市场。
向上转换时,例如查找残基属于哪个段,将返回单个Numpy数组。向下转换时,有两个选项可用;串联结果(后缀 _1) or a list for each parent object (suffix _ 2d)。
- 参数:
n_atoms (int) -- 拓扑学中的原子数
n_residues (int) -- 拓扑中的留数
n_segments (int) -- 拓扑中的分段数
atom_resindex (1-D array) -- 为拓扑中的每个原子重新编制索引;此数组中唯一值的数量必须为<= n_residues ,数组的长度必须为 n_atoms ;设置为None默认为将所有原子放置在残数0中
residue_segindex (1-D array) -- 拓扑中每个残差的段索引;此数组中唯一值的数量必须为<= n_segments ,数组的长度必须为 n_residues ;设置为None默认为将所有残差放在段0中
- n_atoms
拓扑学中的原子数
- 类型:
集成
- n_residues
拓扑中的留数
- 类型:
集成
- n_segments
拓扑中的分段数
- 类型:
集成
- size
元组
(n_atoms, n_residues, n_segments)
描述TransTable的形状- 类型:
元组
- .. versionchanged:: 2.3.0
懒惰的建筑RA和SR。
- residues2atoms_1d(rix)[源代码]
得到由给定残基指数共同表示的原子指数。
- 参数:
rix (array) -- 残留物指数
- 返回:
aix --残基中存在的原子指数,统称为
- 返回类型:
array
- residues2atoms_2d(rix)[源代码]
获取由每个残基指数表示的原子指数。
- 参数:
rix (array) -- 残留物指数
- 返回:
raix --每个元素对应一个残基索引,顺序为 rix ,每个元素是存在于该残基中的原子索引的数组
- 返回类型:
- segments2atoms_1d(six)[源代码]
获取由给定段索引共同表示的原子索引。
- 参数:
six (array) -- 分部索引
- 返回:
aix --以片段形式存在的原子的分类指数,统称为
- 返回类型:
array
- segments2atoms_2d(six)[源代码]
获取由每个段索引表示的原子索引。
- 参数:
six (array) -- 残留物指数
- 返回:
saix --每个元素对应于一个段索引,其顺序为 six ,每个元素都是该段中存在的原子索引的数组
- 返回类型:
11.3.1.2. 帮助器函数
- MDAnalysis.core.topology.make_downshift_arrays(upshift, nparents)[源代码]
从向上的翻译表创建相反的方向
将多对一映射(如原子到残基)转换为一对多映射(残基到原子)
- 参数:
upshift (array_like) -- 描述每个项目所属父项的整数数组
nparents (integer) -- 存在的父级总数。
- 返回:
降档 --数组的数组,每个数组包含每个父级的子级的索引。长度 nparents +1
- 返回类型:
array_like (dtype object)
示例
要查找给定原子到残数映射的残数到原子的映射,请执行以下操作:
>>> import numpy as np >>> import MDAnalysis as mda >>> from MDAnalysis.core.topology import make_downshift_arrays >>> atom2res = np.array([0, 1, 0, 2, 2, 0, 2]) >>> make_downshift_arrays(atom2res, 3) array([array([0, 2, 5]), array([1]), array([3, 4, 6]), None], dtype=object)
条目0对应于残基0,并且说这包含原子0、2和5
备注
返回数组中的最后一个条目将是
None
以确保数组的数据类型为object
。警告
这意味着负索引应该 绝不可能 与这些数组一起使用。