예제 #1
0
파일: benchmarks.py 프로젝트: kcaz/fused
def bench_lam(s, lamS):
    
    subtilis_conds = range(ba.subtilis_conds)
    random.shuffle(subtilis_conds)    
        
    sub_s = subtilis_conds[0:int(len(subtilis_conds)*0.025)]
                    
    
    ba.run_both(lamP=1, lamR=2, lamS=0, outf=s+'ft_0', sub_s = sub_s, sub_i = [], sub_t = [])

    ba.run_both(lamP=1, lamR=2, lamS=lamS, outf=s+'ft_s', sub_s = sub_s, sub_i = [], sub_t = [])
예제 #2
0
파일: benchmarks.py 프로젝트: kcaz/fused
def single_species_benchmarks():
    repeats = 2
    lamPs = np.array([0])#np.logspace(0, 3, 10)
    lamSs = np.array([0])
    lamRs = np.logspace(0, 3, 5)
    iron_conds = range(ba.iron_conds)
    timeseries_conds = range(ba.timeseries_conds)
    subtilis_conds = range(ba.subtilis_conds)
    outf = file('benchmark_results/single_species_bench','w')
    for lamP in lamPs:
        for lamS in lamSs:
            for lamR in lamRs:
                
                acc_s = 0
                acc_a = 0
                for rep in range(repeats):
                    random.shuffle(iron_conds)
                    random.shuffle(timeseries_conds)
                    random.shuffle(subtilis_conds)

                    sub_s = subtilis_conds[0:int(len(subtilis_conds)/2)]
                    sub_i = iron_conds[0:int(len(iron_conds)/2)]
                    sub_t = timeseries_conds[0:int(len(timeseries_conds)/2)]
                    
                    ba.run_both(lamP=lamP, lamR=lamR, lamS=lamS, outf='tmp', sub_s = sub_s, sub_i = sub_i, sub_t = sub_t)
                    
                    sub_st = subtilis_conds[int(len(subtilis_conds)/2):len(subtilis_conds)]
                    sub_it = iron_conds[int(len(iron_conds)/2):len(iron_conds)]
                    sub_tt = timeseries_conds[int(len(timeseries_conds)/2):len(timeseries_conds)]                    

                    (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)

                    eval_s = ba.eval_prediction('tmp_subtilis', bs_e, bs_t, bs_genes, bs_tfs,'R2')
                    eval_a = ba.eval_prediction('tmp_anthracis', ba_e, ba_t, ba_genes, ba_tfs,'R2')
                    acc_s += eval_s
                    acc_a += eval_a
                writestr = 'lamP=%f\tlamS=%f\tlamR=%f\tsubtilis=%f\tanthracis=%f\n' % (lamP, lamS, lamR, acc_s/repeats, acc_a/repeats)
                outf.write(writestr)
                print writestr
                    
    outf.close()
예제 #3
0
파일: benchmarks.py 프로젝트: kcaz/fused
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()