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]]])
示例#2
0
invoc = '%s %s %s >%s 2>%s' % (os.path.join(d, 'src', 'PhyPatClassProb'), opts, fn, stdo, stde)
sys.stderr.write('Creating/Overwriting %s and %s by running:\n   %s\n' % (stdo, stde, invoc))
rc = os.system(invoc)
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
示例#3
0
        elif arg == '-e':
            if read_edge_len:
                sys.exit("Expected only one -e per invocation")
            curr_list = []
            reading_edge_len = True

if reading_freq:
    sys.exit("Expected 3 base frequencies")
elif reading_rmat:
    sys.exit("Expected 5 relative rate parameters")
elif reading_edge_len:
    sys.exit("Expected an edge length parameter")

# Arguments have been parsed. Do the calculation...

model = RevDiscStateContTimeModel(state_freq=freq, r_upper=r_mat)
mat = model.calc_prob_matrices(edge_length)[0] # returns a list of matrices, but we are not 
                                            #   using rate het, so we just want
                                            #   the first.


# format the output

max_len = 0
mat_str = [list(' ACGT')]
for from_base, mat_row in izip('ACGT', mat):
    mat_str_row = [from_base]
    for cell in mat_row:
        s = str(cell)
        if len(s) > max_len:
            max_len = len(s)