I see that some free MD simulation software are available online.

  1. VMD
  2. NAMD
  4. OpenMM
  6. Amber

Which one above is the most appropriate for protein simulation?

  • 3
    $\begingroup$ VMD is for visualization, it isn't itself a dynamics engine. $\endgroup$
    – Hayden S
    Commented Oct 5, 2023 at 3:34

3 Answers 3


There is no one size fits all answer here. The best answer depends on exactly what kind of protein simulation you'd like to perform. In particular, a few points to consider:

  • What force field you want to use. Some force fields are only available to use in specific programs (e.g. ML force fields are not compatible with GROMACS), although the most common ones (CHARMM, AMBER, OPLS) are generally portable between popular MD engines.
  • What plugins and special methods would you like to use? Do you have a particular integrator/thermostat/barostat in mind? Typically, protein simulations greatly benefit from enhanced sampling methods as this allows you to gather statistics on rare events (protein folding, protein-ligand binding, etc). This one is really a big determinant, as many enhanced sampling methods are specific to particular MD engines, so figure this out before you commit to learning a code.
  • Will you benefit from GPU acceleration? If you have access to GPUs, consider using a GPU accelerated code.
  • How fast is the code? Make sure you're happy with the speed of whatever code you choose.

My personal recommendation is GROMACS because that's the code I use and I know it's fast, open source, highly parallelized, GPU accelerated, has good tutorials, and is very reliable. It's a total workhorse. However, GROMACS cannot run with all kinds of enhanced sampling methods or force fields.

I don't have particular experience with other codes, but I believe that openMM is good for experimentation and prototyping because it is made from python modules that you can easily access and modify on-the-fly. However, openMM is not known for speed or scalability.

I believe NAMD is quite a fast and highly parallelized code that is also GPU accelerated, and I've seen some impressive simulation sizes reported using it. It really shines for super large systems (>2 M atoms). I believe it also has a lot of flexibility in methods available to it, including ML force fields, and interfaces with VMD really nicely (it's made by the same group). However, it's not quite as fast as GROMACS as far as I know.

LAMMPS is also quite fast and modular. As a result, it has access to a lot of force fields and advanced methods.



Many of the packages you mention are fine pieces of software with a long history, that have been used for many important contributions in the field. However, I think OpenMM is the preferred choice in most cases today. Why?

  • Experimentation: trying new things is much easier in OpenMM. You can write a custom potential energy function, and within seconds it "just runs" as a highly optimized GPU kernel. There is a nice blog post by the MacCallum lab that describes this here: http://www.maccallumlab.org/news/2015/1/23/testing
  • Speed: OpenMM has excellent GPU support, and is one of the fastest packages out there when running on GPU; it has also gotten much faster in recent versions, eg with very large systems (millions of atoms) or with multiple GPUs.
  • Support/compatibility: OpenMM is used in some very high profile projects including Folding@home, and has a large and helpful user community, and many other projects that integrate with it (eg OpenFF). OpenMM also reads the native formats of the other big software packages including Amber, CHARMM and Gromacs, so you can use any of those to prepare systems and simply use OpenMM to run the simulation.

Nowadays I would use other packages for specific tools they have (eg antechamber) or if there is a particular result I want to reproduce where I have input files from another package; but I tend to try any new things in OpenMM.


Historically, there were the typical programs (CHARMM, GROMOS, AMBER, NAMD) which had their own force fields, with different choices for the parameters in the force fields. Depending on the group where you were working, you would work with one or the other. Nowadays, different programs can use each other's force field much more easily. Gromacs is the prime example, which is probably used more with Amber force fields than with GROMOS ones.

The answer to your question then boils down to two separate ones:

  1. which program to use
  2. which force field to use

Answer1) Programs depend much on the hardware you have available (CPU vs GPU), with some programs focused on CPUs, others on GPUs, or on both. I have seen performance of some programs of 1 ns/day on CPUs, vs 30-50ns/day on GPUs (data from years back, probably in 2023 this has improved considerably).

Answer2) For proteins, probably one of the more recent (ff14sb, ff19sb) Amber force fields (with accompanying GAFF force fields for substrates) is used the most for proteins/enzymes. For DNA/RNA there are other specific Amber force fields developed in Barcelona.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .