9. 选择导出器

此模块中的类允许将选择写入可由读取的文件 另一项计划 要在MDAnalysis中选择原子 MDAnalysis.core.groups.AtomGroup 。这种跨包互操作性允许用户将他们喜欢的工具与MDAnalysis相结合,以进一步可视化或模拟。

支持的导出器和可识别的文件扩展名表。

名字

分机

IO

备注

VMD

TCL

W

VMD 宏,在表示法中可用;模块 MDAnalysis.selections.vmd

比摩尔

PML

W

简单 PyMOL 选择字符串;模块 MDAnalysis.selections.pymol

杂货店

NDX

W

Gromacs 索引文件;模块 MDAnalysis.selections.gromacs

查姆

应力

W

CHARMM 单个原子的选择.模组 MDAnalysis.selections.charmm

JMOL

SPT

W

Jmol 选择命令;模块 MDAnalysis.selections.jmol

9.1. 如何编写选集

9.1.1. 单原子基团

典型的情况是,一个人有一个 AtomGroup 并希望在不同的包中使用相同的原子选择,例如,可视化中的原子 VMD. 首先创建一个 AtomGroup (已命名 g 在下面的示例中),然后使用其 write 方法,并使用相应的 文件扩展名 (请参阅 支持的导出器和可识别的文件扩展名表。 对于公认的 分机 ):

g = u.select_atoms('protein")
g.write("selections.vmd", name="mda_protein")

在……里面 VMD, 获取文件来源 selections.vmd (用TCL编写)定义“宏” mda_protein 包含要选择的原子索引的

source selection.vmd
set sel [atomselect top mda_mdanalysis]

在图形用户界面中,宏出现在 Graphics ‣ Representations 列表中的窗口 Selections: Singlewords 作为“丙二醛_蛋白质”。

9.1.2. 多项选择

这个 write 方法可以接受其他关键字参数,包括 mode 。默认为 mode="w" ,这将覆盖提供的文件。如果 mode="a" 那么选择就是 附加的 添加到文件中。

或者,您可以使用 SelectionWriter 自身作为上下文管理器,并编写每个 AtomGroup 在上下文中。例如,要将被选择来标记脂质双层的不同部分的多个基团写入 Gromacs 名为“leaflets.ndx”的索引文件::

with mda.selections.gromacs.SelectionWriter('leaflets.ndx', mode='w') as ndx:
    ndx.write(upper_saturated, name='upper_sat')
    ndx.write(lower_saturated, name='lower_sat')
    ndx.write(upper_unsaturated, name='upper_unsat')
    ndx.write(lower_unsaturated, name='lower_unsat')

有一个单独的 SelectionWriter 对于每种格式,如下所述。

9.2. 评选作家

存在着不同的 SelectionWriterBase 用于不同包的类。这个 get_writer() 函数中的文件扩展名可以自动选择适当的扩展名。 支持的导出器和可识别的文件扩展名表。

MDAnalysis.selections.get_writer(filename: str, defaultformat: str) SelectionWriterBase[源代码]

返回的SelectionWriter filename 或者是 defaultformat

参数:
  • filename (str) -- 输出文件的名称;扩展名用于猜测文件格式

  • defaultformat (str) -- 如果 filename 没有扩展名,请使用 defaultformat 取而代之的是

返回:

SelectionWriterBase --作家 class 对于检测到的格式

返回类型:

type

抛出:

NotImplementedError -- 对于任何未定义的格式

格式

每个模块都实现了 SelectionWriter 用于特定格式。