view sandbox/common.py @ 376:2f8f56f22691
Implemented base processor for realignments (see #23)
Base processor ExternalCommand applies external command to block.
Base processor saves block as fasta, runs external command
and reads it from fasta
author |
boris <bnagaev@gmail.com> |
date |
Mon, 31 Jan 2011 23:39:26 +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