4.4.2. 传单识别 MDAnalysis.analysis.leaflet

此模块实现了 LeafletFinder 算法,在中介绍 [Michaud-Agrawal2011]. 它可以识别任意形状和拓扑的双层中的脂质,包括周期性边界条件下的平面和波动双层或囊泡。

人们可以使用这些信息来识别

  • 上半叶和下半叶 平面膜 通过比较 center_of_geometry() 传单组中,或

  • 一种植物的外叶和内叶 水泡 通过比较距几何中心的距离的直方图(或可能简单地 radius_of_gyration() )。

参见中的示例脚本 MDAnalysisCookbook 关于如何使用 LeafletFinder 。该函数 optimize_cutoff() 实现一种(缓慢的)启发式方法来查找LeafletFinder算法的最佳切割点。

4.4.2.1. 算法

  1. 建立所有磷酸盐距离<截止日期的图表

  2. 找出最大的连通子图

  3. 分析对应于传单的第一和第二大图

有关更多详细信息,请参阅 [Michaud-Agrawal2011].

4.4.2.2. 类和函数

class MDAnalysis.analysis.leaflet.LeafletFinder(universe, select, cutoff=15.0, pbc=False, sparse=None)[源代码]

识别脂类双层的同一叶中的原子。

此类实现了 LeafletFinder 演算法 [Michaud-Agrawal2011].

参数:
  • universe (Universe) -- Universe 对象。

  • select (AtomGroup or str) -- 原子组实例或 Universe.select_atoms() 用于定义脂类头部基团的原子的选择字符串,例如宇宙原子.PO4或“名称PO4”或“名称P*”

  • cutoff (float (optional)) -- 头基团-定义原子的距离为 cutoff 角被认为是在同一张传单中 [15.0]

  • pbc (bool (optional)) -- 考虑周期性边界条件 [False]

  • sparse (bool (optional)) -- None :使用尽可能快的动作; True :使用缓慢的稀疏矩阵实现(用于大型系统); False :使用FAST distance_array() 实施 [None] 。

示例

图表的组件存储在列表中 LeafletFinder.components ;每个成分中的原子连续编号,从0开始。要获得输入结构中的原子,请使用 LeafletFinder.groups() ::

u = mda.Universe(PDB)
L = LeafletFinder(u, 'name P*')
leaflet0 = L.groups(0)
leaflet1 = L.groups(1)

残留物可通过标准的MDAnalysis机制获取:

leaflet0.residues

提供一个 ResidueGroup 举个例子。同样,第一张小叶中的所有原子都是::

leaflet0.residues.atoms

在 1.0.0 版本发生变更: 变化 selection 关键字至 select

在 2.0.0 版本发生变更: 宇宙关键字不再接受非宇宙参数。请创建一个 Universe 第一。

group(component_index)[源代码]

返回一个 MDAnalysis.core.groups.AtomGroupcomponent_index

groups(component_index=None)[源代码]

返回一个 MDAnalysis.core.groups.AtomGroupcomponent_index

如果未提供参数,则返回所有单元组的列表。

groups_iter()[源代码]

所有传单上的迭代器 groups()

sizes()[源代码]

组件索引与组件大小的字典。

update(cutoff=None)[源代码]

更新组件,可能使用不同的 截止日期

write_selection(filename, **kwargs)[源代码]

将宣传单的选择写到 文件名

格式通常由扩展名 文件名 (例如,“VMD”、“PML”或“NDX”表示VMD、PyMol或Gromacs)。

看见 MDAnalysis.selections.base.SelectionWriter 适用于所有选项。

MDAnalysis.analysis.leaflet.optimize_cutoff(universe, select, dmin=10.0, dmax=20.0, step=0.5, max_imbalance=0.2, **kwargs)[源代码]

找到最大限度减少断开连接的组数的分界点。

应用启发式方法来寻找最佳群体:

  1. 至少两组(假设至少有两份传单)

  2. 拒绝以下任何解决方案:

    \[{|N_0-N_1|}{|N_0+N_1|}>\mathm{最大不平衡}\]

    使用 \(N_i\) 为组内脂类的数量 \(i\) 。这种启发式方法选择类脂含量均衡的组。

参数:
  • universe (Universe) -- MDAnalysis.Universe 实例

  • select (AtomGroup or str) -- 用于的原子组或选择字符串 LeafletFinder

  • dmin (float (optional)) --

  • dmax (float (optional)) --

  • step (float (optional)) -- 扫描截止点 dmindmax 按步长大小 step (以埃为单位)

  • max_imbalance (float (optional)) -- 平衡启发式的调整参数 [0.2]

  • kwargs (other keyword arguments) -- 其他论据 LeafletFinder

返回:

找到的最佳截止点和组数

返回类型:

(cutoff, N)

备注

如果确实找不到适当数量的组,该函数可能会以各种方式失效;应该使其更加健壮。

在 1.0.0 版本发生变更: 变化 selection 关键字至 select