def multi_species_benchmarks_opt2(lamR): repeats = 50 lamP = 1 #lamSs = [0.3,0.5,0.7,1]#+list(np.logspace(-1.5, 1.5, 3)) #lamRs = [3,5,7]#np.logspace(0, 2, 5) iron_conds = range(ba.iron_conds) timeseries_conds = range(ba.timeseries_conds) subtilis_conds = range(ba.subtilis_conds) (BS_priors, sign) = ba.load_priors('gsSDnamesWithActivitySign082213','B_subtilis') orth = ba.load_orth('bs_ba_ortho_804',['B_anthracis','B_subtilis']) #TODO make the order impossible to get lamR = lamR[0] lamS = 0 acc_s = 0 acc_a = 0 aupr = 0 corr = 0 for rep in range(repeats): random.shuffle(iron_conds) random.shuffle(timeseries_conds) random.shuffle(subtilis_conds) sub_s_i = int(len(subtilis_conds)/8) sub_i_i = int(len(iron_conds)*0.75) sub_t_i = int(len(timeseries_conds)*0.75) sub_s = subtilis_conds[0:sub_s_i] sub_i = iron_conds[0:sub_i_i] sub_t = timeseries_conds[0:sub_t_i] ba.run_both_adjust(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp2', sub_s=sub_s, sub_i=sub_i, sub_t=sub_t) sub_st = subtilis_conds[sub_s_i:] sub_it = iron_conds[sub_i_i:] sub_tt = timeseries_conds[sub_t_i:] (bs_e, bs_t, bs_genes, bs_tfs) = ba.load_B_subtilis(sub_st) (ba_e, ba_t, ba_genes, ba_tfs) = ba.load_B_anthracis(sub_it, sub_tt) corr += ba.betas_fused_corr('tmp2_subtilis', 'tmp2_anthracis', orth) print corr/(rep+1) eval_s = ba.eval_prediction('tmp2_subtilis', bs_e, bs_t, bs_genes, bs_tfs,'R2') eval_a = ba.eval_prediction('tmp2_anthracis', ba_e, ba_t, ba_genes, ba_tfs,'R2') (net, bs_genes, bs_tfs) = ba.load_network('tmp2_subtilis') aupr += ba.eval_network_pr(net, bs_genes, bs_tfs, BS_priors) print aupr/(rep+1) acc_s += eval_s acc_a += eval_a return aupr/repeats
def multi_species_benchmarks2(solver): repeats = 50 lamPs = np.array([1])#np.logspace(0, 3, 10) lamSs = [0]#+list(np.logspace(-1.5, 1.5, 3)) lamRs = [3]#np.logspace(0, 2, 5) iron_conds = range(ba.iron_conds) timeseries_conds = range(ba.timeseries_conds) subtilis_conds = range(ba.subtilis_conds) outf = file('benchmark_results/multi_species_bench4','w') (BS_priors, sign) = ba.load_priors('gsSDnamesWithActivitySign082213','B_subtilis') orth = ba.load_orth('bs_ba_ortho_804',['B_anthracis','B_subtilis']) #TODO make the order impossible to get for lamP in lamPs: for lamS in lamSs: for lamR in lamRs: acc_s = 0 acc_a = 0 aupr = 0 corr = 0 for rep in range(repeats): random.shuffle(iron_conds) random.shuffle(timeseries_conds) random.shuffle(subtilis_conds) sub_s_i = int(len(subtilis_conds)/5) sub_i_i = int(len(iron_conds)*0.75) sub_t_i = int(len(timeseries_conds)*0.75) sub_s = subtilis_conds[0:sub_s_i] sub_i = iron_conds[0:sub_i_i] sub_t = timeseries_conds[0:sub_t_i] if solver=='run_both': ba.run_both(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp2', sub_s = sub_s, sub_i = sub_i, sub_t = sub_t) if solver=='run_both_adjust': ba.run_both_adjust(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp2', sub_s=sub_s, sub_i=sub_i, sub_t=sub_t) if solver=='run_both_refit': ba.run_both_refit(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp2', sub_s = sub_s, sub_i = sub_i, sub_t = sub_t, it=10,k=20) if solver=='scad': ba.run_both(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp2', sub_s=sub_s, sub_i=sub_i, sub_t=sub_t, it=10, k=20, it_s=10) sub_st = subtilis_conds[sub_s_i:] sub_it = iron_conds[sub_i_i:] sub_tt = timeseries_conds[sub_t_i:] (bs_e, bs_t, bs_genes, bs_tfs) = ba.load_B_subtilis(sub_st) (ba_e, ba_t, ba_genes, ba_tfs) = ba.load_B_anthracis(sub_it, sub_tt) corr += ba.betas_fused_corr('tmp2_subtilis', 'tmp2_anthracis', orth) print corr/rep eval_s = ba.eval_prediction('tmp2_subtilis', bs_e, bs_t, bs_genes, bs_tfs,'R2') eval_a = ba.eval_prediction('tmp2_anthracis', ba_e, ba_t, ba_genes, ba_tfs,'R2') (net, bs_genes, bs_tfs) = ba.load_network('tmp2_subtilis') aupr += ba.eval_network_pr(net, bs_genes, bs_tfs, BS_priors) print aupr/rep acc_s += eval_s acc_a += eval_a writestr = 'lamP=%f\tlamS=%f\tlamR=%f\tsubtilis=%f\tanthracis=%f\taupr=%f\tcorr_bs=%f\n' % (lamP, lamS, lamR, acc_s/repeats, acc_a/repeats, aupr/repeats, corr/repeats) outf.write(writestr) print writestr outf.close()