Ejemplo n.º 1
0
def multipleLocus(X, initHaps, N,r,times,pos):
    start_time=time()
    h0=np.zeros(initHaps.shape);
    h0[:int(h0.shape[0]*X[0,0,0]),0]=1
    lik = Likelihood(X[times!=0], initHaps, times[times!=0], pos, pos[0], None)
    fit = lik.maxlik_s(N=N, log10r=np.log10(r), h=0.5, bounds=(-.15, .15))
    ml = -fit.fun
    ml0 = lik.likelihood(N, r, 0.5, 0.0)
    if abs(ml0) == np.inf:
        ml0=np.sign(ml0)*1000
    lr = 2 * (ml - ml0)
    s=float(fit.x)*1.0
    pyexp.reset()
    # print pos,time()-start_time
    return pd.Series({'LR':lr ,'s':s, 'SLR':lr*s, 'pos':pos, 'Time':time()-start_time})