Edit History

ACnet2-docs » History » Version 5

Boris Marin, 30 Apr 2014 14:57
minor correction

1 1 Padraig Gleeson
Documentation for the ACnet2 GENESIS model
2 1 Padraig Gleeson
------------------------------------------
3 1 Padraig Gleeson
4 2 Padraig Gleeson
I encourage you to extend and share this tutorial/documentation and simulation script package with others. The files here may be freely distributed under the terms of the [GNU Lesser General Public License version 2.1](https://github.com/OpenSourceBrain/ACnet2/blob/master/GENESIS/figures/copying.txt).
5 2 Padraig Gleeson
6 2 Padraig Gleeson
[David Beeman](/users/46)
7 1 Padraig Gleeson
University of Colorado, Boulder
8 1 Padraig Gleeson
dbeeman@colorado.edu
9 2 Padraig Gleeson
10 2 Padraig Gleeson
### Introduction
11 2 Padraig Gleeson
12 2 Padraig Gleeson
Cortical waves have been observed in many cortical areas, including the primary auditory cortex (AI). For example, see Kral et al. (2009). The **ACnet2** model was developed both as a study of the propagation of cortical waves, and as a tutorial example for the construction of cortical networks. The simulation scripts are designed to be run with GENESIS 2.3 and are extensively commented, are easily customizable and are designed for extension to more detailed models, or conversion to other simulation
13 2 Padraig Gleeson
systems. The model is slowly being implemented in GENESIS 3 (G-3) (Cornelis et al, 2012) and a conversion to neuroConstruct (http://www.neuroconstruct.org/) is planned. The scripts will be of particular interest to those GENESIS network modelers who have not taken advantage of the ten-fold speed increase available with the use of ‘hsolve’
14 1 Padraig Gleeson
for network simulations.
15 2 Padraig Gleeson
16 1 Padraig Gleeson
This package also contains both GENESIS and simulator-independent Python tools for the visualization and analysis of network activity.
17 1 Padraig Gleeson
18 2 Padraig Gleeson
More information about GENESIS can be obtained from http:genesis-sim.org and Beeman and Bower (1998).
19 1 Padraig Gleeson
20 2 Padraig Gleeson
The scientific purpose and simulation results are described in the published abstract (Beeman, 2013) and in the CNS 2013 poster presentation, which may be viewed here in two panels:
21 2 Padraig Gleeson
22 2 Padraig Gleeson
[Beeman-CNS2013-poster-top.pdf](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/Beeman-CNS2013-poster-top.pdf)
23 2 Padraig Gleeson
24 2 Padraig Gleeson
[Beeman-CNS2013-poster-bottom.pdf](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/Beeman-CNS2013-poster-bottom.pdf)
25 2 Padraig Gleeson
26 1 Padraig Gleeson
These are to be read left column first, top to bottom, then right column from top to bottom.
27 1 Padraig Gleeson
28 1 Padraig Gleeson
This document describes the model and how to use the provided simulation scripts to obtain the results shown in Beeman (2013) Fig. 1 (also at the top right of the poster). It also suggests experiments that may be tried with the many configurable options in the scripts, and ways to extend the model. It is my hope that this short tutorial and the example simulation scripts can provide a head start for a graduate student or postdoc who is beginning a cortical modeling project.
29 1 Padraig Gleeson
30 1 Padraig Gleeson
### The ACnet2 model
31 1 Padraig Gleeson
32 1 Padraig Gleeson
Biologically detailed and realistic models can hope to reproduce the relevant mechanisms that cause the system’s behavior. But, they have a very large space of poorly-defined or poorly-quantified parameters to be explored. This makes the analysis and interpretation of results very difficult. However, simplified models, such as networks of point integrate-and-fire neurons without dendritic structure, may leave out important details that affect network behavior.
33 1 Padraig Gleeson
34 4 Boris Marin
The ACnet2 model attempts a compromise by restricting the model to a piece of the thalamorecipient layer (IV) of primary auditory cortex (AI). It has has only two populations of neurons, excitatory ‘Ex\_cells’ and inhibitory ‘Inh\_cells’. The default configuration of the model is for the Ex\_cell population to be a 48 x 48 grid of 9-compartment pyramidal cells, and for the Inh\_cells to be a 24 x 24 grid of two-compartment basket cells. The size of the two grids, cell spacing, and types of cells, as well as the location of synaptic connections may be configured in the main script. Inputs from other cortical layers were crudely represented by Poisson-distributed random inputs to provide background levels of firing for the two populations in agreement with typical measured values.
35 1 Padraig Gleeson
36 1 Padraig Gleeson
The model omits the following important features:
37 1 Padraig Gleeson
38 3 Padraig Gleeson
-   A detailed model of connections from other layers
39 1 Padraig Gleeson
40 1 Padraig Gleeson
-   Other types of inhibitory channels (e.g.GABA\_B, NMDA) and cells (e.g. chandelier) with their particular patterns of connections
41 1 Padraig Gleeson
42 1 Padraig Gleeson
-   gap junctions betweeen inhibitory cells
43 1 Padraig Gleeson
44 1 Padraig Gleeson
-   Synaptic plasticity (e.g. facilitation, depression, STDP)
45 1 Padraig Gleeson
46 1 Padraig Gleeson
This simplification nevertheless leaves the weighted synaptic conductances for the four types of connections as poorly known adjustable parameters.
47 3 Padraig Gleeson
The scaling and balancing of these conductances depends strongly on the assumptions made on cell density and the connection probablity between cells as a function of separation. The goal of this modeling effort was to find a suitable set of the four maximal synaptic conductances (gmax). This should allow the propagation of waves of excitation with neither widespread undamped oscillations nor excessive inhibitory quenching of the response to stimuli.
48 1 Padraig Gleeson
49 1 Padraig Gleeson
The top right portion of the CNS poster describes how the default parameters (shown in the \`Runtime GUI <figures/0001C_run.png>\`*) produce propagation and constructive interference from two tone inputs to the model. Although the input model provides for a realistic spread of thalamic inputs that have typically observed spike time distributions at a given characteristic frequency, this example used single row excitations from spike trains of 220 and 440 Hz, in the absence of background input.
50 1 Padraig Gleeson
h3. The cell models
51 1 Padraig Gleeson
52 1 Padraig Gleeson
The main features of the two cell models are shown in the figure below.
53 1 Padraig Gleeson
![](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/AC_cells.png)
54 1 Padraig Gleeson
The morphology and passive parameters of the pyramidal cell are based on the reduced neocortical pyramidal cell models of Bush and Sejnowski . The passive symmetric compartmental model was transformed to an equivalent asymmetric model by a method that scales compartment dimensions to preserve the passive properties of each compartment. The resulting cell has the same input resistance of 47 Mohm and membrane time constant of 10 msec. The soma contains voltage and calcium activated channels, and there are dual-exponential synaptically activated channels at appropriate locations on the dendrites. The basket cell is a simple ‘ball and stick’ model with a 40 micrometer diameter soma and a 200 x 2 micrometer cylindrical dendrite. It has an input resistance of 113 Mohm and a time constant of 10 msec.
55 2 Padraig Gleeson
The active channels used in the soma are a small set of modified Traub et al. hippocampal CA3 region channels with activation and inactivation time constants scaled to give dynamics typical of neocortical cells. Parameter searches were performed manually and with the GENESIS 2 parameter search library simulated annealing method to approximately fit current clamp results by Nowak et al. for regular spiking cells in cat visual cortex, and by Hefti and Smith for rat layer V primary auditory cortex.
56 2 Padraig Gleeson
h3. The connection model
57 2 Padraig Gleeson
Some neocortical models assume all-to-all connections with a constant small probability, such as 0.02. Others use a larger fixed connection probability over a specified region, but have a synaptic weight factor that decays with separation distance. Recent studies of excitatory and inhibitory synaptic connectivity show that the connection strength is relatively independent of distance, but that the probability falls off with a Gaussian probability with distance. Thus, in accordance with experimental measurements on cat AI by Yuan et al. and rescaled results for mouse AI by Levy and Reyes , a fixed connection weight was used, and the probability for both excitatory and inhibitory connections was taken to vary with radial distance r in the layer as
58 1 Padraig Gleeson
 P (r) = P0 \* exp\^2), with the s = 10\*SEP\_X = 0.4 mm
59 1 Padraig Gleeson
 P0 = 0.15, P0 = 0.45, P0 = P0 = 0.6
60 2 Padraig Gleeson
For this model, the separation between excitatory cells SEP\_X = 40 micrometers. The maximum range for connections was 1 mm. This connection scheme may be easily modified in the main simulation script to corresond to measurements from other cortical areas.
61 2 Padraig Gleeson
Many simple cortical models ignore axonal conduction delays. Experiments with this model showed that in order to produce propagation of waves of excitation, the conduction delays should be large enough to produce a sufficient delay in the onset of inhibition after excitation. This could not be achieved by merely increasing the time constant for the inhibitory conductance. Estimates for the conduction velocity of short intralaminar unmeyelinated axons are in the range of 60-90 mm/s. . Values for longer distance axons between other cortical layers or regions are generally higher, ranging from 0.2 to 0.3 m/sec. . This simulation uses the default axonal conduction velocity of 0.08 m/sec, or a delay of 12.5 sec/m. This delay can have a significant effect in the delay of the onset of inhibition, as
62 1 Padraig Gleeson
connected cells 400 um apart can have a delay of 5 msec.
63 2 Padraig Gleeson
In addition to the interconnections between the cells, the excitatory cells receive a Poisson-distributed random activation at their basal dendrites in order to represent excitatory inputs from other layers. The default parameters and average frequency were chosen in order to give background levels of firing for the two populations in agreement with those measured by Steriade et al. .
64 2 Padraig Gleeson
h3. The runtime GUI
65 2 Padraig Gleeson
The screen capture of a typical simulation run shows the Control Panel with the simulation parameters.
66 2 Padraig Gleeson
![](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/0001C_run.png)
67 2 Padraig Gleeson
These parameters were used to produce the network activity shown in the ‘netview’ replay of the results.
68 2 Padraig Gleeson
![](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/C0003Aasc_prop-sm.png)
69 1 Padraig Gleeson
The sequence of frames at times from 0.8060 to 0.8138
70 1 Padraig Gleeson
represent the soma membrane potential of each excitatory cell on the 48 x
71 1 Padraig Gleeson
48 grid at the left. These are an indication of firing or changes in the
72 1 Padraig Gleeson
subthreshold potential. Those on the right give their post-synaptic
73 1 Padraig Gleeson
currents due to excitatory connections from other pyramidal cells.
74 1 Padraig Gleeson
These show initial responses to the two tone input produce a growing wave
75 1 Padraig Gleeson
of excitation past the initial responses of the input rows, culminating in
76 1 Padraig Gleeson
constructive interference in the middle shown in frame E.
77 1 Padraig Gleeson
The plots shown in the runtime GUI are for the middle cell in the labeled
78 1 Padraig Gleeson
row. Thus, the ‘Ex\_cell Membrane Potential’ plot shows that there are
79 1 Padraig Gleeson
pulses of firing in the middle cells of rows 12 and 36, corresponding
80 1 Padraig Gleeson
to the left netview displays. The ‘Ex\_cell synaptic currents’ plots
81 1 Padraig Gleeson
can be related to the right column EPSC display. These plots are useful
82 1 Padraig Gleeson
in tuning the synaptic conductances to achieve a good balance of
83 1 Padraig Gleeson
excitation and inhibition.
84 2 Padraig Gleeson
h3. The input model
85 2 Padraig Gleeson
86 1 Padraig Gleeson
The input model provided by the default simulation is specialized to
87 1 Padraig Gleeson
represent the tonotopic organization of inputs from the ventral division of
88 1 Padraig Gleeson
the medial geniculate body . This is the primary source of thalamic
89 1 Padraig Gleeson
inputs to the primary auditory cortex. The description of the scripts
90 1 Padraig Gleeson
further below tells how the input model may be modified to represent other
91 1 Padraig Gleeson
types of inputs, for example when using the network to model other cortical
92 1 Padraig Gleeson
areas.
93 1 Padraig Gleeson
The default parameters give a 48 x 48 network of Ex\_cells with rows
94 1 Padraig Gleeson
numbered from 0 to 47, and a 24 x 24 network of Inh\_cells with rows
95 1 Padraig Gleeson
numbered from 0 to 23. However, inputs are not provided to cells in the bottom 8 and top
96 1 Padraig Gleeson
8 rows, in order to avoid edge effects. As a result, there is an array of
97 1 Padraig Gleeson
Ex\_NY - 16 = 32 input “thalamic cells”, which are numbered from 1 to 32.
98 1 Padraig Gleeson
Each one of these sources of spike trains targets a row of Ex\_cells with a
99 1 Padraig Gleeson
row number that is offset by 7 from the input number. This accounts for
100 1 Padraig Gleeson
the entries in the ‘input\_control’ form below the Control Panel, where
101 1 Padraig Gleeson
Input 29 is to Target row 36. Initially, the inputs are assigned a
102 1 Padraig Gleeson
frequency on a logarithic scale from 220 Hz to 538.584 Hz with a default
103 1 Padraig Gleeson
set of pulse parameters, and are disconnected. By specifying an input
104 1 Padraig Gleeson
number corresponding to the row to be activated, these parameters may be
105 1 Padraig Gleeson
changed, and the Spike Train toggle set to ‘ON’, as shown above.
106 1 Padraig Gleeson
Providing the identical input to an entire row of cells produces more
107 1 Padraig Gleeson
correlation in the inputs than one would expect from thalamic connections.
108 1 Padraig Gleeson
One alternative would be to have a two-dimensional array of thalamic
109 1 Padraig Gleeson
inputs. The approach taken in this simulation is to have an ‘input\_delay’
110 1 Padraig Gleeson
for each connection from an input to the row of cells, and an
111 1 Padraig Gleeson
‘input\_jitter’ factor that provides a random ‘jitter’ in the arrival time
112 1 Padraig Gleeson
of the input to each cell in the row. This is implemented with a random
113 1 Padraig Gleeson
delay uniformly distributed between input\_delay**and
114 1 Padraig Gleeson
input\_delay**. The default values of these are 0,
115 1 Padraig Gleeson
but a reasonable amount of decorrelation can be provided with
116 1 Padraig Gleeson
input\_delay = 0.002 seconds, and input\_jitter = 0.4. These can be set
117 1 Padraig Gleeson
separately for each input via the ‘input\_control’ GUI.
118 1 Padraig Gleeson
Once set, the delays with jitter are the same at each time step. They
119 1 Padraig Gleeson
represent a decorrelation between the inputs to a row, not a true jitter in
120 1 Padraig Gleeson
spike arrival time. Yet, thalamic inputs are known to have a jitter in the
121 1 Padraig Gleeson
time at which they arrive at their targets. A typical value would be
122 1 Padraig Gleeson
0.0005, or 0.5 msec. As described below in the ‘Overview of the simulation
123 1 Padraig Gleeson
scripts’, this may be changed from the default of zero with the variable
124 1 Padraig Gleeson
‘spike\_jitter’.
125 1 Padraig Gleeson
There are yet more options for providing more realistic thalamic inputs.
126 1 Padraig Gleeson
In addition to providing other options for the type and distribution of the
127 1 Padraig Gleeson
inputs, there is a parameter ‘input\_spread’. This the number of rows below
128 1 Padraig Gleeson
and above the “target row” getting thalamic input. Typical values span
129 1 Padraig Gleeson
about one-third of an octave. The implementation in simple\_inputs.g
130 1 Padraig Gleeson
function **connect\_inputs** creates connections with an exponentially
131 1 Padraig Gleeson
decaying probablility to adjacent rows +/- input\_spread.
132 1 Padraig Gleeson
The default value used here is 0 , but a line in the main script can be changed to set it
133 2 Padraig Gleeson
to 1/6 of an octave, or any other value.
134 1 Padraig Gleeson
h3. Running the simulation
135 3 Padraig Gleeson
Of course, the first step in running the simulation is to have GENESIS 2.3 installed. If you have not used GENESIS before, it is simplest to download the entire ‘Ultimate GENESIS Tutorial Distribution’ package with all source code, installation instructions, and the complete set of tutorials from [http://genesis-sim.org/GENESIS/UGTD.html](http://genesis-sim.org/GENESIS/UGTD.html). GENESIS usually installs without problems under modern versions of Linux. Most questions related to installation have been answered in the archives of the ‘genesis-sim-users’ mailing list, which are available from the GENESIS 2 Sourceforge page at [http://sourceforge.net/projects/genesis-sim](http://sourceforge.net/projects/genesis-sim).
136 1 Padraig Gleeson
137 3 Padraig Gleeson
**ACnet2-main.g** is the main simulation script, with default values of the parameters that were used to generate the results in Beeman . It includes the files to create the GUI and contains many configurable options.
138 3 Padraig Gleeson
**ACnet2-batch.g** is a stripped down version with fewer options and no graphics. Once GENESIS 2.3 has been installed, the command:
139 3 Padraig Gleeson
 genesis ACnet2-batch.g
140 3 Padraig Gleeson
runs the simulation with the parameters used to generate the figure in Beeman . It creates the output files that can be displayed with the Python G-3 Network View tool in this package, printing messages such as
141 3 Padraig Gleeson
 Starting connection set up: Sun Aug 11 14:47:17 2013
142 1 Padraig Gleeson
 Finished connection set up: Sun Aug 11 14:49:39 2013
143 3 Padraig Gleeson
 All maxium synaptic weights set to 1
144 3 Padraig Gleeson
 Using simple pulsed spiketrain input
145 1 Padraig Gleeson
 ….
146 1 Padraig Gleeson
 time = 0.000000 ; step = 0
147 1 Padraig Gleeson
 time = 0.000000 ; step = 0
148 1 Padraig Gleeson
 time = 0.000000 ; step = 0
149 1 Padraig Gleeson
 Network of 48 by 48 excitatory cells with separations 4e-05 by 4e-05
150 1 Padraig Gleeson
 and 24 by 24 inhibitory cells with separations 8e-05 by 8e-05
151 1 Padraig Gleeson
 Random number generator seed initialized to: 1369497795
152 3 Padraig Gleeson
 Average number of Ex\_ex synapses per cell: 36
153 1 Padraig Gleeson
 Average number of Ex\_inh synapses per cell: 36
154 1 Padraig Gleeson
 Average number of Inh\_ex synapses per cell: 109
155 1 Padraig Gleeson
 Average number of Inh\_inh synapses per cell: 35
156 1 Padraig Gleeson
 time = 0.000000 ; step = 0
157 1 Padraig Gleeson
 time = 0.000000 ; step = 0
158 1 Padraig Gleeson
 dt = 1.999999949e-05 tmax = 1
159 1 Padraig Gleeson
 RUNID: B0003
160 1 Padraig Gleeson
 START: Sun Aug 11 14:49:41 2013
161 1 Padraig Gleeson
 END : Sun Aug 11 14:53:01 2013
162 3 Padraig Gleeson
 genesis \#0 \>
163 1 Padraig Gleeson
At this point, you can type ‘quit’ to the prompt.
164 1 Padraig Gleeson
Note the significant amount of time spent setting up the connections. It
165 1 Padraig Gleeson
is nearly as long as the time to run the model for 1 second. This is
166 3 Padraig Gleeson
because a GENESIS script language function **planarconnect\_probdecay**
167 1 Padraig Gleeson
was used to loop over source and destination cells. Some suggestions for
168 1 Padraig Gleeson
implementing this as a compiled GENESIS command are given in the section
169 1 Padraig Gleeson
‘Experiments to try’.
170 1 Padraig Gleeson
The ‘RUNID’ is a string that is given a default value in the simulation
171 1 Padraig Gleeson
script, and can be changed in the GUI for **ACnet2-main.g**. When
172 1 Padraig Gleeson
173 1 Padraig Gleeson
**ACnet2-batch.g** is run, it is used to produce output files with names:
174 3 Padraig Gleeson
* run\_summary\_B0003.txt - a summary of simulation parameters, read by replay\_netview10.g
175 3 Padraig Gleeson
* Ex\_netview\_B0003.txt - a file containing the membrane potential Vm for
176 3 Padraig Gleeson
 each Ex\_cell at time intervals ‘netview\_dt’, which is 0.2 msec, the
177 3 Padraig Gleeson
 slowest ‘clock’ used in this simulation.
178 1 Padraig Gleeson
179 3 Padraig Gleeson
* Inh\_netview\_B0003.txt - Vm for the Inh\_cells
180 3 Padraig Gleeson
* EPSC\_netview\_B0003.txt - for each Ex\_cell, contains the net Excitatory
181 3 Padraig Gleeson
 Post Synaptic Current due to connections from other Ex\_cells.
182 3 Padraig Gleeson
 The format is similar to the Ex\_netview file.
183 1 Padraig Gleeson
184 3 Padraig Gleeson
* EPSC\_sum\_B0003.txt - the EPSC summed over all Ex\_cells in the network at
185 3 Padraig Gleeson
 each time step ‘out\_dt’ ( = 0.0001 sec). This has been related to
186 3 Padraig Gleeson
 signals detected by MEG and the Power Spectral Density
187 3 Padraig Gleeson
 , which can be calculated with the
188 3 Padraig Gleeson
 analysis tools provided here.
189 1 Padraig Gleeson
The netview files are plain text with a header line in a format that is
190 1 Padraig Gleeson
described in comments in the main script.
191 1 Padraig Gleeson
The section below ‘Python data analysis and visualization tools’ tells how
192 1 Padraig Gleeson
to generate the \`wave propagation results <figures/C0003Aasc_prop-sm.png>\`*.
193 3 Padraig Gleeson
194 3 Padraig Gleeson
### Running ACnet2-main.g
195 3 Padraig Gleeson
196 1 Padraig Gleeson
Running the simulation from the GUI is similar, with the command::
197 3 Padraig Gleeson
198 3 Padraig Gleeson
genesis ACnet2-main.g
199 3 Padraig Gleeson
200 1 Padraig Gleeson
After the connections have been set up, with similar messages to the
201 3 Padraig Gleeson
console, a GUI similar to the \`Runtime GUI <figures/0001C_run.png>\`\_
202 1 Padraig Gleeson
will appear. The default RUNID of “0000” can be changed to another string
203 1 Padraig Gleeson
of your choice (no spaces or other unix-unfriendly characters). The output
204 1 Padraig Gleeson
files will contain this string in place of ‘B0003’. At this point, the
205 1 Padraig Gleeson
network will get a random Poisson activation at 8 Hz, and no thalamic
206 1 Padraig Gleeson
input. To get wave propagation results, set the Random Background
207 1 Padraig Gleeson
Activation Freq to 0, and use the ‘input\_control’ GUI to provide
208 1 Padraig Gleeson
the inputs::
209 1 Padraig Gleeson
210 1 Padraig Gleeson
Input 5 (Target Row 12) Input freq 220
211 1 Padraig Gleeson
 ‘Toggle to Spike Train ON’
212 1 Padraig Gleeson
213 1 Padraig Gleeson
Input 29 (Target Row 36) Input freq 440
214 1 Padraig Gleeson
 ‘Toggle to Spike Train ON’
215 1 Padraig Gleeson
216 1 Padraig Gleeson
leaving the pulse parameters as given. This will produce 50 msec tone
217 1 Padraig Gleeson
‘pips’ 150 msec apart.
218 1 Padraig Gleeson
219 1 Padraig Gleeson
**Don’t forget the GENESIS/XODUS eccentricity that you have to hit ‘Enter’
220 1 Padraig Gleeson
or click the mouse in a text field after you edit it, in order
221 1 Padraig Gleeson
for the changes to register.**
222 1 Padraig Gleeson
223 1 Padraig Gleeson
Then click RESET and RUN. After the run has completed, you may use
224 1 Padraig Gleeson
interactive GENESIS commands to inspect the model, or click on QUIT.
225 1 Padraig Gleeson
226 1 Padraig Gleeson
On examining the output files, you will notice that the ‘netview’ files
227 1 Padraig Gleeson
have the extension ‘.dat’ instead of ‘.txt’, and that the elapsed time
228 1 Padraig Gleeson
to run is about a minute shorter than with ACnet2-batch.g. That is
229 1 Padraig Gleeson
because ACnet2-main.g specifies the option ‘binary\_file = 1’, producing
230 1 Padraig Gleeson
output in the GENESIS ‘FMT1’ binary format. This is faster than
231 1 Padraig Gleeson
with text files, and the files are much smaller. It also allows
232 1 Padraig Gleeson
some spike analysis which is not yet possible with the Python tools.
233 1 Padraig Gleeson
However, when the **bzip2** compression utility is used, the text files
234 1 Padraig Gleeson
are much smaller than the binary files. The section ‘GENESIS data analysis
235 1 Padraig Gleeson
and visualization tools’ describes some of the analysis and visualization
236 1 Padraig Gleeson
that can be done using the binary files.
237 1 Padraig Gleeson
238 2 Padraig Gleeson
### Python data analysis and visualization tools
239 1 Padraig Gleeson
240 1 Padraig Gleeson
The directory **Gpython-tools** contains several Python scripts that were
241 1 Padraig Gleeson
developed for use with the analysis and visualization of results from
242 1 Padraig Gleeson
simulations carried out with both GENESIS 2.3 and G-3. They use plain text
243 1 Padraig Gleeson
data files with optional header information, and some can read text files
244 1 Padraig Gleeson
that have been compressed with the **bzip2** utility, making data storage
245 1 Padraig Gleeson
very efficient. New tools and documentation will be added to this
246 1 Padraig Gleeson
directory in future updates of the ACnet2 distribution, and will become
247 1 Padraig Gleeson
available through the \`GENESIS Documentation Homepage
248 1 Padraig Gleeson
<http://genesis-sim.org/userdocs/documentation-homepage/documentation-homepage.html>\`*.
249 1 Padraig Gleeson
The documentation for the present version of **Gpython-tools** is in the file
250 1 Padraig Gleeson
\`Gpython-tools/README.html <Gpython-tools/README.html>\`*.
251 1 Padraig Gleeson
252 1 Padraig Gleeson
These make use of the **maplotlib** and **wxpython** libraries, which must be
253 1 Padraig Gleeson
installed. When **netview-I.py** is installed in your search path, it can be
254 1 Padraig Gleeson
used to provide the animation from which the frames in the \`wave propagation
255 1 Padraig Gleeson
figure <figures/C0003Aasc_prop-sm.png>\`\_ were taken.
256 1 Padraig Gleeson
257 1 Padraig Gleeson
To reproduce the results from running the ACnet2-batch.g, bring up two
258 1 Padraig Gleeson
instances of **netview-I.py** for the Vm and EPSC data files::
259 1 Padraig Gleeson
260 1 Padraig Gleeson
\$ netview-I.py Ex\_netview\_B0003.txt &
261 1 Padraig Gleeson
 \$ netview-I.py EPSC\_netview\_B0003.txt &
262 1 Padraig Gleeson
263 1 Padraig Gleeson
You will have to click and drag the second netview window off of the first.
264 1 Padraig Gleeson
The Help menu ‘Usage and Help’ selection provides a pop-up window telling
265 1 Padraig Gleeson
you how to use the program, as with many of the tools in this collection.
266 1 Padraig Gleeson
267 1 Padraig Gleeson
In each window, click ‘New Data’. When the message ‘Data has been loaded’ appears
268 1 Padraig Gleeson
you can click ‘Play’, to replay the entire run. The frames shown in the
269 1 Padraig Gleeson
poster are at times::
270 1 Padraig Gleeson
271 1 Padraig Gleeson
A: 0.8060
272 1 Padraig Gleeson
 B: 0.8072
273 1 Padraig Gleeson
 C: 0.8082
274 1 Padraig Gleeson
 D: 0.8112
275 1 Padraig Gleeson
 E: 0.8138
276 1 Padraig Gleeson
277 1 Padraig Gleeson
To reproduce them, drag the ‘t\_min’ bar to 0.79 and the ‘t\_max’ bar to
278 1 Padraig Gleeson
0.80, then click ‘Play’. Then repeatedly click ‘Single Step’ until the
279 1 Padraig Gleeson
time display is 0.806. Continue for each of the next times, and compare to
280 2 Padraig Gleeson
the results in the [wave propagation figure](https://github.com/OpenSourceBrain/ACnet2/raw/master/GENESIS/figures/C0003Aasc_prop-sm.png)
281 2 Padraig Gleeson
282 1 Padraig Gleeson
There are also tools to calculate the PSD of the summed EPSC file.
283 1 Padraig Gleeson
284 1 Padraig Gleeson
**plotPSD.py** averages the PSD from a wildcard list of times series data
285 1 Padraig Gleeson
files, such as the ‘EPSC\_sum\_B0003.txt’ file. **plotPSD0.py** is similar, but
286 1 Padraig Gleeson
it overplots the spectra on the same graph. A typical usage would be::
287 2 Padraig Gleeson
288 2 Padraig Gleeson
\$ plotPSD.py EPSC\_sum\_M0005\*
289 1 Padraig Gleeson
 Plottting average of 4 runs from series M0005
290 1 Padraig Gleeson
 EPSC\_sum\_M0005B.txt EPSC\_sum\_M0005D.txt EPSC\_sum\_M0005E.txt EPSC\_sum\_M0005.txt
291 2 Padraig Gleeson
292 1 Padraig Gleeson
For a single file with a run time of only 1 second such as
293 2 Padraig Gleeson
EPSC\_sum\_B0003.txt (produced by running ACnet2-batch.g), they both yield the
294 1 Padraig Gleeson
same low resolution plot. The PSD plots shown in the lower right column of
295 1 Padraig Gleeson
the poster were generated from averages of four ten second runs that used
296 1 Padraig Gleeson
different random number seeds.
297 2 Padraig Gleeson
298 2 Padraig Gleeson
### GENESIS data analysis and visualization tools
299 2 Padraig Gleeson
300 1 Padraig Gleeson
The GENESIS script **replay\_netview10.g** and its included files
301 1 Padraig Gleeson
302 1 Padraig Gleeson
**analysis\_funcs5.g** and **spectra\_funcs3.g** are scripts that perform
303 1 Padraig Gleeson
visualization and spike train analyis on the binary ‘netview’ files that
304 1 Padraig Gleeson
are generated with the option ‘binary\_file = 1’. These use a fairly
305 1 Padraig Gleeson
confusing mixture of XODUS graphical objects, spike generators, and obscure
306 1 Padraig Gleeson
uses of the GENESIS **table** object in order to generate a number of useful
307 1 Padraig Gleeson
analyses and plots that are not yet available with the Python tools.
308 2 Padraig Gleeson
309 1 Padraig Gleeson
In order to set up the graphics and analysis tools, **replay\_netview10.g**
310 1 Padraig Gleeson
needs to read the default ‘run\_summary\_0000.txt’ and other files that are
311 1 Padraig Gleeson
generated from a run of **ACnet2-main.g** with the default RUNID = “0000”.
312 1 Padraig Gleeson
Once these has been done you can type::
313 2 Padraig Gleeson
314 2 Padraig Gleeson
genesis replay\_netview10.g
315 2 Padraig Gleeson
316 1 Padraig Gleeson
and use “0000” or another RUNID that has existing data.
317 2 Padraig Gleeson
318 1 Padraig Gleeson
Windows will appear for for Vm plots, Ex\_netview, Inh\_netview and
319 1 Padraig Gleeson
EPSC\_netview, as well as
320 1 Padraig Gleeson
321 1 Padraig Gleeson
**summary\_form** - Displays the run summary file in a scrolling text window
322 2 Padraig Gleeson
323 1 Padraig Gleeson
**histform** - A Firing rate distribution histogram for the Ex\_cells in the
324 1 Padraig Gleeson
network. This will typically by Gaussian, although a model with STDP
325 1 Padraig Gleeson
should show a lognormal distribution.
326 1 Padraig Gleeson
327 1 Padraig Gleeson
**freq\_form** - Displays the Average Spike Frequency for Ex\_cells and
328 1 Padraig Gleeson
Inh\_celsl with time, with a settable time bin size. This is particularly
329 1 Padraig Gleeson
useful when balancing conductances to give proper background firing rates
330 1 Padraig Gleeson
and fluctations in the rate.
331 1 Padraig Gleeson
332 1 Padraig Gleeson
**spectra\_form** - Hidden under the freq\_form, it calculates the PSD using
333 1 Padraig Gleeson
a slow Discrete Fourier Transform implemented in the GENESIS scripting
334 1 Padraig Gleeson
language. On a modern PC, the performance is not too bad, taking a little
335 1 Padraig Gleeson
over 20 seconds. However, the Python ‘plotPSD’ tools are better suited for
336 1 Padraig Gleeson
spectral analysis.
337 2 Padraig Gleeson
338 2 Padraig Gleeson
Then, click ‘RUN’ (or first enter the RUNID for another run for which you have files).
339 2 Padraig Gleeson
340 1 Padraig Gleeson
You will find that the spike frequency calculations will have produced a
341 1 Padraig Gleeson
new output file ‘spike\_freq\_0000.txt’ that did not exist before. The
342 1 Padraig Gleeson
343 1 Padraig Gleeson
**rowrateplot.py** utility in the \`Gpython-tools
344 2 Padraig Gleeson
<Gpython-tools/README.html>\`\_ directory can be used with the
345 1 Padraig Gleeson
‘spike\_freq*<RUNID>.txt’ files to create displays, similar to the \`average
346 1 Padraig Gleeson
spike frequency display <figures/freqplot_C0003A-new.png>\`* shown at the
347 1 Padraig Gleeson
left of the top poster panel. This display of the time course of the
348 1 Padraig Gleeson
average firing rate on a row can be useful in detecting propagation of
349 1 Padraig Gleeson
neuron firing from row to row. Note that replay\_netview10.g outputs
350 1 Padraig Gleeson
data for only the 32 ’target rows’ that receive inputs, so that the
351 1 Padraig Gleeson
display will normally not show all 48 rows. (This is a feature of
352 1 Padraig Gleeson
replay\_netview10.g, not of rowrateplot.py.)
353 1 Padraig Gleeson
354 2 Padraig Gleeson
### Experiments to try
355 1 Padraig Gleeson
356 1 Padraig Gleeson
Here are some suggestions of both simple and challenging things that can
357 1 Padraig Gleeson
be done to explore or extend the model.
358 1 Padraig Gleeson
359 1 Padraig Gleeson
**Changes in parameters through the GUI**
360 1 Padraig Gleeson
361 1 Padraig Gleeson
Most important model parameters can be changed through the GUI of
362 1 Padraig Gleeson
ACnet2-main.g. The ‘gmax’ values for the four types of synaptic
363 1 Padraig Gleeson
connections (which can also be scaled by the ‘Weight’ value) are a good
364 1 Padraig Gleeson
place to start.
365 1 Padraig Gleeson
366 1 Padraig Gleeson
The default values of the four synaptic conductance values shown in the
367 1 Padraig Gleeson
\`Run Time GUI <figures/0001C_run.png>\`\_ are more arbitrary than other
368 1 Padraig Gleeson
parameters. The assumption that the variable Inh\_inh\_gmax = 0.0, made also
369 1 Padraig Gleeson
in the model of Levy and Reyes (2011), produced a balance of excitation and
370 1 Padraig Gleeson
inhibition that resulted in an appropriate average background firing rate
371 1 Padraig Gleeson
for the inhibitory cells (about 22 Hz.) The GABA conductance of basket
372 1 Padraig Gleeson
cells, and their mutual connection probability are poorly known. However it
373 1 Padraig Gleeson
seems reasonable that there be some degree of mutual inhibition between
374 1 Padraig Gleeson
basket cells.
375 1 Padraig Gleeson
376 1 Padraig Gleeson
The poster mentions an alternate set of gmax values that increased the
377 1 Padraig Gleeson
basket cell AMPA conductances to 0.3 nS and provided mutual inhibition with
378 1 Padraig Gleeson
a 0.1 nS basket cell GABA conductance, These resulted in similar background
379 1 Padraig Gleeson
firing rates, but less robust wave propagation. However, this resulted in
380 1 Padraig Gleeson
a better match of the EPSC spectra to experiment. Clearly, there is a lot
381 1 Padraig Gleeson
of parameter space to explore with this small set of parameters.
382 1 Padraig Gleeson
383 1 Padraig Gleeson
Wave propagation is strongly affected by the axonal conductance delay
384 1 Padraig Gleeson
(the inverse of conduction velocity). How much less than 12.5 sec/m
385 1 Padraig Gleeson
can the network have and still support wave propagation?
386 1 Padraig Gleeson
387 1 Padraig Gleeson
The frequency and strength (gmax) of the random background activation can
388 1 Padraig Gleeson
be varied. The results shown in the poster used zero background
389 1 Padraig Gleeson
activation, because it was difficult to observe the response to
390 1 Padraig Gleeson
the input in the presence of strong backgrond activity. Studies
391 1 Padraig Gleeson
of propagation in the presence of background should be done.
392 1 Padraig Gleeson
393 1 Padraig Gleeson
Parameters for the thalamic input can be varied either by setting
394 1 Padraig Gleeson
the Ex\_cell and Inh\_cell gmax for thalamic input, or by setting
395 1 Padraig Gleeson
parameters for individual inputs. What is the effect of increasing
396 1 Padraig Gleeson
or decreasing the strength of the thalamic input?
397 1 Padraig Gleeson
398 1 Padraig Gleeson
There is much yet to be explored regarding the interaction of nearby
399 1 Padraig Gleeson
cells that receive auditory inputs. Do these parameters allow lateral
400 1 Padraig Gleeson
inhibition of closely spaced tones?
401 1 Padraig Gleeson
402 1 Padraig Gleeson
As described on the section ‘The input model’, the ‘Input delay’ and ‘Input
403 1 Padraig Gleeson
jitter’ values can produce a more realistic variation in the input received
404 1 Padraig Gleeson
by the cells within a row.
405 1 Padraig Gleeson
406 1 Padraig Gleeson
**Changes by editing the option strings in the main script**
407 1 Padraig Gleeson
408 1 Padraig Gleeson
There are many global parameters that are used for the initial setup
409 1 Padraig Gleeson
of the network, and that cannot be changed from the GUI. The section
410 1 Padraig Gleeson
‘Overview of the simulation scripts’ below describes the option strings
411 1 Padraig Gleeson
and global variables that can be changed.
412 1 Padraig Gleeson
413 1 Padraig Gleeson
Of course, any serious use of the network for auditory modeling should
414 1 Padraig Gleeson
extend the length of the network along the y-axis (the tonotopic axis)
415 1 Padraig Gleeson
to cover a wider range of octaves.
416 1 Padraig Gleeson
417 1 Padraig Gleeson
The time constants tau1 and tau2 for the synaptic conductances have a major
418 1 Padraig Gleeson
effect on the balance of excitation and inhibition, the default values are
419 1 Padraig Gleeson
based on reasonable estimates from available data, but there is some
420 1 Padraig Gleeson
uncertainty in the time constants for the rise and decay of inhibition.
421 1 Padraig Gleeson
(Because of a bug in hsolve, these cannot be changed from the GUI after
422 1 Padraig Gleeson
the network has been set up.)
423 1 Padraig Gleeson
424 1 Padraig Gleeson
How much of the results are due to the particular set of probabalistically
425 1 Padraig Gleeson
assigned connections? The random number seed is set to a fixed value in the
426 1 Padraig Gleeson
main script. This allows you to reproduce these results, but you will
427 1 Padraig Gleeson
certainly want to change it in order to compare multiple runs with
428 1 Padraig Gleeson
different connections.
429 1 Padraig Gleeson
430 1 Padraig Gleeson
**Providing more realistic auditory inputs**
431 1 Padraig Gleeson
432 1 Padraig Gleeson
The section on ‘The input model’ describes the ‘spike\_jitter’ parameter, in
433 1 Padraig Gleeson
addition to the GUI-settable ‘Input delay’ and ‘Input jitter’ values. This
434 1 Padraig Gleeson
parameter can be set in order to see if fluctuations in spike arrival time
435 1 Padraig Gleeson
affect the network behavior in a significant way.
436 1 Padraig Gleeson
437 1 Padraig Gleeson
The restriction that the thalamic inputs do not extend beyond cells on the
438 1 Padraig Gleeson
‘target row’ was made in order to simplify the analysis of wave
439 1 Padraig Gleeson
propagation. It would be more reasonable to extend the range with
440 1 Padraig Gleeson
the parameter ‘input\_spread’. This will probably require modifications
441 1 Padraig Gleeson
in the thalamic drive weight and some rebalancing of the gmax for
442 1 Padraig Gleeson
the four types of connections between cells.
443 1 Padraig Gleeson
444 1 Padraig Gleeson
The assumption that the output of thalamic cells is a uniform spike train
445 1 Padraig Gleeson
at the frequency of the sound source is probably a good one for low
446 1 Padraig Gleeson
frequency ‘click trains’, but not for tones of 220 or 440 Hz. In order to
447 1 Padraig Gleeson
provide a more realistic distribution of input spike train intervals, one
448 1 Padraig Gleeson
might develop a more detailed thalamic (MGBv) cell model for inputs to the
449 1 Padraig Gleeson
network. Some early work by Roullier et al. (1979) on unanethesized cats
450 1 Padraig Gleeson
provides histograms of spike time distributions. A simpler alternative is
451 1 Padraig Gleeson
to experiment with the alternate option string input\_type =
452 1 Padraig Gleeson
“pulsed\_randomspike”. Can you see any significant differences?
453 1 Padraig Gleeson
454 1 Padraig Gleeson
The options for ‘input\_pattern’ give an opportunity to explore other
455 1 Padraig Gleeson
non-auditory inputs. Customizing these will involve changes to some
456 1 Padraig Gleeson
parameters in the script ‘simple\_inputs.g’. For example, the “box” input
457 1 Padraig Gleeson
pattern can be used to study a spiking neurion model analgous to the model
458 1 Padraig Gleeson
of Rule et al. (2011) to simulate flicker phospenes in visual cortex.
459 1 Padraig Gleeson
460 1 Padraig Gleeson
The poster also describes experiments that can be performed on the model
461 1 Padraig Gleeson
to study the power spectra of responses to 20 - 40 Hz click trains.
462 1 Padraig Gleeson
463 1 Padraig Gleeson
**Speeding up the connection setup**
464 1 Padraig Gleeson
465 1 Padraig Gleeson
The definition of **function planarconnect\_probdecay** shows how the
466 1 Padraig Gleeson
algorithm is impelmented. It is similar to what is used in the C code for
467 1 Padraig Gleeson
planarconnect2, defined in the GENESIS source file
468 1 Padraig Gleeson
469 1 Padraig Gleeson
**genesis/src/newconn/connect.c**. The GENESIS Reference Manual in the
470 1 Padraig Gleeson
‘UGTD’ or the help files in **genesis/Doc** give detailed instructions on
471 1 Padraig Gleeson
implementing new commands and objectsi in GENESIS. This could be a fairly
472 1 Padraig Gleeson
simple project for someone with some experience in hacking other people’s C
473 1 Padraig Gleeson
code.
474 1 Padraig Gleeson
475 1 Padraig Gleeson
**Adding synaptic plasticity** (suitable for an advanced project)
476 1 Padraig Gleeson
477 1 Padraig Gleeson
The most serious feature lacking in the model is any form of synaptic
478 1 Padraig Gleeson
plasticity. Spike Timing Dependent Plasticity (STDP) and other forms of
479 1 Padraig Gleeson
plasticity are important effects in auditory and other cortical areas. It
480 1 Padraig Gleeson
would be a productive next step in the evolution of the ACnet2 model to
481 1 Padraig Gleeson
incorporate a phenomenological STDP model such as the one by Song, Miller
482 1 Padraig Gleeson
and Abbott (2000). It is perhaps better to understand the effect of these
483 1 Padraig Gleeson
mechanisms on this simple two population network before extending the
484 1 Padraig Gleeson
network model to include connections to other layers or other types of
485 1 Padraig Gleeson
neurons.
486 1 Padraig Gleeson
487 1 Padraig Gleeson
Implementing STDP will require some hacking of the GENESIS 2.3 source code
488 1 Padraig Gleeson
and/or modifications (and bug fixes) to the contributed stdpSynchan library
489 1 Padraig Gleeson
from the ‘Libraries’ collection at \`http://genesis-sim.org
490 1 Padraig Gleeson
<http://genesis-sim.org>\`*. Also see the GENESIS documentation for
491 1 Padraig Gleeson
‘Creating New Synaptic Objects’. Simpler methods of adding plasticity
492 1 Padraig Gleeson
would be to use the GENESIS ‘hebbsynchan’ or ‘facsynchan’ objects. These
493 1 Padraig Gleeson
have the restriction that they cannot be used with the ‘hsolve’ object, and
494 1 Padraig Gleeson
cannot take advantage of its efficient delivery of spike events.
495 2 Padraig Gleeson
h3. The simulation scripts
496 1 Padraig Gleeson
497 1 Padraig Gleeson
**ACnet2-main.g**, the main simulation script, directly or indirectly includes:
498 2 Padraig Gleeson
**pyr\_4\_asym.p** - The cell parameter file that describes the excitatory pyramidal cells in the network.
499 2 Padraig Gleeson
**pyr\_4\_sym.p** - This file is not used in the scripts, but is offered for those who may want to implement the pyramidal cell model with symmetric compartments instead of asymmetric compartments.
500 2 Padraig Gleeson
**bask.p** - The cell parameter file that describes the inhibitory basket cells in the network.
501 1 Padraig Gleeson
**protodefs.g** - Defines a library of components that are used to create the cells
502 1 Padraig Gleeson
**pyrchans.g** - Defines the functions that create the pyramidal cell channels.
503 1 Padraig Gleeson
**FSchans.g** - Defines the functions that create the basket cell channels.
504 2 Padraig Gleeson
**synapseinfo.g** - Inclusion of this file is optional. Comments in the file tell how to use the function **synapse\_info\* to get information about the connections in a network.
505 2 Padraig Gleeson
**graphics2-5.g\* - Defines functions to create the main GUI of control panel and graphs.
506 2 Padraig Gleeson
**input\_graphics2-5.g** - Provides an additional GUI for setting the array of inputs to the model.
507 2 Padraig Gleeson
**simple\_inputs.g** - This defines the two functions **make\_inputs** and **connect\_inputs** that are used by the main script. **make\_inputs** creates an array of “cells” that mimic the output of auditory thalamic cells . **connect\_inputs** connects the array of of inputs to the network cells.
508 2 Padraig Gleeson
The simplified **ACnet2-batch.g** script does not include the graphics files, and includes a simplified **basic\_inputs.g** script instead of **simple\_inputs.g**.
509 1 Padraig Gleeson
510 2 Padraig Gleeson
h3. Overview of the simulation scripts
511 1 Padraig Gleeson
512 1 Padraig Gleeson
Here are some notes to help you make changes to the default simulation
513 1 Padraig Gleeson
scripts, either by simple edits to the option strings and global variables,
514 1 Padraig Gleeson
or by modifications to the commands and functions that are described
515 1 Padraig Gleeson
below. If you would like to make significant changes, and are new to
516 1 Padraig Gleeson
GENESIS SLI script hacking, it would be useful to look through the \`GENESIS
517 1 Padraig Gleeson
Modeling Tutorial
518 1 Padraig Gleeson
<http://genesis-sim.org/GENESIS/UGTD/Tutorials/genprog/genprog.html>\`*
519 1 Padraig Gleeson
from the GENESIS web site. The section ‘Creating large networks with
520 1 Padraig Gleeson
GENESIS’ provides a tutorial on the construction of a simpler model
521 1 Padraig Gleeson
‘RSnet’, and explains the use of the GENESIS commands for creating networks
522 1 Padraig Gleeson
and setting synaptic weights and delays. For the complete set of tutorials
523 1 Padraig Gleeson
with source code for GENESIS 2.3 and PGENESIS, download the entire package
524 1 Padraig Gleeson
(about 50 MB) from \`http://genesis-sim.org/GENESIS/UGTD.html
525 1 Padraig Gleeson
<http://genesis-sim.org/GENESIS/UGTD.html>\`\_
526 1 Padraig Gleeson
527 1 Padraig Gleeson
The main script ACnet2-main.g is profusely commented, and contains
528 1 Padraig Gleeson
citations for the sources of most parameter values. The script
529 1 Padraig Gleeson
(and ACnet2-batch.g, with fewer options) begins with the definitions
530 1 Padraig Gleeson
of the simulation and output time steps and default run time (1 sec),
531 1 Padraig Gleeson
and a ‘RUNID" string that will be used in the names of the
532 1 Padraig Gleeson
several simulation output files that are generated.
533 1 Padraig Gleeson
then it defines some flags to control which options are used. The
534 1 Padraig Gleeson
more useful ones define the output of the simulation::
535 1 Padraig Gleeson
 int batch = 0 // if (batch) run the default simulation without graphics
536 1 Padraig Gleeson
 int graphics = 1 // display control panel, graphs, optionally net view
537 1 Padraig Gleeson
 int netview = 0 // show network activity view (slow, but pretty)
538 1 Padraig Gleeson
 int netview\_output = 1 // Record network output (soma Vm) to a file
539 1 Padraig Gleeson
 int binary\_file = 1 // if 0, use asc\_file to produce ascii output
540 1 Padraig Gleeson
 // else use disk\_out to produce binary FMT1 file
541 1 Padraig Gleeson
 int write\_asc\_header = 1 // write header information to ascii file
542 1 Padraig Gleeson
 int EPSC\_output = 1 // output Ex\_ex EPS currents to file
543 1 Padraig Gleeson
 int calc\_EPSCsum = 1 // calculate summed excitatory post-synaptic currents
544 1 Padraig Gleeson
With these defaults, the GUI implemented in graphics2-5.g and
545 1 Padraig Gleeson
input\_graphics2-5.g will be used to control the simulation and
546 1 Padraig Gleeson
display results. The network activity view will not be displayed,
547 1 Padraig Gleeson
but the data to generate the display will be output in binary format.
548 1 Padraig Gleeson
These will be the soma Vm of all the cells and the net Excitatory Post
549 1 Padraig Gleeson
Synaptic Current (EPSC) that each pyramidal cell “apical3/AMPA\_pyr”
550 1 Padraig Gleeson
channel receives from other pyramidal cells.
551 1 Padraig Gleeson
These determine the type of connection to be used::
552 1 Padraig Gleeson
 int use\_weight\_decay = 0 // Use exponential decay of weights with distance
553 1 Padraig Gleeson
 int use\_prob\_decay = 1 // Use connection probablility exp(~~r\*r/)
554 1 Padraig Gleeson
 int connect\_network = 1 // Set to 0 for testing with unconnected cells
555 1 Padraig Gleeson
Some network models use a constant connection probability over some
556 1 Padraig Gleeson
region , and then compensate by weighting more
557 1 Padraig Gleeson
distant connections with a lesser weight factor. This model
558 1 Padraig Gleeson
use the more realistic assumptions that the effectiveness
559 1 Padraig Gleeson
of synaptic connections does not appreciably decrease with
560 1 Padraig Gleeson
distance, but connection probability follows a roughly Gaussian
561 1 Padraig Gleeson
decay with distance.
562 1 Padraig Gleeson
You will likely not want to change these::
563 1 Padraig Gleeson
 int hflag = 1 // use hsolve if hflag = 1
564 1 Padraig Gleeson
 int hsolve\_chanmode = 4 // chanmode to use if hflag != 0
565 1 Padraig Gleeson
 int use\_sprng = 1 // Use SPRNG random number generator, rather than default
566 1 Padraig Gleeson
Without hsolve, the simulation will run approximately ten times slower.
567 1 Padraig Gleeson
However, you will not be able to use hsolve if your cell model contains any
568 1 Padraig Gleeson
custom objects or others that are not hsolveable. The default GENESIS 2
569 1 Padraig Gleeson
random number generator does not give an unbiased distribution, and it is
570 1 Padraig Gleeson
better to use the SPRNG random number generator.
571 1 Padraig Gleeson
The next definitions describe the inputs to the model::
572 1 Padraig Gleeson
 str input\_type = “pulsed\_spiketrain” // pulsed spike train input
573 1 Padraig Gleeson
 // str input\_type = “pulsed\_randomspike” // pulsed input from a randomspike
574 1 Padraig Gleeson
 // str input\_type = “MGBv” // input from simulated thalamic cells
575 1 Padraig Gleeson
 str input\_pattern = “row” // input goes to an entire row of cells
576 1 Padraig Gleeson
 // str input\_pattern = “line” // input to specified line of cells within row
577 1 Padraig Gleeson
 // str input\_pattern = “box” // input to a square block of cells
578 1 Padraig Gleeson
The sequence of spikes generated depends on the string ’input\_type’, which
579 1 Padraig Gleeson
can be either “pulsed\_spiketrain” or “pulsed\_randomspike”. The pattern of
580 1 Padraig Gleeson
connections from a member of the “input cell” array to the network cells is
581 1 Padraig Gleeson
determined by string ’input\_pattern’. These options and the ones further
582 1 Padraig Gleeson
below for input\_delay, input\_jitter, spike\_jitter, and input\_spread have
583 1 Padraig Gleeson
been described above in the section ’The input model’.
584 1 Padraig Gleeson
The line::
585 1 Padraig Gleeson
 int seed = 1369497795
586 1 Padraig Gleeson
guarantees that the same set of connections and inputs will be used each
587 1 Padraig Gleeson
time the simulation is run, and to produce the results shown in Beeman
588 1 Padraig Gleeson
. Change it to 0 for new random numbers each time, or to another
589 1 Padraig Gleeson
seed value to explore other configurations.
590 1 Padraig Gleeson
This is followed by some strings that specify the cell parameter files and
591 1 Padraig Gleeson
names for the Ex\_cells and Inh\_cells, and paths to the synaptic
592 1 Padraig Gleeson
conductances for the various locations for synaptic input. It is a simple
593 1 Padraig Gleeson
matter to plug a different set of cell models into this network by changing
594 1 Padraig Gleeson
these. Next come the definitions for the size and spacing of the two grids
595 1 Padraig Gleeson
of cells::
596 1 Padraig Gleeson
 int Ex\_NX = 48; int Ex\_NY = 48
597 1 Padraig Gleeson
 int Inh\_NX = 24; int Inh\_NY = 24
598 1 Padraig Gleeson
 float Ex\_SEP\_X = 40e-6
599 1 Padraig Gleeson
 float Ex\_SEP\_Y = 40e-6
600 1 Padraig Gleeson
 float Inh\_SEP\_X = 2\*Ex\_SEP\_X // There are 1/4 as many inihibitory neurons
601 1 Padraig Gleeson
 float Inh\_SEP\_Y = 2\*Ex\_SEP\_Y
602 1 Padraig Gleeson
and default values of the synaptic conductances and their time constants.
603 1 Padraig Gleeson
After definitions of many functions for setting paramwter values come the important functions
604 1 Padraig Gleeson
for setting up the network. The definition of::
605 1 Padraig Gleeson
 function planarconnect\_probdecay
606 1 Padraig Gleeson
is worth studying, as it can be modified to change the distribution and
607 1 Padraig Gleeson
probabilities of connections beteen cells. It is indirectly called by function
608 1 Padraig Gleeson
609 1 Padraig Gleeson
**connect\_cells**, which sets these arguments to **planarconnect\_probdecay**.
610 1 Padraig Gleeson
This is followed by other functions to set weights and delays.
611 1 Padraig Gleeson
The functions for file output of results are worth studying to understand
612 1 Padraig Gleeson
the format of the files, and to see how ’findsolvefield’ is used with
613 1 Padraig Gleeson
’hsolve’ to access data values.
614 1 Padraig Gleeson
The ’Main simulation section’ creates, the cell prototypes, creates the
615 1 Padraig Gleeson
unconnected network of Ex\_cells and Inh\_cells, and sets a number of
616 1 Padraig Gleeson
paramters. The statements following ’if’ are a guide to using
617 1 Padraig Gleeson
hsolve with a network simulation. Note the network is created first, a
618 1 Padraig Gleeson
solver is created for only on cell of each type, and then duplicated for
619 1 Padraig Gleeson
the other cells. There is more information on tricks with hsolve in the
620 1 Padraig Gleeson
hsolve documentation and in the advanced tutorial \`Simulations with GENESIS
621 1 Padraig Gleeson
using hsolve <http//:genesis-sim.org/GENESIS/UGTD/Tutorials/advanced-tutorials>\`\_.
622 1 Padraig Gleeson
After ’simple\_inputs.g’ is included, the functions **make\_inputs** and
623 1 Padraig Gleeson
624 1 Padraig Gleeson
**connect\_inputs** are called. Study this file if you would like to explore
625 1 Padraig Gleeson
alternate input models. Note that hsolve allows you to create connections
626 1 Padraig Gleeson
and change weights and delays **after** hsolve has been set up.
627 1 Padraig Gleeson
After some more parameter setting and optional inclusion of the graphics
628 1 Padraig Gleeson
GUIs and outputs, the program ends with::
629 1 Padraig Gleeson
 if
630 1 Padraig Gleeson
 // set up the inputs for the default simulation with two inputs:
631 1 Padraig Gleeson
 // Row 12~~ 220Hz, Row 36 - 440 Hz
632 1 Padraig Gleeson
 set\_frequency 0.0 // No background excitation
633 1 Padraig Gleeson
 setfield /MGBv[5]/spikepulse level1 1.0
634 1 Padraig Gleeson
 setfield /MGBv[5]/spikepulse/spike abs\_refract {1.0/220.0}
635 1 Padraig Gleeson
 setfield /MGBv[29]/spikepulse level1 1.0
636 1 Padraig Gleeson
 setfield /MGBv[29]/spikepulse/spike abs\_refract {1.0/440.0}
637 1 Padraig Gleeson
 reset
638 1 Padraig Gleeson
 reset
639 1 Padraig Gleeson
 step\_tmax
640 1 Padraig Gleeson
 end
641 1 Padraig Gleeson
To run the simulation in batch mode, set the options strings::
642 1 Padraig Gleeson
 int batch = 1
643 1 Padraig Gleeson
 int graphics = 0
644 1 Padraig Gleeson
You may set the ’binary\_file’ flag as you like, and edit the ‘setfield’
645 1 Padraig Gleeson
commands above to produce the desired input.
646 1 Padraig Gleeson
647 2 Padraig Gleeson
### References
648 1 Padraig Gleeson
649 2 Padraig Gleeson
Beeman D (2013) A modeling study of cortical waves in primary auditory cortex. BMC Neuroscience, 14(Suppl 1):P23 doi:10.1186/1471-2202-14-S1-P23
650 2 Padraig Gleeson
[http://www.biomedcentral.com/1471-2202/14/S1/P23](http://www.biomedcentral.com/1471-2202/14/S1/P23)
651 1 Padraig Gleeson
652 2 Padraig Gleeson
Bower JM, Beeman D (1998, 2003) The Book of GENESIS: Exploring Realistic Neural Models with the General NEural SImulation System, second edn. Springer-Verlag, New York. Free internet edition available at: http://genesis-sim.org/GENESIS/iBoG/iBoGpdf
653 1 Padraig Gleeson
654 2 Padraig Gleeson
Bush PC, Sejnowski TJ (1993) Reduced compartmental models of neocortical pyramidal cells, J Neurosci Methods 46:159-166
655 1 Padraig Gleeson
656 2 Padraig Gleeson
Cornelis H, Coop AD, Bower JM (2012) A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture. PLoS ONE 7(1): e28956. doi:10.1371/journal.pone.0028956
657 1 Padraig Gleeson
658 2 Padraig Gleeson
Hefti BJ, Smith PH (2000) Anatomy, physiology, and synaptic responses of rat layer V auditory cortical cells and effects of intracellular GABAA blockade. J Neurophysiol 83:2626-2638.
659 1 Padraig Gleeson
660 2 Padraig Gleeson
Kral A, Tillein J, Hubka P, Schiemann D, Heid S, Hartmann R, Engel AK (2009) Spatiotemporal Patterns of Cortical Activity with Bilateral Cochlear Implants in Congenital Deafness. J Neurosci 29::811-827.
661 1 Padraig Gleeson
662 2 Padraig Gleeson
Levy RB, Reyes AD (2011) Coexistence of Lateral and Co-Tuned Inhibitory Configurations in Cortical Networks. PLoS Comput Biol 7(10): e1002161. doi:10.1371/journal.pcbi.1002161
663 1 Padraig Gleeson
664 2 Padraig Gleeson
Levy RB, Reyes AD (2012) Spatial profile of excitatory and inhibitory synaptic connectivity in mouse primary auditory cortex, J Neurosci 32:5609-5619.
665 1 Padraig Gleeson
666 2 Padraig Gleeson
Nowak, LG, Azouz R, Sanchez-Vives MV, Gray CM, McCormick DA (2003) Electrophysiological classes of cat primary visual cortical neurons in vivo as revealed by quantitative analyses. J Neurophysiol 89: 1541-1566.
667 1 Padraig Gleeson
668 2 Padraig Gleeson
Roullier EM, de Ribaupierre Y, de Ribaupierre F (1979) Phase locked responses to low frequency tones in the medial geniculate body. Hearing Research 1:213-226.
669 1 Padraig Gleeson
670 2 Padraig Gleeson
Rule M, Stoffregen M, Ermentrout B (2011) A Model for the Origin and Properties of Flicker-Induced Geometric Phosphenes. PLoS Comput Biol. 7(9): e1002158. doi: 10.1371/journal.pcbi.1002158
671 1 Padraig Gleeson
672 2 Padraig Gleeson
Salin PA, Prince DA (1996) Electrophysiological mapping of GABAA receptor-mediated inhibition in adult rat somatosensory cortex. J Neurophysiol 75:1589-600.
673 1 Padraig Gleeson
674 2 Padraig Gleeson
Shlosberg D, Abu-Ghanem Y, Amitai Y (2008) Comparative properties of excitatory and inhibitory inter-laminar neocortical axons. Neuroscience 155:366-373.
675 1 Padraig Gleeson
676 2 Padraig Gleeson
Song S, Miller KD, Abbott LF (2000) Competitive Hebbian learning through spike-timing-dependent synaptic plasticity. Nat Neurosci 3: 919-926.
677 1 Padraig Gleeson
678 2 Padraig Gleeson
Steriade M, Timofeev I, Grenier F (2001) Natural Waking and Sleep States: A View From Inside Neocortical Neurons J Neurophysiol 85: 1969-1985.
679 1 Padraig Gleeson
680 2 Padraig Gleeson
Traub RD, and Robert K. S. Wong RKS, Miles R, Michelson H (1991) A Model of a CA3 Hippocampal Neuron Incorporating Voltage-Clamp Data on Intrinsic Conductances J Neurophysiol 66: 635-650.
681 1 Padraig Gleeson
682 2 Padraig Gleeson
Vanier MC, Bower JM (1999) A comparative survey of automated parameter-search methods for compartmental neural models. J Comput Neurosci 7: 149-171.
683 1 Padraig Gleeson
684 2 Padraig Gleeson
Vierling-Claassen D, Siekmeier P, Stufflebeam S, Kopell N (2008) Modeling GABA alterations in schizophrenia: a link between impaired inhibition and altered gamma and beta range auditory entrainment. J Neurophysiol 9:2656-2671. doi: 10.1152/jn.00870.2007
685 1 Padraig Gleeson
686 2 Padraig Gleeson
Yuan K, Shih JY, Schreiner CE, Winer JA (2008) GABAergic network differences between auditory cortex areas. Unpublished data from Soc Neurosci Abstr poster 67.12.