Example #1
0
def runOne(args):
    path = utl.outpath + 'markov/simulations/'
    utl.mkdir(path)
    numExp = int(1e5)
    nu0, s = args
    print nu0, s
    for i, batch in enumerate(utl.batch(range(numExp), 10000)):
        print;
        print i, batch[0], batch[-1]
        a = pd.concat(map(lambda x: Simulation.simulateSingleLoci(nu0=nu0, s=s)[[1, 10, 100]], batch), axis=1).T
        a.to_pickle(path + 'nu{:E}.s{:E}.{}.df'.format(nu0, s, i))
Example #2
0
def runFindSForAllMethods(param):
    pool=None
    if numThreads >1:         pool=Pool(numThreads)
    param['data'] = Simulation.forwardSimulation(param)
    X0=param['initHaps'].mean(0)
    Xt=param['data'].mean(2)
    
        
    naiveS=EstimateS.Naive(param['times'], X0, Xt)
    df=pd.DataFrame(naiveS,columns=['naive.S'], index=param['positions'])
    MAXITERs=[100,1000,5000];LR= [ 1e-3,1e-2,1e-1]
    df=df.join([EstimateS.RNN(data=param['data'],X0=X0, positions=param['positions'], maxIter=maxIter, lr=lr, times=param['times'], pool=pool) for lr in LR for maxIter in MAXITERs ])
     
    GPS=EstimateS.GP(data=param['data'], init_haps= param['initHaps'], positions=param['positions'],  N=param['N'], r=param['r'], times=param['times'], pool=pool)
    df=df.join([GPS])
    df['posUnderSelection']=param['posUnderSelection']
    if numThreads >1:         pool.terminate()
    return df, param