示例#1
0
def main():
    radius, D = 5.0e-3, 1.0
    N_A = 60
    U = 0.5
    ka_factor = 10

    number_of_samples = 20

    kD = 4 * np.pi * (radius * 2) * (D * 2)
    ka = kD * ka_factor
    kd = ka * N_A * U * U / (1 - U)
    kon = ka * kD / (ka + kD)
    koff = kd * kon / ka

    with species_attributes():
        A | B | C | {'radius': str(radius), 'D': str(D)}

    with reaction_rules():
        A + B == C | (kon, koff)

    m = get_model()

    rng = GSLRandomNumberGenerator()
    rng.seed(0)

    y0 = {'A': N_A, 'B': N_A}
    duration = 0.35
    T = np.linspace(0, duration, 21)

    obs = run_simulation(np.linspace(0, duration, 101),
                         y0,
                         model=ode.ODENetworkModel(m),
                         return_type='observer',
                         solver='ode')

    with species_attributes():
        A | B | C | {'radius': str(radius), 'D': str(D)}

    with reaction_rules():
        A + B == C | (ka, kd)

    m = get_model()

    ensemble_simulations(T,
                         y0,
                         model=m,
                         return_type='matplotlib',
                         opt_args=('o', obs, '-'),
                         solver=('spatiocyte', radius),
                         n=number_of_samples)
示例#2
0
        raise ValueError('An invald value for "return_type" was given [{}].'.
                         format(str(return_type)) +
                         'Use "none" if you need nothing to be returned.')


if __name__ == "__main__":
    # def myrun(job, job_id=0, task_id=0):
    #     import ecell4
    #     print("Hi, I'm in local!")
    #     print("My job id is {:d}, and my task id is {:d}.".format(job_id, task_id))
    #     print("My job is {:s}.".format(str(job)))
    #     return job['x'] + job['y']

    # jobs = [{'x': i, 'y': i ** 2} for i in range(1, 4)]
    # print(run_serial(myrun, jobs, n=2))
    # print(run_multiprocessing(myrun, jobs, n=2))
    # # print(run_sge(myrun, jobs, n=2, delete=False))
    # print(run_sge(myrun, jobs, n=2))

    from ecell4 import *
    from ecell4.extra import ensemble

    with reaction_rules():
        A + B == C | (0.01, 0.3)

    ensemble.ensemble_simulations(10.0, {'C': 60},
                                  solver='gillespie',
                                  return_type='matplotlib',
                                  n=30,
                                  method='multiprocessing')
示例#3
0
    # jobs = [{'x': i, 'y': i ** 2} for i in range(1, 4)]
    # print(run_serial(myrun, jobs, n=2))
    # print(run_multiprocessing(myrun, jobs, n=2))

    # # environ = {'LD_LIBRARY_PATH': '/home/kaizu/lily_kaizu/src/ecell4/local/lib', 'PYTHONPATH': '/home/kaizu/lily_kaizu/src/ecell4/local/lib/python3.4/site-packages'}
    # environ = {}
    # # print(run_sge(myrun, jobs, n=2, delete=False, environ=environ))
    # print(run_sge(myrun, jobs, n=2, environ=environ))

    from ecell4 import *
    from ecell4.extra import ensemble

    with reaction_rules():
        A + B == C | (0.01, 0.3)

    environ = {'LD_LIBRARY_PATH': '/home/kaizu/lily_kaizu/src/ecell4/local/lib',
               'PYTHONPATH': '/home/kaizu/lily_kaizu/src/ecell4/local/lib/python3.4/site-packages'}
    retval = ensemble.ensemble_simulations(
        10.0, {'C': 60}, solver='gillespie', return_type='matplotlib',
        n=5, method='multiprocessing', environ=environ)

    # import numpy

    # def concatenate(results):
    #     return sum([numpy.array(data) for data in results]) / len(results)
    # retval = [concatenate(results) for results in retval]
    # print(retval)

    # numpy.savetxt('ens.dat', retval[0])
示例#4
0
文件: ensemble.py 项目: ecell/ecell4
            for data in retval[0]]
    else:
        raise ValueError(
            'An invald value for "return_type" was given [{}].'.format(str(return_type))
            + 'Use "none" if you need nothing to be returned.')


if __name__ == "__main__":
    # def myrun(job, job_id=0, task_id=0):
    #     import ecell4_base
    #     print("Hi, I'm in local!")
    #     print("My job id is {:d}, and my task id is {:d}.".format(job_id, task_id))
    #     print("My job is {:s}.".format(str(job)))
    #     return job['x'] + job['y']

    # jobs = [{'x': i, 'y': i ** 2} for i in range(1, 4)]
    # print(run_serial(myrun, jobs, n=2))
    # print(run_multiprocessing(myrun, jobs, n=2))
    # # print(run_sge(myrun, jobs, n=2, delete=False))
    # print(run_sge(myrun, jobs, n=2))

    from ecell4 import *
    from ecell4.extra import ensemble

    with reaction_rules():
        A + B == C | (0.01, 0.3)

    ensemble.ensemble_simulations(
        10.0, {'C': 60}, solver='gillespie', return_type='matplotlib',
        n=30, method='multiprocessing')
示例#5
0
radius, D = 5.0e-3, 1.0

with species_attributes():
    A | {'radius': str(radius), 'D': str(D)}

with reaction_rules():
    ~A > A | 45.0
    A > ~A | 1.5

model = get_model()

rng = GSLRandomNumberGenerator()
rng.seed(0)

number_of_samples = 20
y0 = {}
duration = 3
T = np.linspace(0, duration, 21)
V = 8

obs = run_simulation(np.linspace(0, duration, 101), y0, volume=V,
                     model=ode.ODENetworkModel(model),
                     return_type='observer',
                     solver='ode')

ensemble_simulations(T, y0, volume=V, model=model,
                     return_type='matplotlib',
                     opt_args=('o', obs, '-'),
                     solver=('spatiocyte', radius),
                     n=number_of_samples)