Dynamics in random NNs with multiple neuron subtypes (Pena et al 2018, Tomov et al 2014, 2016)

 Download zip file 
Help downloading and running models
Accession:263956
"Spontaneous cortical population activity exhibits a multitude of oscillatory patterns, which often display synchrony during slow-wave sleep or under certain anesthetics and stay asynchronous during quiet wakefulness. The mechanisms behind these cortical states and transitions among them are not completely understood. Here we study spontaneous population activity patterns in random networks of spiking neurons of mixed types modeled by Izhikevich equations. Neurons are coupled by conductance-based synapses subject to synaptic noise. We localize the population activity patterns on the parameter diagram spanned by the relative inhibitory synaptic strength and the magnitude of synaptic noise. In absence of noise, networks display transient activity patterns, either oscillatory or at constant level. The effect of noise is to turn transient patterns into persistent ones: for weak noise, all activity patterns are asynchronous non-oscillatory independently of synaptic strengths; for stronger noise, patterns have oscillatory and synchrony characteristics that depend on the relative inhibitory synaptic strength. ..."
References:
1 . Pena RFO, Zaks MA, Roque AC (2018) Dynamics of spontaneous activity in random networks with multiple neuron subtypes and synaptic noise : Spontaneous activity in networks with synaptic noise. J Comput Neurosci 45:1-28 [PubMed]
2 . Tomov P, Pena RF, Roque AC, Zaks MA (2016) Mechanisms of Self-Sustained Oscillatory States in Hierarchical Modular Networks with Mixtures of Electrophysiological Cell Types. Front Comput Neurosci 10:23 [PubMed]
3 . Tomov P, Pena RF, Zaks MA, Roque AC (2014) Sustained oscillations, irregular firing, and chaotic dynamics in hierarchical modular networks with mixtures of electrophysiological cell types. Front Comput Neurosci 8:103 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Synapse;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Abstract Izhikevich neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program;
Model Concept(s): Synchronization; Synaptic noise; Activity Patterns; Sleep; Pattern Separation;
Implementer(s): Rodrigo Pena, [pena at njit.edu]; Petar Tomov, [tomov at mathematik.hu-berlin.de];
/
PenaZaksRoque2018_code
code
README.html
README.md
                            
## Introduction

This is a reference implementation of the following model:

  Pena, R.F.O., Zaks, M., Roque, A.C. (2018). 
  Spontaneous activity dynamics in random networks of spiking neurons with synaptic noise. 
  Journal of Computational Neuroscience, 45:1–28. doi 10.1007/s10827-018-0688-6

The very same code can has functions to reproduce results from the following papers  

  Tomov, P. , Pena, R.F. , Roque, A.C., Zaks, M.A. (2016).
  Mechanisms of self-sustained oscillatory states in hierarchical modular networks with mixtures of electrophysiological cell types. 
  Frontiers in Computational Neuroscience, 10:23. doi 10.3389/fncom.2016.00023
  
  Tomov, P. ,Pena, R.F. , Zaks, M.A. , Roque,A.C.(2014).
  Sustained oscillations, irregular firing, and chaotic dynamics in hierarchical modular networks with mixtures of electrophysiological cell types. 
  Frontiers in Computational Neuroscience, 8:103. doi 10.3389/fncom.2014.00103

## Platform information

**Platform:** Linux

**c++ (GCC):** 8.3.0

The network model is implemented using object-oriented programming in c++ .
For data processing and visualization we used standard functions available in Matlab.

## Code repository

This folder contains seven Python codes:
  *  **main.cpp:** Main script to run the simulations. Creates objects responsible for simulation and network structure.
  *  **simulation.cpp:** Class responsible to assemble network model structure and for running the simulation.
  *  **simulation.hpp:** Header file with definitions and macros.
  *  **izhi.cpp:** Class responsible for the neurons. Contain functions that take care of the integration. 
  *  **izhi.hpp:** Header file with definitions and macros.
  *  **alphasynapse.cpp:** Class responsible for synapses. It is used in simulation to create connections among neurons.
  *  **alphasynapse.hpp:** Header file with definitions and macros.

## Running the code

The main script used to simulate the network is from the terminal is:

  *  **run.sh:** Script where parameters of interest are changed. 

An example of how to run the scrip:

```
bash run.sh
```

Before running the scrip, the code must be compiled:

```
c++ *cpp -o code.out
```

After running the simulations, the code generates three files

raster.dat = matrix containing raster plot information. First column contains neuron index, then every line contains
 spike times. 

listsyn_M0_In_2_Ex2_3_Sim_121_NumSim_1.dat = Connectivity matrix

ex12in_M0_In_2_Ex2_3_Sim_121_NumSim_1.dat = Neuron type

We have included a Matlab code in order to create a figure of the raster plot. 
The default parameters should create a similar raster plot like the one in Fig.8 from the paper. 
It is expected that the figure won't be the same given its stochastic nature. 

Loading data, please wait...