Interface-Constrained Shooting in OpenPathSampling

This module adds interface-constrained shooting to OpenPathSampling. Interface-constrained shooting is a technique that can improve the efficiency of transition interface sampling.

Purpose of Module

In transition interface sampling (TIS), one defines stable states (volumes in phase space) and interfaces (surfaces in phase space). For a trajectory to be accepted in TIS, it must begin with exactly one frame in a given initial state, cross the interface, and end with exactly one frame in any state volume (including the initial state).

New trajectories are generated with the shooting move, which selects a point along an initial trajectory from which new frames can be made. In one-way shooting, the dynamics only needs to run in one direction (with the stochastic nature of the dynamics ensuring that a new trajectory is generated).

However, if the interfaces are far from the initial state and if all frames are equally likely to be used for shooting, it can be very likely for the shooting point to come before the trajectory has crossed the interface. This can then lead to shooting moves that usually generate trajectories that don’t cross the interface, and therefore must be rejected. This uses a lot of simulation effort without generating useful new trajectories.

Interface-constrained shooting (also called “constrained interface shooting”) [1] is an approach to solve this problem. Instead of selecting from anywhere along the trajectory, only the first point after crossing the interface is allowed as a shooting point. This ensures that every trajectory that is generated will be valid (will cross the interface). In addition, because the first crossing is still the first crossing in the new trajectory, this leads to the Metropolis acceptance probability also being 1. Therefore, every trial trajectory is accepted.

In practice, this must be combined with the path reversal move in order to sample all of trajectory space. The result is an approach with very high acceptance, although decorrelation of the trajectory is a little slower.

This module implements interface-constrained shooting using:

  • ForwardShootingStrategy: An OPS MoveStrategy to do forward-only shooting. The interface-constrained shooting approach uses forward-only stochastic dynamics, counting on path reversal to handle the backward-time dynamics.
  • InterfaceConstrainedSelector: A ShootingPointSelector that selects the first point outside the given volume (the boundary of which defines the interface).
[1]Bolhuis, P. G. (2008). Rare events via multiple reaction channels sampled by path replica exchange. The Journal of Chemical Physics, 129(11), 114108.

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:


Tests in OpenPathSampling use pytest.

This module has been included in the OpenPathSampling core. Its tests can be run by installing pytest and OPS (with commit c340818, which will be part of release 0.9.6 and later), and running the command py.test --pyargs  openpathsampling.