def test_gtr(self):
     kappa = 6.122449
     m = RevDiscStateContTimeModel(state_freq=(0.3, 0.25, 0.2, 0.25),
                                   r_upper=[[1.0, kappa,   1.0 ],
                                                 [  1.0, kappa ],
                                                        [  1.0 ]]
                                  )
     assert_list_of_mat_eq(self, m.prob_matrices(0.01), [[[0.991443333333, 0.001247, 0.00606333333333, 0.001247, ],
                                         [0.0014964, 0.989928, 0.0009976, 0.007576],
                                         [0.009095, 0.001247, 0.988415, 0.001247],
                                         [0.0014964, 0.007576, 0.0009976, 0.989928]]])
if rc != 0:
    sys.stderr.write('Error! return code = %d\n' % rc)
sys.exit(0)



################################################################################
# call beagle in phython
################################################################################
from pytbeaglehon.disc_state_cont_time_model import RevDiscStateContTimeModel

m = RevDiscStateContTimeModel(state_freq=state_freq,
                              r_upper=[[rAC, rAG, rAT ],
                                       [     rCG, rCT ],
                                       [          rGT ]])
p_mat = m.prob_matrices(edge_length)
################################################################################

################################################################################
# Format output
################################################################################
p_mat_str = [[str(i) for i in row] for row in p_mat[0]]
max_str_len = max([max([len(i) for i in row]) for row in p_mat_str])
p_mat_str = [[i.ljust(max_str_len) for i in row] for row in p_mat_str]
for row in p_mat_str:
    print '\t'.join(row)

################################################################################
# Produce optional output
################################################################################
if options.paup_file: