-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.html
73 lines (49 loc) · 3.32 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<h2>Introduction</h2>
<p>This is a reference implementation of the following model:</p>
<p>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 <a href="https://doi.org/10.1007/s10827-018-0688-6">10.1007/s10827-018-0688-6</a>
<p>The very same code can has functions to reproduce results from the following papers </p>
<p>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 <a href="https://doi.org/10.3389/fncom.2016.00023">10.3389/fncom.2016.00023</a>
<p>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 <a href="https://doi.org/10.3389/fncom.2014.00103">10.3389/fncom.2014.00103</a>
<h2>Platform information</h2>
<p><strong>Platform:</strong> Linux</p>
<p><strong>c++ (GCC):</strong> 8.3.0</p>
<p>The network model is implemented using object-oriented programming in c++ .
For data processing and visualization we used standard functions available in Matlab.</p>
<h2>Code repository</h2>
<p>This folder contains seven Python codes:<ul>
<li/> <strong>main.cpp:</strong> Main script to run the simulations. Creates objects responsible for simulation and network structure.
<li/> <strong>simulation.cpp:</strong> Class responsible to assemble network model structure and for running the simulation.
<li/> <strong>simulation.hpp:</strong> Header file with definitions and macros.
<li/> <strong>izhi.cpp:</strong> Class responsible for the neurons. Contain functions that take care of the integration.
<li/> <strong>izhi.hpp:</strong> Header file with definitions and macros.
<li/> <strong>alphasynapse.cpp:</strong> Class responsible for synapses. It is used in simulation to create connections among neurons.
<li/> <strong>alphasynapse.hpp:</strong> Header file with definitions and macros.</p>
</ul>
<h2>Running the code</h2>
<p>The main script used to simulate the network is from the terminal is:</p>
<ul>
<li><strong>run.sh:</strong> Script where parameters of interest are changed. </li>
</ul>
<p>An example of how to run the scrip:</p>
<p><code>
bash run.sh
</code></p>
<p>We have included a Matlab code, plot_raster.m, 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:</p>
<p/><img src="./code/raster.png" alt="raster.png" width="650">
<p>Before running the script, the code must be compiled:</p>
<p><code>
c++ *cpp -o code.out
</code></p>
<p>After running the simulations, the code generates three files</p>
<p>raster.dat = matrix containing raster plot information. First column contains neuron index, then every line contains
spike times. </p>
<p>listsyn<em>M0</em>In<em>2</em>Ex2<em>3</em>Sim<em>121</em>NumSim_1.dat = Connectivity matrix</p>
<p>ex12in<em>M0</em>In<em>2</em>Ex2<em>3</em>Sim<em>121</em>NumSim_1.dat = Neuron type</p>