9. 选择导出器
此模块中的类允许将选择写入可由读取的文件 另一项计划 要在MDAnalysis中选择原子 MDAnalysis.core.groups.AtomGroup
。这种跨包互操作性允许用户将他们喜欢的工具与MDAnalysis相结合,以进一步可视化或模拟。
名字 |
分机 |
IO |
备注 |
---|---|---|---|
VMD |
TCL |
W |
VMD 宏,在表示法中可用;模块 |
比摩尔 |
PML |
W |
简单 PyMOL 选择字符串;模块 |
杂货店 |
NDX |
W |
Gromacs 索引文件;模块 |
查姆 |
应力 |
W |
CHARMM 单个原子的选择.模组 |
JMOL |
SPT |
W |
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]
在图形用户界面中,宏出现在 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 。
- 参数:
- 返回:
SelectionWriterBase --作家 class 对于检测到的格式
- 返回类型:
type
- 抛出:
NotImplementedError -- 对于任何未定义的格式
格式
每个模块都实现了 SelectionWriter
用于特定格式。