view sandbox/common.py @ 275:4a2341bc90b1
base.Sequence major cleanup
* moved base.Sequence.secstr_has to pdb (it appears that secondary structure it
uses is from PDB, which is not a nice thing to do; secondary structure is an
entity in itself and must have same names across different sources)
* removed stupid base.Sequence.monomers, since base.Sequence is subclass of list
* removed all methods that reimplement list behaviour
* fixed headers of base.Sequence.from_slice
author |
Daniil Alexeyevsky <me.dendik@gmail.com> |
date |
Wed, 15 Dec 2010 20:06:27 +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