annotate vennyplot @ 4:706b644c8e89 draft

Uploaded executable script
author rgarcia
date Mon, 05 Jan 2015 13:25:22 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
1 #!/usr/bin/env python
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
2
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
3 import argparse
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
4 from pyvenny import render_four_set_venn
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
5
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
6 parser = argparse.ArgumentParser(description='Generate a Venn diagram of four files taken as sets of lines.')
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
7 parser.add_argument('--output', type=argparse.FileType('w'), required=True, help="absolute path to output file" )
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
8 parser.add_argument('--sets', type=argparse.FileType('r'), required=True, nargs=4, help="absolute paths to four files" )
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
9 parser.add_argument('--labels', required=False, nargs=4, help="four set labels" )
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
10
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
11 args = parser.parse_args()
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
12
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
13 if args.labels:
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
14 titles = {'A': args.labels[0],
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
15 'C': args.labels[1],
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
16 'B': args.labels[2],
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
17 'D': args.labels[3]}
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
18 else:
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
19 titles = {'A': 'A', 'C': 'C', 'B': 'B', 'D': 'D'}
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
20
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
21 args.output.write( render_four_set_venn( *[set(f.readlines()) for f in args.sets],
706b644c8e89 Uploaded executable script
rgarcia
parents:
diff changeset
22 titles=titles ) )