Skip to content

A framework for simulating mean-field neural mass models of spiking neurons, comparing them to large network simulations, and predicting electrical stimulation responses of neural populations.

License

Notifications You must be signed in to change notification settings

caglarcakan/stimulus_neural_populations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Biophysically grounded mean-field models of neural populations under electrical stimulation

A framework for simulating mean-field neural mass models of spiking neurons, comparing them to large network simulations, and predicting electrical stimulation responses of neural populations.

🔗 Find the paper on arXiv.

🔗 You can find an implementation of the AdEx mean-field model in neurolib!

Schematic of neural mass model

Schematic of network model

Abstract

Electrical stimulation of neural populations is a key tool for understanding neural dynamics and developing treatments. To investigate the effects of external stimulation on a basic cortical motif, we analyse the dynamical properties of an efficient mean-field neural mass model of excitatory and inhibitory adaptive exponential integrate-and-fire (AdEx) neurons and validate the results using detailed network simulations. The state space of the mean-field model and of the detailed network are closely related. They reveal asynchronous up and down-states, bistable regions, and oscillatory regions corresponding to fast excitation-inhibition and slow excitation-adaptation feedback loops. Within this dynamical landscape, external stimuli can cause state transitions, such as turning on and off oscillations. Oscillatory input can frequency-entrain and phase-lock endogenous oscillations. The effects of external stimulation are well-predicted by the mean-field model, further underpinning the utility of low-dimensional neural mass models.

Getting Started

In this repository, you find the simulation engine for (a) an efficient mean-field mneural mass model of a large network of AdEx neurons and (b) the corresponding network simulation of individual neurons implemented in Brian2. Furthermore, you will find numerous notebooks to replicate our result and plot them figure by figure. The code within these notebooks runs the simulations and stimulation experiments, saves the data, performs data analysis and plots the results.

Hardware requirements

The mean-field simulations are fast by nature and require almost no computational resources for a single run. Running the AdEx network using brian for 6 seconds with N=10000 neurons per population (20000 total) takes in the order of 10 minutes to run on a Intel i5 single core.

Prerequisites

Please install anaconda on your computer before you clone this repository. Using conda, you can install the python environment which we have provided here (see Installaltion section). This will ensure that you will be able to run all the code files in this repository. Anaconda will also come with Jupter Notebook to run and display the notebooks provided here.

Installation

If you have a git client installed on your computer, the first step is cloning this repository to your computer:

git clone https://github.com/caglarcakan/stimulus_neural_populations.git

Alternatively, you can download the repository as a zip file from github here. After cloning or downloading the repository, please navigate in your terminal to the directory which contains the project.

Anaconda environment

To make it easier to run the code in this project and reproduce our findings, we have created an anaconda environment. This helps you to get all the correct versions of the libraries we have used as well as python 2.7. Please make sure that you have installed anaconda successfully.

The following command creates the anaconda environment on your computer (this can take a while):

conda env create -f environment.yml

Now activate the environment:

conda activate stimulus

You can now start the Jupyter Notebook server to view and run the notebooks in this repository using the command:

jupyter notebook

This should open Jupyter Notebook in your browser.

Overview of the repository

Path Description
├  data Simulation data are saved here.
├  figures Figures are saved here.
├  models Contains code for simulations.
│  ├  aln Mean-field model.
│     └  aln-precalc Precompute quantities for linear-nonlinear cascade.
│  ├  brian2 Brian2 network model.
│  └  utils Utility functions.
│       ├  aEIF...py Compute equivalent electric field strengths.
│       ├  fitparams.py Parameters for points of interest.
│       ├  functions.py Helper function for data analysis.
│       ├  paths.py Default paths for data storage (edit this to your needs).
│       ├  pypet....py Helper file for parameter exploration with pypet.
│       └  runModels.py Wrapper for running models easily.
└  notebooks Contains code for reproduction of figures in the article.
      ├  figure2 Bifurcation diagrams.
      ├  figure3 Stacked bifurcation diagrams with changing adaptation values.
      ├  figure4 Example traces for electrical stimulation.
      ├  figure5 Frequency entrainment of the population activity by oscillatory input
      └  figure6 Phase locking by oscillatory input.

