Mercurial > repos > cschu > kraken_tools
comparison kraken_count.py @ 14:fd27c97c8366 draft default tip
Uploaded
author | cschu |
---|---|
date | Mon, 18 May 2015 15:55:47 -0400 |
parents | 0916697409ea |
children |
comparison
equal
deleted
inserted
replaced
13:dc02dbf5e1a9 | 14:fd27c97c8366 |
---|---|
1 #!/usr/bin/env python | |
2 | |
3 import os | |
4 import sys | |
5 import csv | |
6 | |
7 from collections import Counter | |
8 | |
9 from kraken_visualize import readTaxonomyNames, readTaxonomyNodes, getDescendents | |
10 | |
11 | |
12 taxons = readTaxonomyNames(os.path.join(sys.argv[2], 'names.dmp')) | |
13 | |
14 taxID = int(sys.argv[3]) | |
15 validTaxons = getDescendents(taxID, readTaxonomyNodes(os.path.join(sys.argv[2], 'nodes.dmp'))[1]) | |
16 | |
17 c = Counter([int(row[2]) | |
18 for row in csv.reader(open(sys.argv[1]), delimiter='\t', quotechar='"')]) | |
19 | |
20 N = float(sum(c.values())) | |
21 ct = 0 | |
22 for k in sorted(c, key=lambda x:c[x], reverse=True): | |
23 if k in validTaxons: | |
24 print k, taxons.get(k), c[k], '%.10f' % (c[k]/N) | |
25 ct += c[k] | |
26 # print k, taxons.get(k, 'N/A'), c[k], 'VALID' if k in validTaxons else '' | |
27 print ct, ct/N |