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