Transition Path Theory¶
Transition path theory is a mathematical framework to analyze MSMs to find transition pathways.
Computing Mean First Passage Times (MFPTs)¶
Enspara implements fast, raw-matrix transition path theory (i.e. there is no dependence on any enspara-specific objects) for use in extracting various parameters derived in TPT. Among these parameters are Mean First Passage Times, which represent the mean time required to reach a particular state from some other specific state.
First, you’ll need a transition probability matrix and (optionally) equilibrium probabilities. For this recipe, we’ll use the enspara MSM class, but any transition probability matrix and equilibrium probability distribution (as a numpy array) works.
import msmbuilder.tpt from enspara import tpt from enspara.msm import MSM, builders msm = MSM(lag_time=10, method=builders.transpose) msm.fit(a) # mfpts is an array where mfpts[i, j] gives you the mfpt from i to j mfpts = tpt.mfpts(tprob=msm.tprobs_, populations=msm.eq_probs_)
Extracting maximum flux pathways¶
You can also extract a maximum flux pathway. First need a transition probability matrix and (optionally) equilibrium probabilities.
# assuming we've fit an MSM, as above in the MFPT example source_state = 1 sink_state = 100 # compute the net flux matrix from our msm nfm = tpt.net_fluxes( msm.tprobs_, source_state, sink_state, populations=msm.eq_probs_) path, flux = msmbuilder.tpt.top_path(maximizer_ind, minimizer_ind, nfm.todense())