コード例 #1
0
ファイル: MarkovBrownian.py プロジェクト: airanmehr/bio
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))
コード例 #2
0
ファイル: Markov.py プロジェクト: airanmehr/bio
def computeLikelihoodReal(args):
    """
    Args: (it's more convenient for multiprocessing)
        args: a list of [R,s,h].
        R: is a dataframe for which each row is a position and columns are allele frequencies.
            ColumnsLevels= [REP, TIME] , IndexLevels=[CHROM,POS]
        s: is selection strength
        h: is overdominance
    Returns:
        a series containing likelihood of timeseries for the specific values of s and h.
    """
    CD, E, s, h = args
    if s==0:s=int(0)
    print 'Computing for {} SNPs for s={} h={}'.format(CD.shape[0], s, h);
    sys.stdout.flush()
    powers = pd.Series(pd.Series(CD[r].columns).diff().values[1:] for r in range(3))
    T = pd.read_pickle(utl.outpath + 'transition/real/S{:E}.H{:E}.df'.format(np.round(s, 2), h))
    # likes = computeLikelihoodRealBatch((CD, E, T, powers))
    args = map(lambda x: (x, E, T, powers), utl.batch(CD, int(3e5)));
    likes = pd.concat(map(computeLikelihoodRealBatch, args))
    likes.name = (s, h)
    return likes
コード例 #3
0
ファイル: workspace.py プロジェクト: airanmehr/bio
def computeLikelihoodReal(args):
    CD, E, T = args
    powers = pd.Series(pd.Series(CD[r].columns).diff().values[1:] for r in range(3))
    args = map(lambda x: (x, E, T, powers), utl.batch(CD, int(3e5)));
    likes = pd.concat(map(mkv.computeLikelihoodRealBatch, args))
    return likes