#!/usr/bin/env python

import sys,re
import pickle
import pandas as pd
from igblast_parser.module1 import igblast_parse


from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE,SIG_DFL) 


if len({'-help','--help'}.intersection(set(sys.argv)))>0:
    sys.exit('''\n igblast_output | python <this script> --out <out_filename_prefix>\n
                    python <this script --in <igblast_output> --out <out_filename_prefix>''')

# initialize prefix filename or get from user 
out_prefix = 'igblast_output'
tabular = False
fin = sys.stdin
for n,i in enumerate(sys.argv):
    if i in ['--out', '-out']:
        out_prefix = sys.argv[n+1]
    if i in ['--in', '-in']:
        fin = open(sys.argv[n+1])
    if i in ['--tabular', '-tab']:
        tabular = True

d = igblast_parse(fin)

if tabular:
    pd.DataFrame(d).T.to_csv(path_or_buf=out_prefix + '.tsv', index_label="umi", sep="\t")
else:
    pd.DataFrame(d).T.to_csv(path_or_buf=out_prefix + '.csv', index_label="umi")
