OPS New TIS Analysis

This module provides a new framework for analyzing transition interface sampling simulations using OpenPathSampling. The previous analysis tools gave no flexibility to the user, were not easily extendable, and had no unit tests. This module fixes all of that.

Purpose of Module

Transition interface sampling (TIS) is a powerful rare events method with a particular focus on calculating the rates of reactions. The core idea starts by splitting the rate k_{AB} into a product:

k_{AB} = \phi_{A_0} P_A(B|\lambda_0)

where k_{AB} is the rate from state A to state B, \phi_{A_0} is the flux out of state A and through an interface \lambda_0, and P_A(B|\lambda_0) is the transition probability of that a trajectory enters B before any other state given that has exited the interface \lambda_0, starting in state A.

TIS further splits the transition probability into several conditional probabilities, by adding a set of m interfaces (surfaces in phase space) \{\lambda_i\}, with \lambda_0 as the innermost. Mathematically, this gives us:

P_A(B|\lambda_0) = P_A(B|\lambda_m) \prod_{i=0}^{m-1}
                   P_A(\lambda_{i+1}|\lambda_i)

By sampling trajectories that necessarily cross each given interface \lambda_i, TIS provides the information that can be used to determine P_A(\lambda_{i+1}|\lambda_i). However, there are several approaches have been developed/proposed to efficiently turn the sampling data into a best estimate of the transition probability.

The previous analysis in OPS took one of those method, and provided very little room to customize the procedure. This module makes it so that it is easier to customize the analysis or to use different approaches to calculate the various terms that make up the TIS rate expression.

A much more detailed description of the TIS analysis as implemented here is given in the core OPS documentation, which was also contributed as part of this module. That section of the documentation is online at http://openpathsampling.org/latest/topics/tis_analysis.html

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.

Source Code

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