Ejemplo n.º 1
0
def test_toy_model():
    """test DTRAM with toy model"""
    C_K_ij = np.array(
        [[[2358, 29, 0], [29, 0, 32], [0, 32, 197518]],
         [[16818, 16763, 0], [16763, 0, 16510], [0, 16510, 16635]]],
        dtype=np.intc)
    b_K_i = np.array([[0.0, 0.0, 0.0], [4.0, 0.0, 8.0]], dtype=np.float64)
    dtram = DTRAM(C_K_ij, b_K_i)
    assert_raises(NotConvergedWarning,
                  dtram.sc_iteration,
                  maxiter=1,
                  ftol=1.0E-80,
                  verbose=False)
    dtram.sc_iteration(maxiter=200000, ftol=1.0E-15, verbose=True)
    pi = np.array([1.82026887e-02, 3.30458960e-04, 9.81466852e-01],
                  dtype=np.float64)
    T = np.array([[9.90504397e-01, 9.49560284e-03, 0.0],
                  [5.23046803e-01, 0.0, 4.76953197e-01],
                  [0.0, 1.60589690e-04, 9.99839410e-01]],
                 dtype=np.float64)
    print(pi)
    print(dtram.pi_i)
    assert_true(np.max(np.abs(dtram.pi_i - pi)) < 1.0E-8)
    assert_true(
        np.max(np.abs(dtram.estimate_transition_matrix(0) - T)) < 1.0E-8)
Ejemplo n.º 2
0
def test_three_state_model():
    C_K_ij = np.array( [[[2358,29,0],[29,0,32],[0,32,197518]],[[16818,16763,0],[16763,0,16510],[0,16510,16635]]], dtype=np.intc )
    gamma_K_j = np.ones( shape=(2,3), dtype=np.float64 )
    gamma_K_j[1,0] = np.exp( -4.0 )
    gamma_K_j[1,2] = np.exp( -8.0 )
    dtram = DTRAM( C_K_ij, gamma_K_j )
    assert_raises( NotConvergedWarning, dtram.scf_iteration, maxiter=1, ftol=1.0E-80, verbose=False )
    dtram.scf_iteration( maxiter=200000, ftol=1.0E-15, verbose=False )
    pi = np.array( [1.82026887e-02,3.30458960e-04,9.81466852e-01], dtype=np.float64 )
    T = np.array( [[9.90504397e-01,9.49560284e-03,0.0],[5.23046803e-01,0.0,4.76953197e-01],[0.0,1.60589690e-04,9.99839410e-01]], dtype=np.float64 )
    assert_true( np.max( np.abs( dtram.pi_i - pi ) ) < 1.0E-8 )
    assert_true( np.max( np.abs( dtram.estimate_transition_matrix()[0,:,:] - T ) ) < 1.0E-8 )
Ejemplo n.º 3
0
def test_toy_model():
    """test DTRAM with toy model"""
    C_K_ij = np.array([
        [[2358, 29, 0], [29, 0, 32], [0, 32, 197518]],
        [[16818, 16763, 0], [16763, 0, 16510], [0, 16510, 16635]]], dtype=np.intc)
    b_K_i = np.array([[0.0, 0.0, 0.0], [4.0, 0.0, 8.0]], dtype=np.float64)
    dtram = DTRAM(C_K_ij, b_K_i)
    assert_raises(NotConvergedWarning, dtram.sc_iteration, maxiter=1, ftol=1.0E-80, verbose=False)
    dtram.sc_iteration(maxiter=200000, ftol=1.0E-15, verbose=True)
    pi = np.array([1.82026887e-02, 3.30458960e-04, 9.81466852e-01], dtype=np.float64)
    T = np.array([
        [9.90504397e-01, 9.49560284e-03, 0.0],
        [5.23046803e-01, 0.0, 4.76953197e-01],
        [0.0, 1.60589690e-04, 9.99839410e-01]], dtype=np.float64)
    print pi
    print dtram.pi_i
    assert_true(np.max(np.abs(dtram.pi_i - pi)) < 1.0E-8)
    assert_true(np.max(np.abs(dtram.estimate_transition_matrix(0) - T)) < 1.0E-8)
Ejemplo n.º 4
0
    ############################################################################
    #
    #   import the data
    #
    ############################################################################
    print "#\n################################## IMPORTING DATA ##################################\n#"
    reader = Reader(
            args.files,
            b_K_i_file=args.b_K_i_file,
            maxlength=args.maxlength,
            skiprows=args.skiprows,
            verbose=True
        )
    tramdata = TRAMData( reader.trajs, b_K_i=reader.b_K_i )
    try:
        dtram_obj = DTRAM( tramdata.get_C_K_ij( args.lag ), tramdata.b_K_i )
    except ExpressionError, e:
        print "#\n### ERROR\n#"
        print "# Your input was faulty!"
        print "# The < %s > object is malformed: %s" % ( e.expression, e.msg )
        print "#\n### ABORTING\n\n"
        exit( 1 )
    print "#\n### SYSTEM INFORMATION\n#"
    print "# %25s %24d" % ( "[markov states]", tramdata.n_markov_states )
    print "# %25s %24d" % ( "[thermodynamic states]", tramdata.n_therm_states )



    ############################################################################
    #
    #   run the self-consistent-iteration
Ejemplo n.º 5
0
    print "# %25s %24.5e" % ("[--ftol]", args.ftol)

    ############################################################################
    #
    #   import the data
    #
    ############################################################################
    print "#\n################################## IMPORTING DATA ##################################\n#"
    reader = Reader(args.files,
                    b_K_i_file=args.b_K_i_file,
                    maxlength=args.maxlength,
                    skiprows=args.skiprows,
                    verbose=True)
    tramdata = TRAMData(reader.trajs, b_K_i=reader.b_K_i)
    try:
        dtram_obj = DTRAM(tramdata.get_C_K_ij(args.lag), tramdata.b_K_i)
    except ExpressionError, e:
        print "#\n### ERROR\n#"
        print "# Your input was faulty!"
        print "# The < %s > object is malformed: %s" % (e.expression, e.msg)
        print "#\n### ABORTING\n\n"
        exit(1)
    print "#\n### SYSTEM INFORMATION\n#"
    print "# %25s %24d" % ("[markov states]", tramdata.n_markov_states)
    print "# %25s %24d" % ("[thermodynamic states]", tramdata.n_therm_states)

    ############################################################################
    #
    #   run the self-consistent-iteration
    #
    ############################################################################