OPS-based module: Shooting range shooter

This module implements the “shooting from the top” algorithm as detailed in the paper “Transition path sampling of rare events by shooting from the top”.

Purpose of Module

The purpose of this algorithm is to increase the number of generated transitions in a transition path sampling simulation by exclusively shooting from the transition state ensemble (TSE)/the top of the barrier (hence the name). Naturally this only works if the approximate location of the TSE is already known and can be given as a function of the atomic coordinates. In this module any openpathsampling.Volume object can be used by the user to define the shooting range volume. This enables the user to define the shooting range for example as a function of one or more collective variables. See also the Transition State Ensemble in OpenPathSampling for finding the TSE.

The implementation in this module includes:

  • A ShootingRangeSelector subclass of openpathsampling.ShootingPointSelector to pick shooting points only in the predefined shooting range volume.

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 and sr_shooter use the nose package.

To test this module you need to first install OpenPathSampling, then download the source files for this package (see the Source Code section below) and install it using python setup.py install or pip install -e . from the root directory of the package. In the root folder then type nosetests to test the module using the nose package.


There are two example jupyter notebooks in the example directory of the repository:
The other is a comparison between one way shooting and two way shooting from the shooting range and shows that path space is explored faster with two way shooting when using a (well placed) shooting range. The reason being that the shots initiated at the barrier top have a high probability of success and two way shooting decorrelates faster (if using randomized velocities even faster).

Source Code

The source code for this module can be found in https://gitlab.e-cam2020.eu/hejung/sr_shooter.