view bin/vennyplot @ 5:3c1c131acb07 draft

Uploaded with bin subdir
author rgarcia
date Mon, 05 Jan 2015 13:55:00 -0500
parents
children
line wrap: on
line source

#!/usr/bin/env python

import argparse
from pyvenny import render_four_set_venn

parser = argparse.ArgumentParser(description='Generate a Venn diagram of four files taken as sets of lines.')
parser.add_argument('--output', type=argparse.FileType('w'), required=True, help="absolute path to output file" )
parser.add_argument('--sets',   type=argparse.FileType('r'), required=True,  nargs=4, help="absolute paths to four files" )
parser.add_argument('--labels',                              required=False, nargs=4, help="four set labels" )

args = parser.parse_args()
    
if args.labels:
    titles = {'A': args.labels[0],
              'C': args.labels[1],
              'B': args.labels[2],
              'D': args.labels[3]}
else:
    titles = {'A': 'A', 'C': 'C', 'B': 'B', 'D': 'D'}
        
args.output.write( render_four_set_venn( *[set(f.readlines()) for f in args.sets],
                                         titles=titles ) )