#!/usr/bin/env python3

import sys

if (len(sys.argv) < 5):
    print("# " + " ".join(sys.argv))
else:
    print("# " + " ".join(sys.argv[0:5])+' ...')


field_names = ('qseqid','sseqid','percid','alen','mism','gaps','qstart','qend','sstart','send','evalue','bits')

int_fields = ('alen','mism','gaps','qstart','qend','sstart','send')
flt_fields = ('percid','evalue','bits')


def read_result_file (result_file):

    results = []

    with open(result_file,'r') as rfd:
        for line in rfd:
            if line.startswith('#'):
                continue
            
            data = dict(zip(field_names,line.strip('\n').split('\t')))

            for f in int_fields:
                data[f] = int(data[f])

            for f in flt_fields:
                data[f] = float(data[f])

            results.append(data)

    return results

mat_info = {}
mat_names = []

for rfile in sys.argv[1:]:

    ## extract matrix name from 'ss_rand5-200_v_qfo_BL50.txt'

    prefix = rfile.split('.')[0]
    matrix = prefix.split('_')[-1]

    ## read dat

    mat_data = read_result_file(rfile)

    if (len(mat_data)>0):
        mat_info[matrix] = {'alen':mat_data[0]['alen'], 'percid':mat_data[0]['percid']}
        mat_names.append(matrix)
    else:
        sys.stderr.write("no data from %s\n",rfile)


s_mat_list = ['VT10','VT20','VT40','VT80','VT160','BP62','BL50']


for m in s_mat_list:
    if (m in mat_info):
        print('\t'.join([m,str(mat_info[m]['percid']),str(mat_info[m]['alen'])]))