LMES is the Roberts lab’s experimental version of the Lattice Microbes software for simulating master equation models. We are investigating new ways to study large, more complex systems by applying enhanced sampling (ES) methods to both the CME and RDME. We are also studying the use of multi-scale approaches to enable more realistic cell modeling.

To probabilistically study chemico-physical processes, we use a master equation formalism, which describes the time evolution of the probability for the system to be in a given state. The chemical master equation (CME) models reactions using a well-stirred assumption. The reaction-diffusion master equation (RDME) extends the CME to account for spatial degrees of freedom by dividing the system volume into discrete subvolumes with molecules diffusing between the subvolumes and reacting only with other molecules in the local subvolume. The RDME sacrifices some accuracy when calculating bimolecular reactions compared to Smoluchowski-based reaction-diffusion methods, but is orders of magnitude faster.

LMES (Lattice Microbes ES) is a fork of the Lattice Microbes project. The original Lattice Microbes project, which is actively developed and maintained by the Luthey-Schulten group at the University of Illinois, is an optimized software package for efficiently sampling trajectories from the CME and RDME on high-performance computing (HPC) infrastructure using both exact and approximate methods. Particularly, the software takes advantage of any attached GPUs or other many-core processors to increase performance. The focus of Lattice Microbes is on the stochastic simulation of spatial models of cells.

The LMES fork is developed and maintained by the Roberts lab at JHU. LMES has a number of new features related to running simulations in gradient environments and to performing enhanced sampling simulations of rare events. To study multistable systems at longer time scales we have introduced substantial modifications to the original code to efficiently support various forms of enhanced sampling applied to the CME and RDME. We are also investigating ways to use the RDME in a multi-scale approach to enable more realistic whole-cell models.

LMES is designed with HPC in mind and is solely a terminal-based application. It does not have a GUI, all interaction with the program is done through the command line and/or configuration files. We provide Protocols and Tutorials for learning to use the software.


  • Klein, M. and Roberts, E.
    Automatic error control during forward flux sampling of rare events in master equation models. J. Chem. Phys. (2019).
  • Sharma, R. and Roberts, E.
    Gradient sensing by a bistable regulatory motif enhances signal amplification but decreases accuracy in individual cells. Phys. Biol., 13:036003 (2016).
  • Roberts, E., Stone, J. E., and Luthey-Schulten, Z.
    Lattice Microbes: High-performance stochastic simulation method for the reaction-diffusion master equation. J. Comput. Chem. 34, 245–255 (2013).


If you have questions about the software please contact eroberts@jhu.edu.


2019.07.01 - Initial release of FFPilot method for enhanced sampling of rare events in master equation models. Also includes code to allow restarting of trajectories and other misc bugfixes.
2019.05.17 - Release of LMES with support for tissue-level simulations of pattern formation, parameter sweeps, and many other enhancements.
2017.03.13 - Update of LMES with support for microenvironment simulations. Also includes greatly enhanced SBML importing and support for importing BioNetGen models.
2016.02.12 - Update of LMES with support for user defined propensity functions loaded at runtime from a shared library (see Protocols for an example). Added an AVX optimized Gillespie direct solver with ~1.8X performance improvement.
2016.01.20 - Initial release of LMES. Support for enhanced sampling is still forthcoming, however, this version contains many enhancements. Especially, it includes the ability to run RDME simulations with a gradient boundary condition, as used in our recent study “Gradient sensing by a bistable regulatory motif enhances signal amplification but decreases accuracy in individual cells”.

Getting Started

To quickly try LMES, download the virtual machine image below and then read the LMES Getting Started Guide.

Download and Installation Instructions

LMES is distributed in source code form from the LMES git repository on this site. We do not package released versions, you can simply pull the latest from the git repository or find a specifically tagged version in the repository. Also, we do not have the resources to distribute binary versions for all of the various platforms. We do make available an Ubuntu virtual machine image with LMES installed to make it easy to try out the software.

The following sections describe how to install LMES in various manners.

Build and install the latest LMES source code from the public Git repository
  1. Verify that all of the dependencies are met. If not, see the detailed instructions further below.

  2. Build and install the latest version from Git.

    git clone https://robertslabjhu.info/www/lmes-public.git
    cd lmes-public
    mkdir build
    cd build
    cmake ..
    make install
Download an Ubuntu 18.04 virtual machine image

The following virtual machine (VM) images running Ubuntu 18.04 with LMES preinstalled are available for use with VirtualBox:

Ubuntu-18.04-LMES-Biospark-2019.07.01.ova (google.com; 3.0GB)
Ubuntu-18.04-LMES-Biospark-2019.05.17.ova (google.com; 3.2GB)

To use the VM images, follow these basic steps. A more detailed description of installation of VirtualBox and using the LMES VM is given in the LMES Getting Started Guide, located on the Tutorials page.

  1. Download and install VirtualBox for your platform.

  2. Download the desired VM image from one of the links above and import it into VirtualBox using the File->Import Appliance option.

  3. Start the VM by selecting it and pressing the Start button.

  4. The username is lmes and the password is lmes.

  5. Open a terminal and verify that LMES runs correctly by typing: lmes --help

Install LMES from Git on Ubuntu 18.04

Install a standalone LMES configuration on a clean copy of Ubuntu 18.04

Install LMES from Git on Windows 10 using the Windows Subsystem for Linux (WSL)

Install a LMES on a Ubuntu 18.04 running in WSL

Learning More

To learn about how to use LMES, see the following Tutorials:

LMES Getting Started Guide.

And the following Protocols:

Using Custom Propensity Functions in Lattice Microbes ES