Direct MD (on-the-fly) flux/rate in OpenPathSampling

Authors: David W.H. Swenson

This module contains code to implement the direct (on-the-fly) calculation of flux and rate in OpenPathSampling.

Purpose of Module

This calculates the flux out of a state and through an interface, or the rate of the transition between two states, while running a trajectory. This means that you don’t have to save all the frames of the trajectory. This is especially useful for small (toy) systems, where you can easily run very long trajectories to get very accurate results, and would rather re-run than save the full trajectory. A separate module calculates the rate and flux from an existing trajectory.

Calculating the flux out of a state and through an innermost interface is one of the steps required in transition interface sampling (TIS). This module enables that. Although there are other ways to calculate the flux (for example, replica exchange TIS can calculate the flux as a byproduct of the “minus move”), frequently a direct calculation gives the best statistics. In addition, an approximate flux should be calculated before running the simulation in order to ensure that the state and innermost interface definitions have been chosen well.

In principle, this module also makes it possible to calculate rates directly by running long molecular dynamics simulations. That won’t be useful for very rare events, but it can be useful for validation.

The primary object implemented in this module is the DirectSimulation subclass of PathSimulator, which performs on-the-fly analysis of flux and rate.

Background Information

This module builds on OpenPathSampling, a Python package for path sampling simulations. To learn more about OpenPathSampling, you might be interested in reading:

Testing

Tests in OpenPathSampling use the nose package.

This module has been included in the OpenPathSampling core. Its tests can be run by setting up a developer install of OpenPathSampling and running the command nosetests from the root directory of the repository.

Examples

Flux for MISTIS: [GitHub | Docs]

Source Code

This module has been merged into OpenPathSampling. It is composed of the following pull requests: