6.27. 使用读取轨迹 化学文件 -- MDAnalysis.coordinates.chemfiles

MDAnalysis与 chemfiles 类库。这个 化学文件 C++库支持扩展的文件格式集,其中一些格式本身并不受MDAnalysis支持。使用 CHEMFILES 您可以使用的阅读器 chemfiles 用于低级文件读取。查看列表中的 chemfile-supported file formats

6.27.1. 使用CHEMFILES读取器

阅读时,请将 format="CHEMFILES" 关键字参数和I/O委托给 chemfiles 。例如::

>>> import MDAnalysis as mda
>>> from MDAnalysis.tests import datafiles as data
>>> u = mda.Universe(data.TPR, data.TRR, format="CHEMFILES")
>>> print(u.trajectory)
<ChemfilesReader ~/anaconda3/envs/mda3/lib/python3.8/site-packages/MDAnalysisTests/data/adk_oplsaa.trr with 10 frames of 47681 atoms>

然后,您可以使用 Universe 像往常一样,化学文件在后台透明地处理I/O。

chemfiles 也可以 MDAnalysis中没有编写器的多个格式。例如,要编写一个mol2文件::

>>> u = mda.Universe(data.mol2_ligand)
>>> with mda.Writer("ligand.mol2", format="CHEMFILES") as W:
...     W.write(u.atoms)

6.27.2. 班级

类来读写文件。 chemfiles 类库。这个库提供了多种格式读取器和写入器的C++实现。

class MDAnalysis.coordinates.chemfiles.ChemfilesReader(filename, chemfiles_format='', **kwargs)[源代码]

使用化学文件的坐标阅读器。

根据文件扩展名猜测要使用的文件格式。如果找不到匹配的格式,则会引发 ChemfilesError 都被养大了。也可以手动指定要用于给定文件的格式。

在 1.0.0 版本加入.

参数:
  • filename (chemfiles.Trajectory or str) -- 要读取的ChemFiles对象或要读取的文件名

  • chemfiles_format (str (optional)) -- 如果 文件名 是一个字符串,请使用给定的格式名称,而不是从扩展名中猜测。这个 list of supported formats 相关名称可在化学文件文档中找到。

  • **kwargs (dict) -- 读者的一般论点。

class MDAnalysis.coordinates.chemfiles.ChemfilesWriter(filename, n_atoms=0, mode='w', chemfiles_format='', topology=None, **kwargs)[源代码]

使用化学文件的坐标编写器。

根据文件扩展名猜测要使用的文件格式。如果找不到匹配的格式,则会引发 ChemfilesError 都被养大了。也可以手动指定要用于给定文件的格式。

如果底层格式支持,则ChemFiles支持写入具有不同原子数的文件。大多数基于文本的格式都是这种情况。

在 1.0.0 版本加入.

参数:
  • filename (str) -- 轨迹文件的文件名。

  • n_atoms (int) -- 要写入的轨迹中的原子数。如果基础格式支持该值,则不使用该值,并且该值在轨迹过程中可能会发生变化

  • mode (str (optional)) -- 文件打开模式:使用‘a’追加到现有文件,或使用‘w’创建新文件

  • chemfiles_format (str (optional)) -- 使用给定的格式名称,而不是从扩展名中猜测。这个 list of supported formats 相关名称可在化学文件文档中找到。

  • topology (Universe or AtomGroup (optional)) -- 使用此处的拓扑 AtomGroupUniverse 将所有时间步长写入文件

  • **kwargs (dict) -- 一般作家的论据。

class MDAnalysis.coordinates.chemfiles.ChemfilesPicklable(path, mode='r', format='')[源代码]

可进行酸洗的ChemFiles文件对象(只读)。

此类提供了一个类似文件的对象(由 chemfiles.Trajectory ),与标准的Python文件对象不同,它可以进行酸洗。仅支持读取模式。

当文件被浸泡时,将保存文件句柄的路径、模式和格式。在取消酸洗时,文件通过带有模式的路径和保存的格式打开。这意味着要成功地取消选取,原始文件仍然必须可以使用其文件名进行访问。

备注

只能在读取(‘r’)模式下使用。在酸洗时,当前帧被重置。 universe.trajectory[i] 必须使用才能返回到其原始框架。

参数:
  • filename (str) -- 给定文本或字节字符串的文件名。

  • mode ('r' , optional) -- 只有‘r’可以用于酸洗。

  • format ('', optional) -- 如果为空,则从文件扩展名猜测。

示例

f = ChemfilesPicklable(XYZ, 'r', '')
print(f.read())
f.close()

还可以用作上下文管理器::

with ChemfilesPicklable(XYZ) as f:
    print(f.read())

在 2.0.0 版本加入.

6.27.3. 帮助器函数

MDAnalysis.coordinates.chemfiles.MIN_CHEMFILES_VERSION = <Version('0.10')>

MDAnalysis支持的化学文件的最低版本。

MDAnalysis.coordinates.chemfiles.MAX_CHEMFILES_VERSION = <Version('0.11')>

化学文件的最低版本是 不支持 由MDAnalysis提供。

MDAnalysis.coordinates.chemfiles.check_chemfiles_version()[源代码]

检查是否有适当的 化学文件 有空房吗?

退货 True 如果有可用的化学文件版本,请使用 MIN_CHEMFILES_VERSION <=版本< MAX_CHEMFILES_VERSION

在 1.0.0 版本加入.