view sandbox/common.py @ 396:3a802644d798
add __eq__ and __ne__ operators to Sequence and Column
built-in __eq__ and __ne__ causes different columns to be equal and
results in Graph.bron_kerbosh errors
author |
boris <bnagaev@gmail.com> |
date |
Thu, 03 Feb 2011 13:51:39 +0300 |
parents |
|
children |
|
line source
1 def autoload(filename):
3 maxlen, seqs = measure(seqs)
4 stats, seqs = stat(maxlen, seqs)
5 seqs = color(maxlen, stats, seqs)
10 for block in open(filename).read().split('\n>'):
11 lines = block.split('\n')
12 name = lines[0].lstrip('>').strip()
13 body = "".join(lines[1:])
14 seqs.append((name, body))
18 maxlen = max([len(body) for name, body in seqs])
19 for i, (name, body) in enumerate(seqs):
20 body += "-" * (maxlen - len(body))
24 def stat(maxlen, seqs):
26 for x in xrange(maxlen):
28 for name, body in seqs:
30 stat[char] = stat.get(char, 0) + 1
34 def color(maxlen, stats, seqs):
36 for i, (name, body) in enumerate(seqs):
39 for x in xrange(maxlen):
40 id = stats[x][body[x]] * 10 // full
42 color = '#%02x%02x%02x' % (norm, norm, norm)
45 seqs[i] = name, body, ids, colors