5
|
1 #!/usr/bin/env python
|
|
2
|
|
3 import argparse
|
|
4 from pyvenny import render_four_set_venn
|
|
5
|
|
6 parser = argparse.ArgumentParser(description='Generate a Venn diagram of four files taken as sets of lines.')
|
|
7 parser.add_argument('--output', type=argparse.FileType('w'), required=True, help="absolute path to output file" )
|
|
8 parser.add_argument('--sets', type=argparse.FileType('r'), required=True, nargs=4, help="absolute paths to four files" )
|
|
9 parser.add_argument('--labels', required=False, nargs=4, help="four set labels" )
|
|
10
|
|
11 args = parser.parse_args()
|
|
12
|
|
13 if args.labels:
|
|
14 titles = {'A': args.labels[0],
|
|
15 'C': args.labels[1],
|
|
16 'B': args.labels[2],
|
|
17 'D': args.labels[3]}
|
|
18 else:
|
|
19 titles = {'A': 'A', 'C': 'C', 'B': 'B', 'D': 'D'}
|
|
20
|
|
21 args.output.write( render_four_set_venn( *[set(f.readlines()) for f in args.sets],
|
|
22 titles=titles ) )
|