Exemple #1
0
def load_file(file_name):
    '''Load tree, leaf DNA strings from file.'''
    f = open(file_name, 'rb')
    t = rt.read_newick_str(f.readline().strip())
    aug_tree(t)
    d_leaf = ['' for _ in xrange(t.num_nodes)]
    for record in FastaIterator(f): d_leaf[t.node_index[record.id]] = record.seq
    return t, d_leaf
Exemple #2
0
def rsub(file_name):
    '''Main driver to solve this problem.'''
    f = open(file_name, 'rb')
    t = rt.read_newick_str(f.readline().strip())
    s = dict((record.name, record.seq) for record in FastaIterator(f))
    # print s
    for i in xrange(len(next(s.itervalues()))):
#        print '-' * 70
#        print 'i', i
#        print '-' * 70
        si = dict((k, v[i]) for k, v in s.iteritems())
        for node, letter in reversing_subs(t, si):
            print '%s %s %d %s->%s->%s' % (node[0], node[1], i + 1, letter[1], letter[0], letter[1])
Exemple #3
0
def sptd(f):
    '''Main driver to solve this problem.'''
    lines = ro.read_lines(f)
    return rt.dist_split(rt.read_newick_str(lines[1]), rt.read_newick_str(lines[2]), lines[0].split())