Tutorial

Nothing here yet. Please be kindly refered to notebooks/figure2 for a basic overview on how to load and run the models.

Selected figures

Bifurcation diagrams

Bifurcation diagrams

Bifurcation diagrams and time series. Bifurcation diagrams a-d depict the state space of the E-I system in terms of the mean external input currents to both subpopulations E and I. (a) Bifurcation diagram of mean-field model without adaptation with up and down-states, a bistable region bi (green dashed contour) and an oscillatory region LCEI (white solid contour). (b) Diagram of the corresponding AdEx network. (c) Mean-field model with somatic adaptation. The bistable region is replaced by a slow oscillatory region LCaE. (d) Diagram of the corresponding AdEx network. The color in panels a - d indicates the maximum population rate of the excitatory population (clipped at 80 Hz). (e) Example time series of the population rates of excitatory (red) and inhibitory (blue) populations at point A2 (top row) which is located in the fast excitatory-inhibitory limit cycle LCEI, and at point B3 (bottom row) which is located in the slow limit cycle LCaE. (f) Time series at corresponding points for the AdEx network.

Stimulation experiments

Stimulation experiments

Population response to time-varying input current is state-dependent. Population rates of the excitatory population (black) with an additional external electrical stimulus (red) applied to the excitatory population. (a, b) A DC step input with amplitude 60 pA (equivalent E-field amplitude: 6.6 V/m) pushes the system from the low-activity fixed point into the fast limit cycle LCEI. (c, d) A step input with amplitude 40 pA (4.4 V/m) pushes the system from LCEI into the up-state. (e, f) In the multistable region bi, a step input with amplitude 100 pA (11.0 V/m) pushes the system from the down-state into the up-state and back. (g ,h) Inside the slow oscillatory region LCaE, an oscillating input current with amplitude $40$ pA and a (frequency-matched) frequency of 3 Hz phase-locks the ongoing oscillation. (i, j) A slow 4 Hz oscillatory input with amplitude 40 pA drives oscillations if the system is close to the oscillatory region LCaE.

Information

Built With

  • Brian2 - A clock-driven simulator for spiking neural networks
  • pypet - Python parameter exploration toolbox
  • numpy - The fundamental package for scientific computing with Python
  • numba - NumPy aware dynamic Python compiler using LLVM
  • Jupyter - Jupyter Interactive Notebook

Authors

Caglar Cakan*, Klaus Obermayer
Department of Software Engineering and Theoretical Computer Science, Technische Universität Berlin, Germany
Bernstein Center for Computational Neuroscience Berlin, Germany
*cakan@ni.tu-berlin.de

License

This project is licensed under BSD 2 - see the LICENSE file for details.

Acknowledgments

  • This work was supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) with the project number 327654276 (SFB 1315) and the Research Training Group GRK1589/2.
  • A model comparison of the mean-field population model can be found in this repository based on the article by Augustin, Ladenbauer, Baumann, Obermayer, Low-dimensional spike rate models derived from networks of adaptive integrate-and-fire neurons: comparison and implementation, PLOS Computational Biology 2017. The code for precomputing the filter components of the linear-nonlinear cascade and the AdEx neuron simulation using brian2 is heavily based on this project as well.
  • Aspart et al. layed out the work for converting the electric current amplitudes into extracellular field strengths in Extending Integrate-and-Fire Model Neurons to Account for the Effects of Weak Electric Fields and Input Filtering Mediated by the Dendrite. PLoS Computational Biology, 2016.

About

A framework for simulating mean-field neural mass models of spiking neurons, comparing them to large network simulations, and predicting electrical stimulation responses of neural populations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published