GMSO: 通用分子模拟对象
GMSO是用于分子模拟的化学拓扑的灵活存储。
只需几行 GMSO 代码,配合 mBuild 和 foyer,用户即可快速原型化任意参数化的化学系统,并为多种模拟引擎生成数据文件。
如需了解更多、开始使用或做出贡献,请访问我们的 Documentation。
GMSO 在 MoSDeF 生态系统中的位置
这是一个使用 mBuild 和 Foyer 构建 GMSO 拓扑并将其写入 LAMMPS 的示例。
import foyer
import forcefield_utilities as ffutils
from mbuild.lib.molecules import Ethane
from gmso.external.convert_mbuild import from_mbuild
from gmso.parameterization import apply
from gmso.formats.lammpsdata import write_lammpsdata
# Start with a mBuild compound
mb_ethane = Ethane()
oplsaa = ffutils.FoyerFFs().load('oplsaa').to_gmso_ff()
# atomtype the system with foyer, and convert the resulting structure to a topology
gmso_ethane = from_mbuild(mb_ethane)
apply(top=gmso_ethane,
forcefields=oplsaa,
identify_connections=True)
# Write out lammps datafile
write_lammpsdata(gmso_ethane, filename='ethane.lammps', atom_style='full')
简介
GMSO 旨在成为分子模拟中化学拓扑的通用且灵活的表示。
通过尽可能少地假设关于化学系统、模型或引擎的信息,GMSO 能够支持多种系统。
GMSO 是 MoSDeF (Molecular Simulation and Design Framework) 生态系统的一部分,旨在作为 foyer 包 的后端替代。
MoSDeF 生态系统中的库旨在提供简化研究人员模拟工作流程所需的实用工具。在设置模拟研究时,
我们还建议用户遵循 TRUE
(透明、可复现、他人可用且可扩展)标准,这是一组旨在提高计算模拟研究可复现性的通用实践。
目标与特性
GMSO 的目标是提供一个灵活的后端框架,以可复现的方式存储化学系统的拓扑信息。
在此情况下,拓扑被定义为初始化分子模拟所需的信息。
根据所执行模拟的类型,这些信息范围包括:
- 粒子位置
- 粒子连接性
- 盒子信息
- 力场数据
- 定义为
sympy表达式 的函数形式 - 具有定义单位的参数
- 部分电荷
- 表格化数据
- 等等
- 定义为
- 其他可选数据
- 粒子质量
- 元素数据
- 等等
基于 GMSO 的这些驱动目标,实现了以下功能:
-
_支持分子模拟/计算 化学社区中的多种模型: 不对代表原子或珠粒的相互作用位点做任何假设, 相反,这些可以是原子级、 联合原子/粗粒化、可极化以及其他模型!
-
为奇异势提供更大的灵活性:
AtomType(以及用于分子内相互作用的类似 类)使用sympy来存储任何 可以用数学表达式表示的势。 -
适应新引擎: 由于并非为与任何特定的分子模拟引擎或生态系统 兼容而设计, 社区开发者更容易为当前不支持的引擎添加胶水代码。
-
与现有社区工具的兼容性:没有任何单一的分子模拟工具能成为万能药,因此
GMSO包含了用于在各种文件格式和库之间进行转换的函数。这些函数既可以独立用于在内存中转换对象,也可以用于支持转换为当前未原生支持的文件格式。目前支持的转换包括: -
原生支持读写许多常见文件格式:我们原生支持:
XYZGROTOPLAMMPSDATA- 通过其他库间接支持更多格式!
安装
如需完整、详细的说明,请参阅 安装文档
conda 安装快速入门
GMSO 可在 conda 上获取,并可通过以下方式安装:
conda install -c conda-forge gmso
从源代码安装
GMSO 的依赖项列在文件 environment.yml (lightweight environment specification containing minimal dependencies) and environment-dev.yml 中(包含面向开发者的可选和测试包的全面环境规范)。
gmso or gmso-dev conda 环境可以通过以下方式创建
git clone https://github.com/mosdef-hub/gmso.git
cd gmso
# for gmso conda environment
conda env create -f environment.yml
conda activate gmso
# for gmso-dev
conda env create -f environment-dev.yml
conda activate gmso-dev
# install a non-editable version of gmso
pip install .
从源代码安装可编辑版本
当所有依赖项安装完成后,即可安装 conda environment has been created, the GMSO 本身。
cd gmso
conda activate gmso-dev # or gmso depending on your installation
pip install -e .
文档
完整文档可在 gmso.mosdef.org 找到。