Edit History

ACnet2-docs » History » Version 1

Padraig Gleeson, 30 Apr 2014 14:57

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