All Projects → mosdef-hub → foyer

mosdef-hub / foyer

Licence: MIT license
A package for atom-typing as well as applying and disseminating forcefields

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to foyer

physical validation
Physical validation of molecular simulations
Stars: ✭ 37 (-52.56%)
Mutual labels:  molecular-dynamics, molecular-simulation
mbuild
A hierarchical, component based molecule builder
Stars: ✭ 119 (+52.56%)
Mutual labels:  molecular-dynamics, molecular-simulation
fftool
Tool to build force field input files for molecular simulation.
Stars: ✭ 84 (+7.69%)
Mutual labels:  molecular-dynamics, force-field
AdaptivePELE
AdaptivePELE is a Python package aimed at enhancing the sampling of molecular simulations
Stars: ✭ 14 (-82.05%)
Mutual labels:  molecular-dynamics, molecular-simulation
enspara
Modeling molecular ensembles with scalable data structures and parallel computing
Stars: ✭ 28 (-64.1%)
Mutual labels:  molecular-dynamics
openmm-tutorials
Quickstart Python tutorials helping molecular dynamics practitioners get up to speed with OpenMM
Stars: ✭ 37 (-52.56%)
Mutual labels:  molecular-dynamics
fahbench
Folding@home GPU benchmark
Stars: ✭ 32 (-58.97%)
Mutual labels:  molecular-dynamics
Pyemma
🚂 Python API for Emma's Markov Model Algorithms 🚂
Stars: ✭ 200 (+156.41%)
Mutual labels:  molecular-dynamics
contact map
Contact map analysis for biomolecules; based on MDTraj
Stars: ✭ 27 (-65.38%)
Mutual labels:  molecular-dynamics
LifeBrush
A toolkit for painting agent-based mesoscale molecular simulations and illustrations.
Stars: ✭ 38 (-51.28%)
Mutual labels:  molecular-simulation
wepy
Weighted Ensemble simulation framework in Python
Stars: ✭ 38 (-51.28%)
Mutual labels:  molecular-dynamics
calphy
A Python library and command line interface for automated free energy calculations
Stars: ✭ 28 (-64.1%)
Mutual labels:  molecular-dynamics
packmol
Packmol - Initial configurations for molecular dynamics simulations
Stars: ✭ 118 (+51.28%)
Mutual labels:  molecular-dynamics
awesome-molecular-dynamics
😎 A curated list of awesome Molecular Dynamics libraries, tools and software.
Stars: ✭ 76 (-2.56%)
Mutual labels:  molecular-dynamics
QCxMS
Quantum mechanic mass spectrometry calculation program
Stars: ✭ 25 (-67.95%)
Mutual labels:  molecular-dynamics
Tensormol
Tensorflow + Molecules = TensorMol
Stars: ✭ 226 (+189.74%)
Mutual labels:  molecular-dynamics
Cassandra
Cassandra is a Monte Carlo package to conduct atomistic simulations.
Stars: ✭ 26 (-66.67%)
Mutual labels:  molecular-simulation
nequip
NequIP is a code for building E(3)-equivariant interatomic potentials
Stars: ✭ 312 (+300%)
Mutual labels:  molecular-dynamics
CellListMap.jl
Flexible implementation of cell lists to map the calculations of particle-pair dependent functions, such as forces, energies, neighbour lists, etc.
Stars: ✭ 62 (-20.51%)
Mutual labels:  molecular-dynamics
NNPOps
High-performance operations for neural network potentials
Stars: ✭ 48 (-38.46%)
Mutual labels:  molecular-dynamics

Foyer: A package for atom-typing as well as applying and disseminating forcefields

Gitter chat CI Anaconda Badge codecov DOI

Overview

Foyer is an open-source Python tool for defining and applying force field atom-typing rules in a format that is both human- and machine-readable. It parametrizes chemical topologies, generating, syntactically correct input files for various simulation engines. Foyer provides a framework for force field dissemination, helping to eliminate ambiguity in atom-typing and improving reproducibility (for more information, see our paper or its corresponding pre-print).

Foyer within the MoSDeF Ecosystem

Foyer within the MoSDeF Ecosystem

Foyer defines force fields in an XML format, where SMARTS strings are used to define the chemical context of a particular atom type and “overrides” are used to set rule precedence, rather than a rigid hierarchical scheme. Foyer builds upon the OpenMM .xml force field file, annotated with SMARTS-based atomtypes, e.g.:

<ForceField>
 <AtomTypes>
  <Type name="opls_135" class="CT" element="C" mass="12.01100" def="[C;X4](C)(H)(H)H" desc="alkane CH3"/>
  <Type name="opls_140" class="HC" element="H" mass="1.00800"  def="H[C;X4]" desc="alkane H"/>
 </AtomTypes>
</ForceField>

Foyer can apply the forcefield to arbitrary chemical topologies. We currently support:

Application of a force field can be as simple as:

from foyer import Forcefield
import parmed as pmd

untyped_ethane = pmd.load_file('ethane.mol2', structure=True)
oplsaa = Forcefield(forcefield_files='oplsaa.xml')
ethane = oplsaa.apply(untyped_ethane)

# Save to any format supported by ParmEd
ethane.save('ethane.top')
ethane.save('ethane.gro')

The Foyer package is part of the Molecular Simulation Design Framework (MoSDeF) project. Libraries in the MoSDeF ecosystem are designed to provide utilities neccessary to streamline a researcher's simulation workflow. When setting up simulation studies, we also recommend users to follow the TRUE (Transparent, Reproducible, Usable-by-others, and Extensible) standard, which is a set of common practices meant to improve the reproducibility of computational simulation research.

Getting started

Quick Start with Docker

To use foyer in a jupyter-notebook that runs from a docker container with all the dependencies installed use the following command:

$ docker pull mosdef/foyer:latest
$ docker run -it --name foyer -p 8888:8888 mosdef/foyer:latest\
  /opt/conda/envs/foyer-docker/bin/jupyter notebook --ip="*"

Alternatively, you can also start a Bourne shell directly:

$ docker run -it --name foyer mosdef/foyer:latest

To learn more about using foyer with docker, please refer to the documentation here .

Getting started with SMARTS-based atom-typing

Defining force fields:

Example foyer force field files:

Foyer currently includes a subset of the OPLS AA and TraPPE forcefields, currently part of the source distribution:

Additional example force field XML files:

Example template for disseminating force fields:

Using Foyer to perform atom typing:

Documentation:

Installation instructions

Citing Foyer:

License

Various sub-portions of this library may be independently distributed under different licenses. See those files for their specific terms.

This material is based upon work supported by the National Science Foundation under grants NSF ACI-1047828 and NSF ACI-1535150. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].