4.6.1. 聚合物分析 MDAnalysis.analysis.polymer

作者:

理查德·J·高尔斯

:

2015年、2018年

版权所有:

GNU公共许可证v3

该模块包含分析聚合物的各种常用工具。

class MDAnalysis.analysis.polymer.PersistenceLength(atomgroups, **kwargs)[源代码]

计算高分子链的驻留长度

持续长度是聚合物链上的两个点变得解相关的长度。这是通过首先测量自相关来确定的 (\(C(n)\) )的两个键向量 (\(\mathbf{{a}}_i, \mathbf{{a}}_{{i + n}}\) )由 \(n\) 债券

\[C(N)=\langeCos\theta_{i,i+n}\Rangel= \lange\mathbf{a_i}\cot\mathbf{a_{i+n}}\range\]

然后对其进行指数衰减,从而得到持续时间

\[C(N)\约\EXP\Left(-\FRAC{n\bar{l_B}}{l_P}\Right)\]

哪里 \(\bar{{l_B}}\) 是平均键长,以及 \(l_P\) 是符合的持续长度

参数:
  • atomgroups (iterable) -- 原子组列表。每一个都应该代表一个单一的聚合物链,并按正确的顺序排序。

  • verbose (bool, optional) -- 如果设置为,则显示计算的详细进度 True

results.bond_autocorrelation

测得的键自相关

类型:

numpy.ndarray

results.lb

平均键长

在 2.0.0 版本加入.

类型:

浮动

lb

的别名 results.lb

自 2.0.0 版本弃用: 将在MDAnalysis 3.0.0中删除。请使用 results.lb 取而代之的是。

类型:

浮动

results.x

所预测的去相关长度 lp

在 2.0.0 版本加入.

类型:

numpy.ndarray

results.lp

计算的持续长度

在 2.0.0 版本加入.

类型:

浮动

lp

的别名 results.lp

自 2.0.0 版本弃用: 将在MDAnalysis 3.0.0中删除。请使用 results.lp 取而代之的是。

类型:

浮动

results.fit

所预测的模型主干去相关 lp

在 2.0.0 版本加入.

类型:

numpy.ndarray

fit

的别名 results.fit

自 2.0.0 版本弃用: 将在MDAnalysis 3.0.0中删除。请使用 results.fit 取而代之的是。

类型:

浮动

参见

sort_backbone()

用于生成输入所需的已排序原子组。

示例

from MDAnalysis.tests.datafiles import TRZ_psf, TRZ
import MDAnalysis as mda
from MDAnalysis.analysis import polymer
u = mda.Universe(TRZ_psf, TRZ)

# this system is a pure polymer melt of polyamide,
# so we can select the chains by using the .fragments attribute
chains = u.atoms.fragments

# select only the backbone atoms for each chain
backbones = [chain.select_atoms('not name O* H*') for chain in chains]

# sort the chains, removing any non-backbone atoms
sorted_backbones = [polymer.sort_backbone(bb) for bb in backbones]
persistence_length = polymer.PersistenceLength(sorted_backbones)

# Run the analysis, this will average over all polymer chains
# and all timesteps in trajectory
persistence_length = persistence_length.run()
print(f'The persistence length is: {persistence_length.results.lp}')

# always check the visualisation of this:
persistence_length.plot()

在 0.13.0 版本加入.

在 0.20.0 版本发生变更: Run方法现在自动执行指数拟合

在 1.0.0 版本发生变更: 已弃用 PersistenceLength.perform_fit() 现已被移除。

在 2.0.0 版本发生变更: results 现在存储为 results.bond_autocorrelationlblpfit 现在存储在一个 MDAnalysis.analysis.base.Results 实例。

plot(ax=None)[源代码]

将结果可视化并进行匹配

参数:

ax (matplotlib.Axes, optional) -- 如果提供,则在此轴上绘制图形

返回:

ax

返回类型:

the axis that the graph was plotted on

MDAnalysis.analysis.polymer.fit_exponential_decay(x, y)[源代码]

使函数符合指数衰减规律

\[Y=\EXP\Left(-\frac{x}{a}\Right)\]
参数:
  • x (array_like) -- 两个数据数组

  • y (array_like) -- 两个数据数组

返回:

a --系数 a 对于这种腐烂

返回类型:

float

备注

此函数假定数据从1.0开始,衰减到0.0

MDAnalysis.analysis.polymer.sort_backbone(backbone)[源代码]

将线性原子群重新排列为主干顺序

要求主链有成键信息,并且只提供主链原子(即没有侧链或氢)。

参数:

backbone (AtomGroup) -- 主干原子,不一定是有序的

返回:

sorted_backbone --脊梁整齐,所以 sorted_backbone[i] 被绑定到 sorted_backbone[i - 1]sorted_backbone[i + 1]

返回类型:

AtomGroup

在 0.20.0 版本加入.