示例#1
0
            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)
        mat_str_row.append(s)