Dynamical Systems Modeling Framework
Project description
PyRates
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
NumPybackend for dynamical systems modeling on CPUs via PythonTensorflowandPyTorchbackends for parameter optimization via gradient descent and dynamical systems modeling on GPUsJuliabackend for dynamical system modeling in Julia, via tools such asDifferentialEquations.jlFortranbackend for dynamical systems modeling via Fortran 90 and interfacing the parameter continuation software Auto-07pMatlabbackend for differential equation solving via Matlab
- 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 delays 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>]'
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.
References
If you use this framework, please cite:
and
Other work that used PyRates:
Weise, K., Poßner, L., Müller, E., Gast, R. & Knösche, T. R. (2020) Software X, 11:100450.
Contact
If you have questions, problems or suggestions regarding PyRates, please contact Richard Gast.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyrates-1.0.10.tar.gz.
File metadata
- Download URL: pyrates-1.0.10.tar.gz
- Upload date:
- Size: 122.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2e14bad0251714c5075b894175334745d256450c2157af651637594971a2e8a
|
|
| MD5 |
e867b95d9b908ec860ca4c841cc36989
|
|
| BLAKE2b-256 |
d28d90c4e978f847fdddd13094d3e7f64e2e2d19578b7690228a5b145e1fdb1b
|
File details
Details for the file pyrates-1.0.10-py3-none-any.whl.
File metadata
- Download URL: pyrates-1.0.10-py3-none-any.whl
- Upload date:
- Size: 170.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0de92b9f584bb934dbc959771581c3ffb406119febc6b5008a34cb74c586117
|
|
| MD5 |
b56a415179bff3d88eae552104e7ac7d
|
|
| BLAKE2b-256 |
0ea7d2f3112a3cbf5d1798e1199e9e310dc6cfcd5ec60746a26f68f2d0b338b0
|