Skip to main content

Python package for stochastic simulations

Project description

Stochastic Simulation Algorithms in Python

Build Status codecov Updates Documentation Status pypi License Code style: black

Introduction

pyssa is a Python package for stochastic simulations. It offers a simple api to define models, perform stochastic simulations on them and visualize the results in a convenient manner.

Install

Install with pip:

$ pip install pyssa

Documentation

Usage

from pyssa.simulation import Simulation

sim = Simulation(V_r, V_p, X0, k)
sim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10)

You can change the algorithm used to perform the simulation by changing the algorithm flag

sim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10, algorithm="tau_leaping")

Plotting

sim.plot()

Plot of species A, B and C

Accessing the results

results = sim.results

You can also access the final states of all the simulation runs by

final_times, final_states = results.final

Benchmarks

We chose numba after extensive testing and benchmarking against python and cython implementations.

Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations
test_numba_benchmark 314.1758 (1.0) 342.9915 (1.0) 322.9318 (1.0) 11.4590 (1.0) 318.7983 (1.0) 9.1533 (1.0) 1;1 3.0966 (1.0) 5 1
test_cy_benchmark 17,345.7698 (55.21) 19,628.3931 (57.23) 18,255.3931 (56.53) 862.4711 (75.27) 18,148.9358 (56.93) 1,030.3676 (112.57) 2;0 0.0548 (0.02) 5 1
test_py_benchmark 27,366.3681 (87.11) 28,417.8333 (82.85) 27,782.2482 (86.03) 387.2758 (33.80) 27,728.4224 (86.98) 347.3891 (37.95) 2;0 0.0360 (0.01) 5 1

License

Copyright (c) 2018, Dileep Kishore, Srikiran Chandrasekaran. Released under: Apache Software License 2.0

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyssa-0.6.0.tar.gz (73.8 kB view details)

Uploaded Source

File details

Details for the file pyssa-0.6.0.tar.gz.

File metadata

  • Download URL: pyssa-0.6.0.tar.gz
  • Upload date:
  • Size: 73.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for pyssa-0.6.0.tar.gz
Algorithm Hash digest
SHA256 4e4d19db4d48f645616a40afbcc4be23ca95c0436a0a9a9d200c123c958bcf95
MD5 91b1bd5ea156d763b7cbfc6731473db8
BLAKE2b-256 29af874de26f959f8cf87ca1002cff22b8352dc11b74d738cf7acc5a89e89994

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page