## 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.