annotate table-summarize.py @ 14:1af2524f48b7 tip

planemo upload
author jpayne
date Tue, 30 Oct 2018 16:18:02 -0400
parents 746091a78780
children
rev   line source
jpayne@13 1 #! /usr/bin/env python
jpayne@13 2
jpayne@13 3 from __future__ import print_function
jpayne@13 4
jpayne@13 5 import csv
jpayne@13 6 import sys
jpayne@13 7 from collections import Counter, OrderedDict
jpayne@13 8
jpayne@13 9 def main(table):
jpayne@13 10 with open(table, 'rU') as table_f:
jpayne@13 11 rdr = csv.DictReader(table_f, delimiter='\t', dialect='excel')
jpayne@13 12 summary = OrderedDict()
jpayne@13 13 data = list(rdr)
jpayne@13 14 for name in rdr.fieldnames[1:]:
jpayne@13 15 summary[name] = Counter([r[name] for r in data])
jpayne@13 16 total = len(data)
jpayne@13 17 print("Summary:")
jpayne@13 18 for name, results in summary.items():
jpayne@13 19 print('{}:'.format(name))
jpayne@13 20 for result, num in results.items():
jpayne@13 21 if result:
jpayne@13 22 print("\t - {}: {} of {}".format(result, num, total))
jpayne@13 23
jpayne@13 24
jpayne@13 25
jpayne@13 26 if __name__ == '__main__':
jpayne@13 27 main(sys.argv[1])