GROMACS | |
Developer: | University of Groningen Royal Institute of Technology Uppsala University[1] |
Latest Release Version: | 2024.2 |
Latest Release Date: | [2] |
Programming Language: | C++, C, CUDA, OpenCL, SYCL |
Operating System: | Linux, macOS, Windows, any other Unix variety |
Platform: | Many |
Language: | English |
Genre: | Molecular dynamics simulation |
License: | LGPL versions >= 4.6[3], GPL versions < 4.6[4] |
GROMACS is a molecular dynamics package mainly designed for simulations of proteins, lipids, and nucleic acids. It was originally developed in the Biophysical Chemistry department of University of Groningen, and is now maintained by contributors in universities and research centers worldwide.[5] [6] [7] GROMACS is one of the fastest and most popular software packages available,[8] [9] and can run on central processing units (CPUs) and graphics processing units (GPUs).[10] It is free, open-source software released under the GNU Lesser General Public License (LGPL)[3] (GPL prior to Version 4.6).
The GROMACS project originally began in 1991 at Department of Biophysical Chemistry, University of Groningen, Netherlands (1991–2000). Its name originally derived from this time (GROningen MAchine for Chemical Simulations) although currently GROMACS is not an abbreviation for anything, as little active development has taken place in Groningen in recent decades. The original goal was to construct a dedicated parallel computer system for molecular simulations, based on a ring architecture (since superseded by modern hardware designs). The molecular dynamics specific routines were rewritten in the programming language C from the Fortran 77-based program GROMOS, which had been developed in the same group.
Since 2001, GROMACS is developed by the GROMACS development teams at the Royal Institute of Technology and Uppsala University, Sweden.
GROMACS is operated via the command-line interface, and can use files for input and output. It provides calculation progress and estimated time of arrival (ETA) feedback, a trajectory viewer, and an extensive library for trajectory analysis.[3] In addition, support for different force fields makes GROMACS very flexible. It can be executed in parallel, using Message Passing Interface (MPI) or threads. It contains a script to convert molecular coordinates from Protein Data Bank (PDB) files into the formats it uses internally. Once a configuration file for the simulation of several molecules (possibly including solvent) has been created, the simulation run (which can be time-consuming) produces a trajectory file, describing the movements of the atoms over time. That file can then be analyzed or visualized with several supplied tools.[11]
GROMACS has had GPU offload support since Version 4.5, originally limited to Nvidia GPUs. GPU support has been expanded and improved over the years,[12] and, in Version 2023, GROMACS has CUDA, OpenCL, and SYCL backends for running on GPUs of AMD, Apple, Intel, and Nvidia, often with great acceleration compared to CPU. [13]
, GROMACS' source code contains approximately 400 alternative backronyms to GROMACS as jokes among the developers and biochemistry researchers. These include "Gromacs Runs On Most of All Computer Systems", "Gromacs Runs One Microsecond At Cannonball Speeds", "Good ROcking Metal Altar for Chronical Sinner", "Working on GRowing Old MAkes el Chrono Sweat", and "Great Red Owns Many ACres of Sand". They are randomly selected to possibly appear in GROMACS's output stream. In one instance, such an bacronym, "Giving Russians Opium May Alter Current Situation", caused offense.[14]
Under a non-GPL license, GROMACS is widely used in the Folding@home distributed computing project for simulations of protein folding, where it is the base code for the project's largest and most regularly used series of calculation cores.[15] [16] EvoGrid, a distributed computing project to evolve artificial life, also employs GROMACS.[17]