def run(MinLagtime, MaxLagtime, Interval, NumEigen, AssignmentsFn, symmetrize, nProc, output): arglib.die_if_path_exists(output) # Setup some model parameters try: Assignments = io.loadh(AssignmentsFn, "arr_0") except KeyError: Assignments = io.loadh(AssignmentsFn, "Data") NumStates = max(Assignments.flatten()) + 1 if NumStates <= NumEigen - 1: NumEigen = NumStates - 2 logger.warning( "Number of requested eigenvalues exceeds the rank of the transition matrix! Defaulting to the maximum possible number of eigenvalues." ) del Assignments logger.info("Getting %d eigenvalues (timescales) for each lagtime...", NumEigen) lagTimes = range(MinLagtime, MaxLagtime + 1, Interval) logger.info("Building MSMs at the following lag times: %s", lagTimes) # Get the implied timescales (eigenvalues) impTimes = msm_analysis.get_implied_timescales( AssignmentsFn, lagTimes, n_implied_times=NumEigen, sliding_window=True, symmetrize=symmetrize, n_procs=nProc ) numpy.savetxt(output, impTimes) return
def run(MinLagtime, MaxLagtime, Interval, NumEigen, AssignmentsFn, symmetrize, nProc, output): arglib.die_if_path_exists(output) # Setup some model parameters try: Assignments = io.loadh(AssignmentsFn, 'arr_0') except KeyError: Assignments = io.loadh(AssignmentsFn, 'Data') NumStates = max(Assignments.flatten()) + 1 if NumStates <= NumEigen - 1: NumEigen = NumStates - 2 logger.warning( "Number of requested eigenvalues exceeds the rank of the transition matrix! Defaulting to the maximum possible number of eigenvalues." ) del Assignments logger.info("Getting %d eigenvalues (timescales) for each lagtime...", NumEigen) lagTimes = range(MinLagtime, MaxLagtime + 1, Interval) logger.info("Building MSMs at the following lag times: %s", lagTimes) # Get the implied timescales (eigenvalues) impTimes = msm_analysis.get_implied_timescales(AssignmentsFn, lagTimes, n_implied_times=NumEigen, sliding_window=True, symmetrize=symmetrize, n_procs=nProc) numpy.savetxt(output, impTimes) return
def run(MinLagtime, MaxLagtime, Interval, NumEigen, AssignmentsFn, trimming, symmetrize, nProc): logger.info( "Getting %d eigenvalues (timescales) for each lagtime...", NumEigen) lagTimes = range(MinLagtime, MaxLagtime + 1, Interval) logger.info("Building MSMs at the following lag times: %s", lagTimes) # Get the implied timescales (eigenvalues) impTimes = msm_analysis.get_implied_timescales( AssignmentsFn, lagTimes, n_implied_times=NumEigen, sliding_window=True, trimming=trimming, symmetrize=symmetrize, n_procs=nProc) return impTimes
def run(MinLagtime, MaxLagtime, Interval, NumEigen, AssignmentsFn, trimming, symmetrize, nProc): logger.info("Getting %d eigenvalues (timescales) for each lagtime...", NumEigen) lagTimes = range(MinLagtime, MaxLagtime + 1, Interval) logger.info("Building MSMs at the following lag times: %s", lagTimes) assert np.all(np.array(lagTimes) > 0 ), "Please specify a range of positive lag times." # Get the implied timescales (eigenvalues) impTimes = msm_analysis.get_implied_timescales(AssignmentsFn, lagTimes, n_implied_times=NumEigen, sliding_window=True, trimming=trimming, symmetrize=symmetrize, n_procs=nProc) return impTimes