Skip to content
forked from mosdef-hub/gmso

Flexible storage of chemical topology for molecular simulation

License

Notifications You must be signed in to change notification settings

chrisjonesBSU/gmso

Repository files navigation

GMSO: General Molecular Simulation Object

Flexible storage of chemical topology for molecular simulation

Introduction

GMSO is designed to be a general and flexible representation of chemical topolgies for molecular simulation. With an emphasis on assuming as little as possible about the chemical system, model, or engine, GMSO can enable support for a variety of systems. GMSO is a part of the MoSDeF (Molecular Simulation and Design Framework) ecosystem, and is intended to be the backend replacement for the foyer package.

Goals and Features

GMSO's goal is to provide a flexible backend framework to store topological information of a chemical system in a reproducible fashion. Topology in this case is defined as the information needed to initialize a molecular simulation. Depending on the type of simulation performed, this ranges from:

  • particle positions
  • particle connectivity
  • box information
  • forcefield data
    • functional forms defined as sympy expressions
    • parameters with defined units
    • partial charges
    • tabulated data
    • etc.
  • Other optional data
    • particle mass
    • elemental data
    • etc.

With these driving goals for GMSO, the following features are enabled:

  1. Supporting a variety of models in the molecular simulation/computational chemistry community_: No assumptions are made about an interaction site representing an atom or bead, instead these can be atomistic, united-atom/coarse-grained, polarizable, and other models!

  2. Greater flexibility for exotic potentials: The AtomType (and analogue classes for intramolecular interactions) uses sympy to store any potential that can be represented by a mathematical expression.

  3. Adaptable for new engines: by not being designed for compatibility with any particular molecular simulation engine or ecosystem, it becomes more tractable for developers in the community to add glue for engines that are not currently supported.

  4. Compatibility with existing community tools: No single molecular simulation tool will ever be a silver bullet, so GMSO includes functions to convert between various file formats and libraries. These can be used in their own right to convert between objects in-memory and also to support conversion to file formats not natively supported at any given time. Currently supported conversions include:

  5. Native support for reading and writing many common file formats: We natively have support for:

Installation

For full, detailed instructions, refer to the documentation for installation

Conda installation quickstart

Note: GMSO is not on conda currently, but its dependencies are.

git clone  https://github.com/mosdef-hub/gmso.git
cd gmso
conda install -c omnia -c mosdef -c conda-forge --file requirements.txt
pip install -e .

Pip installation quickstart

Note: GMSO is not on pypi currently, but its dependencies are.

git clone  https://github.com/mosdef-hub/gmso.git
cd gmso
pip install -r requirements.txt
pip install -e .

These two quickstarts will install GMSO in editable mode, which means that as you edit the source code of GMSO those edits will be reflected in your installation.

Documentation

The full documentation can be found at gmso.mosdef.org

About

Flexible storage of chemical topology for molecular simulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • TeX 1.7%
  • Other 0.1%