pyrates-neuroscience / PyRates

Licence: GPL-3.0 license
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PyRates

SciCompforChemists
Scientific Computing for Chemists text for teaching basic computing skills to chemistry students using Python, Jupyter notebooks, and the SciPy stack. This text makes use of a variety of packages including NumPy, SciPy, matplotlib, pandas, seaborn, NMRglue, SymPy, scikit-image, and scikit-learn.
Stars: ✭ 65 (+96.97%)
Mutual labels:  numpy, scientific-computing, simulations
gcpy
Python toolkit for GEOS-Chem.
Stars: ✭ 34 (+3.03%)
Mutual labels:  numpy, scientific-computing
pomp
R package for statistical inference using partially observed Markov processes
Stars: ✭ 88 (+166.67%)
Mutual labels:  dynamical-systems, differential-equations
Python-Matematica
Explorando aspectos fundamentais da matemática com Python e Jupyter
Stars: ✭ 41 (+24.24%)
Mutual labels:  numpy, scientific-computing
Pylbm
Numerical simulations using flexible Lattice Boltzmann solvers
Stars: ✭ 83 (+151.52%)
Mutual labels:  scientific-computing, code-generation
Gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Stars: ✭ 1,629 (+4836.36%)
Mutual labels:  scientific-computing, differential-equations
DataSciPy
Data Science with Python
Stars: ✭ 15 (-54.55%)
Mutual labels:  numpy, scientific-computing
python-data-science-project
Template repository for a Python 3-based (data) science project
Stars: ✭ 54 (+63.64%)
Mutual labels:  scientific-computing, scientific-research
Eliot
Eliot: the logging system that tells you *why* it happened
Stars: ✭ 874 (+2548.48%)
Mutual labels:  numpy, scientific-computing
Numcpp
C++ implementation of the Python Numpy library
Stars: ✭ 2,031 (+6054.55%)
Mutual labels:  numpy, scientific-computing
Mobulaop
A Simple & Flexible Cross Framework Operators Toolkit
Stars: ✭ 161 (+387.88%)
Mutual labels:  numpy, scientific-computing
Casadi
CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
Stars: ✭ 714 (+2063.64%)
Mutual labels:  scientific-computing, code-generation
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (+1012.12%)
Mutual labels:  scientific-computing, code-generation
BrainPy
Brain Dynamics Programming in Python
Stars: ✭ 242 (+633.33%)
Mutual labels:  dynamical-systems, differential-equations
owl ode
Owl's Differential Equation Solvers
Stars: ✭ 24 (-27.27%)
Mutual labels:  scientific-computing, differential-equations
NPY-for-Fortran
A FORTRAN module to write Numpy's *.npy and *.npz files
Stars: ✭ 30 (-9.09%)
Mutual labels:  numpy, scientific-computing
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (-45.45%)
Mutual labels:  scientific-computing, code-generation
pytorch-gpu-data-science-project
Template repository for a Python 3-based (data) science project with GPU acceleration using the PyTorch ecosystem.
Stars: ✭ 16 (-51.52%)
Mutual labels:  scientific-computing, scientific-research
Datacube Core
Open Data Cube analyses continental scale Earth Observation data through time
Stars: ✭ 285 (+763.64%)
Mutual labels:  numpy, scientific-computing
brian2cuda
A brian2 extension to simulate spiking neural networks on GPUs
Stars: ✭ 46 (+39.39%)
Mutual labels:  code-generation, differential-equations

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
    • Matlab backend 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.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].