# Script to create the job files for imputation tests

cfg_prefix = "nopcr"
var_file = "./data/variables-master-nopcr.txt"
base_folder = "/broad/hptmp/colubri/evdtest/nopcr"

imp_alg = ["amelia", "mice", "hmisc"]
imp_def = "hmisc"
test_perc = [50, 65, 80]
imp_samples = [1, 5, 10]

fixed_lines = ["total_sets=100",
               "max_restarts=5",
               "predictors=lreg,nnet,scikit_lreg,scikit_dtree,scikit_svm,scikit_randf",
               "pred_options.lreg=",
               "pred_options.nnet=",
               "pred_options.scikit_lreg=",
               "pred_options.scikit_dtree=min_samples_leaf=10 max_depth=5 criterion=entropy",
               "pred_options.scikit_svm=error=10 kernel=rbf",
               "pred_options.scikit_randf=min_samples_leaf=10 max_depth=5 criterion=entropy"]

for alg in imp_alg:
    for perc in test_perc:
        for samp in imp_samples:
            fn = "job-" + cfg_prefix + "-" + alg + "-t" + str(perc) + "-df" + str(samp) + ".cfg"
            with open(fn, "w") as cfg:
                for line in fixed_lines: cfg.write(line + "\n")
                cfg.write("var_file=" + var_file + "\n")
                cfg.write("base_folder=" + base_folder + "/" + alg + "/t" + str(perc) + "/df" + str(samp) + "\n")
                cfg.write("test_prec=" + str(perc) + "\n")
                cfg.write("impute_method=" + alg + "\n")
                cfg.write("impute_options." + alg + "=num_imputed=" + str(samp) + "\n")
                cfg.write("impute_fallback=" + imp_def + "\n")
                cfg.write("impute_options." + imp_def + "=num_imputed=" + str(samp) + "\n")
