{ "info": { "author": "Dileep Kishore, Srikiran Chandrasekaran", "author_email": "k.dileep1994@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pyssa : Python package for stochastic simulations\n\n[![Build Status](https://travis-ci.com/Heuro-labs/pyssa.svg?token=qCMKydrUTvcJ87J6czex&branch=master)](https://travis-ci.com/Heuro-labs/pyssa)\n[![Build Status](https://dev.azure.com/srikiranc/pyssa/_apis/build/status/Heuro-labs.pyssa?branchName=master)](https://dev.azure.com/srikiranc/pyssa/_build/latest?definitionId=1?branchName=master)\n[![codecov](https://img.shields.io/codecov/c/github/Heuro-labs/pyssa.svg)](https://codecov.io/gh/Heuro-labs/pyssa)\n[![Updates](https://pyup.io/repos/github/Heuro-labs/pyssa/shield.svg)](https://pyup.io/repos/github/Heuro-labs/pyssa/)\n[![Documentation Status](https://readthedocs.org/projects/pyssa/badge/?version=latest)](https://pyssa.readthedocs.io/en/latest/?badge=latest)\n[![pypi](https://img.shields.io/pypi/v/pyssa.svg)](https://pypi.python.org/pypi/pyssa)\n![License](https://img.shields.io/badge/license-Apache%202-blue.svg)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\n\n\n## Introduction\n\n`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.\n\n\n## Install\n\nInstall with `pip`:\n\n```bash\n$ pip install pyssa\n```\n\n\n## Documentation\n\n - General: .\n\n\n## Usage\n\n```python\nfrom pyssa.simulation import Simulation\nV_r = np.array([[1, 0], [0, 1], [0, 0]]) # Reactant matrix\nV_p = np.array([[0, 0], [1, 0], [0, 1]]) # Product matrix\nX0 = np.array([100, 0, 0]) # Initial state\nk = np.array([1.0, 1.0]) # Rate constants\nsim = Simulation(V_r, V_p, X0, k) # Declare the simulation object\n# Run the simulation\nsim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10)\n```\n\nYou can change the algorithm used to perform the simulation by changing the `algorithm` parameter\n\n```python\nsim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10, algorithm=\"tau_adaptive\")\n```\n\nYou can run the simulations on multiple cores by specifying the `n_procs` parameter\n\n```python\nsim.simulate(max_t=150, max_iter=1000, chem_flag=True, n_rep=10, n_procs=4)\n```\n\n\n### Plotting\n\n```python\nsim.plot()\n```\n\n![Plot of species A, B and C](https://raw.githubusercontent.com/Heuro-labs/pyssa/master/docs/images/plot_basic.png)\n\n### Accessing the results\n\n```python\nresults = sim.results\n```\n\nYou can also access the final states of all the simulation runs by\n\n```python\nfinal_times, final_states = results.final\n```\n\n## Benchmarks\n\nWe chose `numba` after extensive testing and benchmarking against `python` and `cython` implementations.\n\nName (time in ms) | Min | Max | Mean | StdDev | Median | IQR | Outliers | OPS | Rounds | Iterations |\n| --- |:---:| :---:|:---:| :---:|:---:| :---:|:---:| :---:|:---:| :---:|\ntest_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 |\ntest_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 |\ntest_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 |\n\n## License\n\nCopyright (c) 2018-2019, Dileep Kishore, Srikiran Chandrasekaran. Released under: Apache Software License 2.0\n\n## Credits\n\n- [Numba](https://numba.pydata.org/)\n- [pytest](https://docs.pytest.org)\n- [Cookiecutter](https://github.com/audreyr/cookiecutter)\n- [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage)\n- [black](https://github.com/ambv/black)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Heuro-labs/pyssa", "keywords": "pyssa stochastic gillepsie simulation numba", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "pyssa", "package_url": "https://pypi.org/project/pyssa/", "platform": "", "project_url": "https://pypi.org/project/pyssa/", "project_urls": { "Homepage": "https://github.com/Heuro-labs/pyssa" }, "release_url": "https://pypi.org/project/pyssa/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "Python package for stochastic simulations", "version": "0.8.2" }, "last_serial": 5168566, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5fc0b04e4733aed4a2a740e5a34d5c3a", "sha256": "6920fc4955b2f2dcd94f01e5ba01ff8335b638ae04ac1da772029d625f78f21f" }, "downloads": -1, "filename": "pyssa-0.1.0-py3.6.egg", "has_sig": false, "md5_digest": "5fc0b04e4733aed4a2a740e5a34d5c3a", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 132541, "upload_time": "2018-12-03T00:07:20", "url": "https://files.pythonhosted.org/packages/2d/7e/aad4420b1bceab821ecad275c1df0d7900fb80a53dee74b3cdafa3a0a8c2/pyssa-0.1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "5f3db06dfa9359c61158b96a260a7c7b", "sha256": "5ed390509472d2dca456466d2f8532bfbde63193ba0342bd87f8b5504a1559b4" }, "downloads": -1, "filename": "pyssa-0.1.0-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "5f3db06dfa9359c61158b96a260a7c7b", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 220393, "upload_time": "2018-12-03T00:07:18", "url": "https://files.pythonhosted.org/packages/33/43/4d28b4ce5a85131b22bedd9886a8e790abee71c3f8f83367df09012e9d76/pyssa-0.1.0-py3.6-win-amd64.egg" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "594706191acef2491c2050b73d4ba910", "sha256": "0b42bd27a63cdfa1f011680624090d30aab0381b3efa2b66c8f41c270c85d102" }, "downloads": -1, "filename": "pyssa-0.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "594706191acef2491c2050b73d4ba910", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 133784, "upload_time": "2018-12-03T00:07:15", "url": "https://files.pythonhosted.org/packages/fb/f4/ad0c19149ae81e0eec49e4cedde0954ed5ade38533b271f0e73b2c82b1c3/pyssa-0.5.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3049e689130575e9e59c54f9f7e812a", "sha256": "bc35deac1fdb638f185040517a917fa89643a300ee6e62c9fbd038ef6bc64877" }, "downloads": -1, "filename": "pyssa-0.5.4.tar.gz", "has_sig": false, "md5_digest": "f3049e689130575e9e59c54f9f7e812a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128427, "upload_time": "2018-12-03T00:07:21", "url": "https://files.pythonhosted.org/packages/0e/78/ac806a65ea35095f214f4589315583a1df1b9cd24da667d50969c40a6de7/pyssa-0.5.4.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "91b1bd5ea156d763b7cbfc6731473db8", "sha256": "4e4d19db4d48f645616a40afbcc4be23ca95c0436a0a9a9d200c123c958bcf95" }, "downloads": -1, "filename": "pyssa-0.6.0.tar.gz", "has_sig": false, "md5_digest": "91b1bd5ea156d763b7cbfc6731473db8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73778, "upload_time": "2018-12-16T21:53:41", "url": "https://files.pythonhosted.org/packages/29/af/874de26f959f8cf87ca1002cff22b8352dc11b74d738cf7acc5a89e89994/pyssa-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "a1262f105fa2cd084e198b68192e65a9", "sha256": "350bc31226a9b94d83de57b86a1762a9177a718f115f9c9f4c67a551c4f8582e" }, "downloads": -1, "filename": "pyssa-0.7.0.tar.gz", "has_sig": false, "md5_digest": "a1262f105fa2cd084e198b68192e65a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77128, "upload_time": "2019-02-03T00:02:39", "url": "https://files.pythonhosted.org/packages/42/cc/5b6773993b98d146c6929aeb2131d966f452c4186031bd71ed6682944f23/pyssa-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "00f2880fed17b51157d63a518407ee77", "sha256": "f7fcbeb6e10a6dfb64d11238e60e5a92895ea0671d77d6678938bbbb8dce2a73" }, "downloads": -1, "filename": "pyssa-0.7.1.tar.gz", "has_sig": false, "md5_digest": "00f2880fed17b51157d63a518407ee77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77984, "upload_time": "2019-03-23T23:09:48", "url": "https://files.pythonhosted.org/packages/5d/3d/fab7d8c46b52f085af7426c1a62b5234a8011b37edc821b7b1bba3cee408/pyssa-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "b432954fd223669c41e5bb103a894fe8", "sha256": "5b27b379e8c87a66971132c334795f7683cdbc887dc65025a36035d87c3b159c" }, "downloads": -1, "filename": "pyssa-0.8.0.tar.gz", "has_sig": false, "md5_digest": "b432954fd223669c41e5bb103a894fe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76300, "upload_time": "2019-04-13T22:50:32", "url": "https://files.pythonhosted.org/packages/82/09/7b74daede528a256545a1a227bc83b8030fe0b966033ba9482f16488cb13/pyssa-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "fd8c48352d922923db7d19f9eef7dc39", "sha256": "e6bbeb35b213a3fd7046adea46011019be3aad8f122e6fd34ec0e79c644ab9c9" }, "downloads": -1, "filename": "pyssa-0.8.1.tar.gz", "has_sig": false, "md5_digest": "fd8c48352d922923db7d19f9eef7dc39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76309, "upload_time": "2019-04-20T20:41:00", "url": "https://files.pythonhosted.org/packages/49/b5/b221dcecf3838186c81d833d8ea760d073ef92d9347109e018508b2ba1f1/pyssa-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "b38c5d32fc5380b3e75b14e6158aaa0b", "sha256": "9c628cac789c92dede8ba6f6285dd7154d0b233fc7288f0be20cd555fe2df592" }, "downloads": -1, "filename": "pyssa-0.8.2.tar.gz", "has_sig": false, "md5_digest": "b38c5d32fc5380b3e75b14e6158aaa0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80348, "upload_time": "2019-04-20T21:07:43", "url": "https://files.pythonhosted.org/packages/91/d2/35604e2fc272e7d2e6fc074f0ca44dcd5fa8b9918bcc5e17db24316785e7/pyssa-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b38c5d32fc5380b3e75b14e6158aaa0b", "sha256": "9c628cac789c92dede8ba6f6285dd7154d0b233fc7288f0be20cd555fe2df592" }, "downloads": -1, "filename": "pyssa-0.8.2.tar.gz", "has_sig": false, "md5_digest": "b38c5d32fc5380b3e75b14e6158aaa0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80348, "upload_time": "2019-04-20T21:07:43", "url": "https://files.pythonhosted.org/packages/91/d2/35604e2fc272e7d2e6fc074f0ca44dcd5fa8b9918bcc5e17db24316785e7/pyssa-0.8.2.tar.gz" } ] }