Skip to main content

Dynamical Systems Modeling Framework

Project description

PyRates

License CircleCI PyPI version Documentation Status Python

PyRates is a framework for dynamical systems modeling, developed by Richard Gast and Daniel Rose. It is an open-source project that everyone is welcome to contribute to.

Basic features

Basic features:

  • Frontend:
    • implement models via a frontend of your choice: YAML or Python
    • create basic mathematical building blocks (i.e. differential equations and algebraic equations) and use them to define a networks of nodes connected by edges
    • create hierarchical networks by connecting networks via edges
  • Backend:
    • choose from a number of different backends
    • NumPy backend for dynamical systems modeling on CPUs via Python
    • Tensorflow and PyTorch backends for parameter optimization via gradient descent and dynamical systems modeling on GPUs
    • Julia backend for dynamical system modeling in Julia, via tools such as DifferentialEquations.jl
    • Fortran backend for dynamical systems modeling via Fortran 90 and interfacing the parameter continuation software Auto-07p
  • Other features:
    • perform quick numerical simulations via a single function call
    • choose between different numerical solvers
    • perform parameter sweeps over multiple parameters at once
    • generate backend-specific run functions that evaluate the vector field of your dynamical system
    • Implement dynamic edge equations that include scalar dealys or delay distributions (delay distributions are automatically translated into gamma-kernel convolutions)
    • choose from various pre-implemented dynamical systems that can be directly used for simulations or integrated into custom models

Installation

Stable release (PyPI)

PyRates can be installed via the pip command. We recommend to use Anaconda to create a new python environment with Python >= 3.6 and then simply run the following line from a terminal with the environment being activated:

pip install pyrates

You can install optional (non-default) packages by specifying one or more options in brackets, e.g.:

pip install pyrates[backends]

Available options are backends, dev, and all at the moment. The latter includes all optional packages. Furthermore, the option tests includes all packages necessary to run tests found in the github repository.

Development version (github)

Alternatively, it is possible to clone this repository and run one of the following lines from the directory in which the repository was cloned:

python setup.py install

or

pip install '.[<options>]'

Singularity container

Finally, a singularity container of the most recent version of this software can be found here. This container provides a stand-alone version of PyRates including all necessary Python tools to be run, independent of local operating systems. To be able to use this container, you need to install Singularity on your local machine first. Follow these instructions to install singularity and run scripts inside the PyRates container.

Documentation

For a full API of PyRates, see https://pyrates.readthedocs.io/en/latest/. For examplary simulations and model configurations, please have a look at the jupyter notebooks provided in the documenation folder.

Reference

If you use this framework, please cite: Gast, R., Rose, D., Salomon, C., Möller, H. E., Weiskopf, N., & Knösche, T. R. (2019). PyRates-A Python framework for rate-based neural simulations. PloS one, 14(12), e0225900.

Contact

If you have questions, problems or suggestions regarding PyRates, please contact Richard Gast.

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

pyrates-0.12.0.tar.gz (115.9 kB view details)

Uploaded Source

Built Distribution

pyrates-0.12.0-py3-none-any.whl (163.8 kB view details)

Uploaded Python 3

File details

Details for the file pyrates-0.12.0.tar.gz.

File metadata

  • Download URL: pyrates-0.12.0.tar.gz
  • Upload date:
  • Size: 115.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pyrates-0.12.0.tar.gz
Algorithm Hash digest
SHA256 5c1c6fda74ee872c0df48d0f05f515cb21dc1eb195e71ed82b8a6c494453a51a
MD5 42c79a709a0cde22876ce1efe8d5394a
BLAKE2b-256 fad60fb102b1a1dda0d6eba0e565940cb55e3793b8a9b1e44cd7bd0d0be0f8af

See more details on using hashes here.

Provenance

File details

Details for the file pyrates-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: pyrates-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 163.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for pyrates-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63a37821be189a48148643cfa675a64d6933c0193c0ccd3629445a729e8eb1d8
MD5 11f1962accefc7fb410d060f5df3715e
BLAKE2b-256 f994b2a9da0d644743178f33053144f3a0b90cb48bc725b01e758d107b416f22

See more details on using hashes here.

Provenance

Supported by

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