view utils/freqs.py @ 1022:7fcb6f20898b
pair-cores: fix program fault if no high blocks were found
Provide initial value for reduce() function.
close #145
author |
Boris Nagaev <bnagaev@gmail.com> |
date |
Wed, 14 Mar 2012 17:54:01 +0400 |
parents |
8c7e5c16b2f4 |
children |
|
line source
2 """Read alignment on stdin. Print CSV table of letter frequences on stdout.
4 from allpy import protein
5 from allpy.data import codes
8 sys.stderr.write(__doc__)
11 amount = freqs.get(monomer)
13 return 100.0 * amount / width
16 aln = protein.Alignment().append_file(sys.stdin)
17 monomers = [code1 for code1, modified, _, _ in codes.protein if not modified]
19 width = len(aln.sequences)
20 print ", ".join(map(str, monomers))
21 for column in aln.columns_as_lists():
23 for monomer in column:
25 monomer = monomer.code1
28 freqs[monomer] = freqs.get(monomer, 0) + 1
29 print ", ".join(map(str, map(freq, monomers)))