def pathways(self, fraction=1.0, maxiter=1000): r"""Decompose flux network into dominant reaction paths. Parameters ---------- fraction : float, optional Fraction of total flux to assemble in pathway decomposition maxiter : int, optional Maximum number of pathways for decomposition Returns ------- paths : list List of dominant reaction pathways capacities: list List of capacities corresponding to each reactions pathway in paths References ---------- .. [1] P. Metzner, C. Schuette and E. Vanden-Eijnden. Transition Path Theory for Markov Jump Processes. Multiscale Model Simul 7: 1192-1219 (2009) """ return tptapi.pathways(self.net_flux, self.A, self.B, fraction=fraction, maxiter=maxiter)
def test_pathways_sparse_incomplete(self): paths, capacities = pathways(self.F_sparse, self.A, self.B, fraction=0.5) self.assertTrue(len(paths) == len(self.paths[0:2])) self.assertTrue(len(capacities) == len(self.capacities[0:2])) for i in range(len(paths)): assert_allclose(paths[i], self.paths[i]) assert_allclose(capacities[i], self.capacities[i]) with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") paths, capacities = pathways(self.F, self.A, self.B, fraction=1.0, maxiter=1) for i in range(len(paths)): assert_allclose(paths[i], self.paths[i]) assert_allclose(capacities[i], self.capacities[i]) assert issubclass(w[-1].category, RuntimeWarning)
def test_pathways_dense(self): paths, capacities = pathways(self.F, self.A, self.B) self.assertTrue(len(paths) == len(self.paths)) self.assertTrue(len(capacities) == len(self.capacities)) for i in range(len(paths)): assert_allclose(paths[i], self.paths[i]) assert_allclose(capacities[i], self.capacities[i])
def pathways(self, fraction=1.0, maxiter=1000): """Decompose flux network into dominant reaction paths. Parameters ---------- fraction : float, optional Fraction of total flux to assemble in pathway decomposition maxiter : int, optional Maximum number of pathways for decomposition Returns ------- paths : list List of dominant reaction pathways capacities: list List of capacities corresponding to each reactions pathway in paths """ return pathways(self._flux, self.A, self.B, fraction=fraction, maxiter=maxiter)