def Load(s=0.1, experimentID=0, nu0=0.005, numReplicates=3, step=10, ModelName='TimeSeries', samplingWindow=50, L=50000, depthRate=30): if not s: nu0=0.005 sim = Simulation.load(s=s, experimentID=experimentID % 100, nu0=nu0, numReplicates=numReplicates, step=step, ExperimentName=ModelName, All=True, L=L, replicates=range(numReplicates), depthRate=depthRate) sim.experimentID=experimentID startGen=0 sim.setSamplingTimes(maxGeneration=min(startGen+samplingWindow,sim.getTrueGenerationTimes()[-1]),step=step,startGeneration=startGen) sim.createDF() return sim
def load(ExperimentName, s=0.1, L=50000, experimentID=0, nu0=0.005, isFolded=False, All=False, startGeneration=0, maxGeneration=50, numReplicates=3, numSamples=5, step=10, replicates=None, depthRate=np.inf): path='{}{}/simpop/'.format(utl.simoutpath, ExperimentName) + Simulation.getSimulationName(s=s, L=L, experimentID=experimentID, initialCarrierFreq=nu0, isFolded=isFolded) + '.pkl' sim= pd.read_pickle(path) sim.savedPath=path if replicates is not None: sim.setReplicates(sorted(replicates)) elif numReplicates is not None: sim.setReplicates(range(numReplicates)) if depthRate != np.inf: sim.Xi = sim.X sim.X = sim.C.loc[depthRate] / sim.D.loc[depthRate].astype(float) sim.X = np.array(map(lambda x: utl.roundto(x, 5), sim.X.reshape(-1) * 1e4)).reshape(sim.X.shape) / 1e4 if not All: sim.setSamplingTimes(maxGeneration=min(maxGeneration,sim.getGenerationTimes()[-1]),numSamples=numSamples,step=step,startGeneration=startGeneration) return sim