Software Development

Overview

Rather than writing and maintaining our own software stack, we use and contribute to existing (open source) software packages. Most of the time it is impossible to compete with package programs that combine the expertise and experience of many contributers over a long time. Also, well designed packages make it easy to focus on the new feature. And the effort of programming so that it agrees with the requirements of those packages is offset by the benefit of not having to write all the framework as well. And ultimately, this way more people can benefit from new or improved methods.

arrow Go back to research index.

A Collective Variables Interface for MD Codes

colvars scaling

To tackle with the increasing complexity of macromolecular simulations, many techniques to enhance sampling have been made available in the past, most of them making use of reaction coordinates, or collective variables. Yet, multidimensional reaction pathways and conformational ensembles are most often modeled by very simple and ad hoc one-dimensional coordinates. Frequently this happens not because of methodological constraints, but rather because of too inflexible implementations within the MD programs used.

colvars scaling

We have designed a module for MD codes that implements simultaneously several of such techniques, and an array of collective variables of broad usage. Currently available are: Adaptive Biasing Force (ABF), MetaDynamics (MtD), Steered MD (SMD) and Umbrella Sampling (US). There is no restriction on the number of variables, and many of their functional forms can be manipulated without recompilation. Statistical analyses can be performed at runtime, eliminating the need to store large trajectory files.

The module is written in C++ with minimal standard library requirements and has been released in NAMD version 2.7, with minimal impact on its parallel performance. Nevertheless, it is highly autonomous from NAMD, and in the process of being integrated with other open-source MD programs and with VMD, to seamlessly join simulation setup, runtime analysis and post-processing.

Contact: Giacomo Fiorin, Jérôme Hénin arrow Go back to research index.

Coarse Grain Model Implementations

Functional form of CG-CMM potential

The specific functional forms required for the non-bonded potential of the CMM coarse grain model have been so far implemented into the following Molecular Dynamics simulation software packages:

LAMMPS (homepage)
LAMMPS is recommended (and used by our group) for most production calculations with the CMM-CG model. LAMMPS has extremely good parallel scaling and contains many useful tools. You have to compile with the user-cg-cmm package enabled to use the CMM-CG model. Further optimizations for selected simulation scenarios and better scaling of large systems are under development.
HOOMD-blue (homepage)
The HOOMD-blue package is a fairly new Molecular Dynamics software package that runs entirely on graphics processors (GPUs) using the CUDA toolkit from Nvidia with up to 60x the speed of a single CPU.
MPDyn (homepage)
MPDyn is the reference Fortran implementation of the CMM-CG model. You may need to contact the MPDyn developer, Wataru Shinoda, to get access to a version that fully support the model. MPDyn is very efficient for serial execution and when using a small number of MPI tasks.
Coarse grain mapping of an arginine sidechain.

Tools to prepare and set up coarse grain simulations from scratch and from existing all-atom restart configuration are under development and will be published here, as well as the corresponding parameter and topology databased files.

Contact: Russell DeVane, Axel Kohlmeyer arrow Go back to research index.

Contributed HOOMD Modules

HOOMD logo

HOOMD-blue performs general purpose particle dynamics simulations on a single workstation, taking advantage of NVIDIA GPUs using the CUDA Toolkit to attain a level of performance equivalent a small cluster. Simulations are configured and run using simple python scripts, allowing complete control over the force field choice, integrator, all parameters, how many time steps are run, and more.

Our contributed modules to the HOOMD project for version 0.8.2 are: Contact: David LeBard, Benjamin Levine, and Axel Kohlmeyer arrow Go back to research index.

Contributed LAMMPS Packages

LAMMPS is a parallel molecular dynamics simulation software package with potentials for soft materials (biomolecules, polymers) and solid-state materials (metals, semiconductors) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. LAMMPS is designed to parallelizes particularly well on large systems systems with no long-range interactions due to using a flexible spatial-decomposition of the simulation domain. The code is providing a simulation framework that is easy to modify or extend with new functionality without losing parallel scaling.

Our contributions to LAMMPS include:

Please see the Images and Movies Gallery page for some application examples.

Contact: Axel Kohlmeyer arrow Go back to research index.

Contributed VMD Plugins

VMD logo

VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3-D graphics and built-in scripting. VMD supports computers running MacOS X, Unix, or Windows, is distributed free of charge, and includes source code. A member of the ICMS is a contributing VMD developer and also maintainting a number of VMD plugins listed below.

  • TopoTools a Tcl script plugin library for manipulating topology information. It is meant to be a complementary tool to psfgen. TopoTools consists of a generic middleware script layer that provide convenient access to topology related data VMD. But it also has a number of high-level tools that allow reading and writing of topology file formats that cannot be parsed by molfile plugins, and replicating or combining multiple systems. TopoTools is bundled with VMD version 1.8.7 and later; updated versions may be found here.
  • The signalproc plugin is a collection of scripted and compiled Tcl plugins that can be of use for signal processing and related types of applications within VMD.
  • The gofrgui plugin provides a graphical user interface to measure gofr
  • The irspecgui plugin is a GUI frontend to generating spectral densities.
  • The clonerep plugin copies full sets of representations from one molecule to others.
  • The dipwatch plugin allows to monitor the dipole moment of selections of atoms.
  • The multimolanim allows to animate trajectories for systems with topology changes.
  • CPMD trajectory file reader plugin
  • X-Crysden xsf/axsf format reader
  • HOOMD XML topology file reader.
Contact: Axel Kohlmeyer arrow Go back to research index.