Cut Based Free Energy Profile msmbuilder.cfep

Code for computing cut-based free energy profiles, and optimal reaction coordinates within that framework. This code was contributed generously by Sergei Krivov, with optimizations and modifications by TJ Lane.

This code employs scipy.weave, so g++ and OpenMP are required. Most machines should have this functionality by default.

Optimization

class msmbuilder.cfep.CutCoordinate(counts, generators, reactant, product)[source]

Object containing methods for computing the cut-based free energy profiles of reaction coordinates.

CutCoordinate.evaluate_partition_functions() Computes the partition function of the cut-based free energy profile based on transition network and reaction coordinate.
CutCoordinate.plot([num_bins, filename]) Plot the current cut-based free energy profile.
CutCoordinate.reaction_mfpt([lag_time]) Calculate the MFPT between the reactant and product states, as given by
CutCoordinate.rescale_to_natural_coordinate() Rescale a cut-based free energy profile along a reaction coordinate such that the diffusion constant is unity for the entire coordinate.
CutCoordinate.set_coordinate_as_committors([...]) Set the reaction coordinate to be the committors (pfolds).
CutCoordinate.set_coordinate_as_eigvector2([...]) Set the reaction coordinate to be the second eigenvector of the MSM generated
CutCoordinate.set_coordinate_values(...) Set the reaction coordinate manually, by providing coordinate values that come from some external calculation.
class msmbuilder.cfep.VariableCoordinate(rxn_coordinate_function, initial_alphas, counts, generators, reactant, product)[source]

Class that contains methods for calculating cut-based free energy profiles based on a reaction coordinate mapping that takes variable parameters.

Specifically, a reaction coodinate is formally a map from phase space to the reals. Consider such a map that is dependent on some auxillary parameters alphas. Then we might hope to optimize that reaction coordinate by wisely choosing those weights.

VariableCoordinate.optimize([maxiter]) Compute an optimized reaction coordinate, where optimized means the coordinate the maximizes the barrier between two metastable basins.

Example Coordinate

contact_reaction_coordinate(trajectory, weights) Computes a residue-contact based reaction coordinate.