def __init__(self,additional_cols = []):
        self.all_var_names = load_hydro_var().keys()
        self.total = 81003
        self.conn = pm.Connection("anode4")
        self.db = self.conn["virus_cluster"]
        self.states = {}
        self.all = ["%s_dist_mat" %name for name in self.all_var_names]


        self.all += additional_cols
        self.all_var_names += additional_cols
        self.refresh()
def get_all_auc():
    hydros = load_hydro_var() #append `_dist_mat` to hydro names
    for mat_id in hydros:
        yard_path = os.path.join(hydro_yard_dir,"%s.txt" %mat_id)
        print mat_id
        print_auc(yard_path)
def gen_jqplot_data(hydros):
    for mat_id in hydros:
        #var_name = re.findall(r"(\w+)_dist_mat" , mat_id )[0]
        #sys.stderr.write("$%s ," %var_name );
        print_js_style_roc_test_result(mat_id);
    
    #write other js snippets

    sys.stderr.write("var hydro_names = [%s];\n" %(",".join(map(lambda s: "\"%s\"" %s, hydros))))
    sys.stderr.write("var data = [%s];\n" %(",".join(map(lambda a: "$%s" %a,hydros))))
    if len(hydros) <= 6:
        sys.stderr.write("var groups = [{data:data,\nnames:hydro_names}];\n")
    else:
        sys.stderr.write("""
var groups = []; 
//divide the data into 6 groups, each containing 6 cases.
for(var i = 0; i < 6 ;i++){
    groups.push({
    data:data.slice(i * 6 , i * 6 + 6), 
    names:hydro_names.slice(i * 6 , i * 6 + 6)
    }); 
}
""")
    
if __name__ == "__main__":
    hydros = load_hydro_var()
    #plot_roc_for_hydro_vars(hydros)
    gen_jqplot_data(hydros)

    get_all_auc()