#!/usr/bin/env python

import svhc
import sys
import pandas as pd
import numpy as np

def read_valid(file_r):
	with open(file_r,'r') as fr:
		x = fr.read().split('\n')
	x = [tuple(map(int,a.split(','))) for a in x]
	return x

def read_dendro(file_r):
	with open(file_r,'r') as fr:
		x = fr.read().split('\n')[:-1]
	x = {tuple(map(int,a.split('\t')[0].split(','))): (tuple(map(int,a.split('\t')[1].split(','))),tuple(map(int,a.split('\t')[2].split(','))) ) 
	 for a in x}
	
	return x
	
		

if __name__=='__main__':
	
	inputfile,valid,all_file,file_w = sys.argv[1:]
	X = np.array(pd.read_csv(inputfile,sep='\t',header=None))
	
	L = read_valid(valid)
	LV = read_dendro(all_file)
	
	svhc.DendroAndCorrDist(X,L,LV,file_w=file_w)
	
