mpharrigan / quant-accel

Quantitative analysis of msmaccelerator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MAccelerator: Quantitative Analysis of Adaptive Sampling for MSMs

MSMs model the dynamics of a system by discritizing conformational space into a finite number of states and counting the number of transitions between each state. These raw counts are used to estimate reversible transition probabilities. Theoretically, these raw counts can also be used to estimate uncertainty in the model and select optimal states from which we can spawn additional simulation. In practice, many design choices can affect the speed-up gained from adaptive sampling.

Tunable parameters for investigation

  • Adaptive frequency -- length of each trajectory before re-starting simulation
  • Degree of Parallelization -- Number of trajectories to run simultaneously
  • Adaptive lag-time -- The system has a natural lag-time for converged models. Would it help to use a different lag-time for generating the counts matrix from which we adapt?

Adaptive schemes

  • Uniform -- Select a new state at random.
  • Min-Counts -- Sort states by counts and choose states in order
  • Weighted-Counts -- Select new states with a probability as counts^(-n) where n parameterizes exploration vs. refinement

Toy systems

  • Simulating from a known transition matrix
    • 20 state alanine dipeptide
  • OpenMM simulation
    • Muller potential

Software Design

This package takes a very object-oriented approach in its design. Each combination of [toy system, adaptive scheme] is enclosed in a Configuration object. Each Configuration has a

  • Method that yields a number of AdaptiveParam objects which contain tunable parameters.
  • Simulator object
  • Modeller object
  • ConvergenceChecker object
  • Adapter object

Installing

Running

python setup.py install

will generate reference data and install all relevant code.

Requires Python 3.4+. Porting to older versions of python is unlikely due to extensive use of new language features.

Running

the script maccel.py can be used via command line to generate

  • A sample python configuration script
  • A sample job script to be used for qsub

The python script controlls any final details of a system before running. For example, it makes sense to define the "grid" of tunable parameters in this configuraiton script. The adaptive scheme will probably be specified here as well, although right now it is just taken to be the default.

About

Quantitative analysis of msmaccelerator


Languages

Language:Python 100.0%