Cortical Populations

The population will all be of the same type, for example, “ux01” or “ui01” for generic excitatory and inhibitory units. This will determine how a units inputs are processed to produced its output.

The pre-computed (PC) inputs (from ON and OFF LGN cells) include the scale, bias, and noise for ifc_ex_ params. The IFC params for inhibitory scale, bias, and noise are currently not used, however, perhaps the bias and the noise could be used to form a PC inhibitory conductance?

The PC inputs are combined with the dynamic (D) inputs in the ‘pop_util_deriv_01’ routine.

Some excitatory units will have two compartments. The transfer resistance is set to be 15.4 nS = 65 MOhm (Larkum et al. 2004, Cerebral Cortex, used 65 MOhm).

  • ifc_ex_g_tran - (0 default) transfer conductance. If > 0, there will be a dendritic compartment, and NMDA can be used. If 0, then there will be no dendritic compartment, and no NMDA can be used.

Each excitatory cell has the following conductances:

  • AMPA - EPSC is given by the following parameters for alpha functions:
  • pop_ex_psc_tau_ex - onto ex cells
  • pop_ex_psc_amp_ex - This will set the amplitude of the AMPA conductance, and that for NMDA will be scaled according to ‘nmda_frac’.
  • NMDA - (from Lauritzen et al., 2001; see also Carmignoto and Vicini 1992; Lester et al. 1990). Channels were 35.5% open at spike threshold, 52.5mV (Krukowski and Miller, 2001). Used 90% NMDA integrated current (Krukowski and Miller, 2001).

To model the NMDA unitary conductance shape of Lauritzen et al. (2001), three alpha-functions are summed (see ‘COMPARE_ALPHA_DBL_EXP’ in ‘test0.c’). The parameters are:

  • nmda_alpha_1 - 0.09 (time to peak = 1/alpha msec)
  • nmda_alpha_2 - 0.025
  • nmda_amp_2 - 0.8
  • nmda_alpha_3 - 0.008
  • nmda_amp_3 - 0.1

The shape of this function is then scaled so that the fraction of integrated current (Krukowski and Miller, 2001, used 90%), NMDA/AMPA, is ‘nmda_frac’ for a cell clamped at the spike threshold. A separate value, ‘lgn_nmda_frac’ specifies the fraction for thalamocortical synapses.

Apparently, increasing ‘lgn_nmda_frac’ adds to the NMDA input but keeps the same amount of AMPA input (as opposed to trying to keep the total excitatory conductance equal while only adjusting the relative fraction). Thus, changing the NMDA fraction from say 80% to 0 will reduce the total amount of excitatory input.

The voltage dependence of the NMDA is given by Jahr and Stevens (1990) Equation 4a, whereas their Eqn 4c does not seem to be a very good approximation.

  • LEAKAGE
  • ADAPTATION

Excitatory units will recieve inputs from the LGN via AMPA/NMDA excitatory conductances. Inhibitory units will recieve only AMPA input. The precomputed LGN NMDA input has the same scaling as the AMPA input, but the bias and the noise are added only to the AMPA input because AMPA and NMDA are ultimately added together (after NMDA is scaled as a function of V).

Thomson and Deuchars, 1994 cite Salt and Herring (1991) for the idea that LGN->CTX_E is non-NMDA.

Background input rates

Poisson activity can be added to the excitatory and inhibitory input conductances for the cortical units. The following examples show how to set the background rates to a single value for the entire population (“ex” here):

  • pop_ex_bg_ex_rate [rate] - (0.0 default) - spikes/sec arriving

    via the “ex” conductance

  • pop_ex_bg_ex_amp [amp] - (1.0 default) - EPSG amplitude relative to

    pop_ex_psc_amp_ex

  • pop_ex_bg_in_rate [rate] - (0.0 default) - spikes/sec arriving

    via the “in” conductance

  • pop_ex_bg_in_amp [amp] - (1.0 default) - EPSG amplitude relative to

    pop_ex_psc_amp_in

Correlated activity between a pair of cells (or several non-overlapping pairs) can be achieved using “CUSTOMIZE” commands.

Connectivity - <input>

Connections between populations of cells are specified using the input object. The following types of inputs exist:

  • regular - inputs between cortical populations

  • lgn_on_off - inputs from LGN population<br> (See section below on LGN to CTX).

  • bg - background spikes

  • ex_rate [rate] - (0.0 default) - spikes/sec arriving

    via the “ex” conductance

  • ex_amp [amp] - (1.0 default) - EPSG amplitude relative to

    pop_ex_psc_amp_ex

  • in_rate [rate] - (0.0 default) - spikes/sec arriving

    via the “in” conductance

  • in_amp [amp] - (1.0 default) - EPSG amplitude relative to

    pop_ex_psc_amp_in

Example:

<input>
  type       bg     # Background input spikes
  ex_rate   100.0   # spikes/s
  ex_amp      4.0   # relative to _psc_amp_ex
  in_rate   200.0   # spikes/s
  in_amp      2.0   # relative to _psc_amp_in
</input>

.

Writing and Reading from files

Some patterns of synaptic connections specified by &lt;input&gt; are time consuming to compute, and are best computed once and then read from a file during repeated use of the model.

Some input types can have associated connectivity files (.conn), which allow connection patterns to be stored to be read later. This is configured using the top-level parameters:

  • mod_conn_rw - “read”, “write”, or “none” (default)
  • mod_conn_dir_r - directory path prefix for file_read
  • mod_conn_dir_w - directory path prefix for file_write

Set mod_conn_rw to “write” or “read” to write or read connections, respectively. You cannot do both at once. Set it to “none” (the default), to do neither.

In addition to setting these top-level values, the following must be used within any relevant model inputs:

<input>
  type    regular
  ...
  file_write conn/local/e2i.conn   # Writes only if 'mod_conn_rw' is "write"
  file_read  conn/global/e2i.conn  # Reads only if 'mod_conn_rw' is "read"
  ...
</input>

The value of file_write is added to any prefix specified using mod_conn_dir_w, and likewise with file_read. In this example, connections would be written to one directory by setting mod_conn_rw to “write” and then read back from a different directory with the “read” setting.

Connectivity - LGN to CTX

The routine mod_conn_layer_gabor_map is called to set the connections from the LGN to cortical cells. Currently, this routine calls by default the routine mod_conn_gabor_02 to pick the specific connections.

mod_conn_gabor_02

  • Create a 2D Gabor function, called p.
  • Take the absolute value of p
  • Scale p to have a maximum value of 1.
  • Call the routine mod_conn_meth_02, sending p

Make a set, G, of all grid points for which p is greater than eps (a small probability value). Choose at random with replacement from G the specified number of inputs. If any input is chosen more times than allowed (specified by ..._maxrep), then disregard this input, and choose another in its place.

Gabor function params

  • sf 1.00 # (cyc/deg) SF
  • sd_orth 0.25 # (deg) Gaussian SD for Gabor RF, orthog to ori
  • sd_par 0.43 # (deg) Gaussian SD for Gabor RF, parallel to ori
  • phseed 6577 # for chosing phase (random in 1 of 4 phases)
  • seed 1777 # for chosing DOG sampling
  • nsamp 200 # number of samples to select as inputs
  • maxrep 1 # number of times any one connection can be sampled
  • eps 0.05 # no connections where profile < this frac of max
  • balance 1 # 0-do not balance ON/OFF, 1-balance ON/OFF
  • cell_condition all # “all”, “0”, “1”, “2” ... E.g., cone type
Gabor function params - phase
  • phtype 0 # 0-constant for all in z-axis, 1-regular steps
  • ph0 0 # initial phase (phtype 1)
  • phstep 90 # step by this phase (phtype 1)

Connectivity - CTX I to E (and E-E, and I-I)

The connections from inhibitory to excitatory cortical cells are made in a correlation-based fashion. There are several algorithms for doing this, and the algorithm can be selected using the parameter conn_i2e_algorithm below.

Parameters

  • conn_i2e_algorithm - values are listed below (0 is default)

    • 0 (mod_conn_corr_on_off) - pointwise correlation

    • 1 (mod_conn_corr_on_off_01) - convolve sampling points

      (1’s for ON, and -1’s for OFF) with the center Gaussian of the DOG to create masks for both E and I RFs. The correlation metric is the sum of the products of the RF masks. The distribution of all negative values is formed. The values are scaled so that the mean plus 2 SDs is set to have weight 1. Any higher values are set to 1. Any values lower than conn_i2e_minw are set to 0.

  • conn_i2e_minw - Do not make synaptic connections if the weight would be below this value. This can significantly lower the number of I->E contacts, and may speed up the model.

  • conn_i2e_prob - Of the set of valid weights, choose connections with this probability (Default 1.0).

  • conn_i2e_seed - Randomization seed for i2e connections, used only when conn_i2e_prob < 1.0 (Default 1880).

  • conn_e2e_algorithm - (-1 default, no connections) 1=connections

  • conn_e2e_... - See parameters above for conn_i2e_...

  • conn_e2i_algorithm - (-1 default, no connections) 1=connections

  • conn_e2i_... - See parameters above for conn_i2e_...

Connectivity - “distrib”

The “distrib” object defines the distribution of connections between cells in layers. Below is a list of values that can be used for the value of type within the distrib.

NOTE there appears to be an inconsistency in the placement of the file parameter, because it appears for some ‘distrib’ types below, but not for ‘ori_dist’ (where it apparently appears in the ‘input’ object. This should be resolved.

ori_dist

  • cdist - (um) SD of Gaussian weighting function (max is 1) in orientation. Set to any negative value for SD infinity (i.e., no distance constraint). [-1.0 default]
  • cori - (deg) SD of Gaussian weighting function (max is 1) in cortical distance. Set to any negative value for SD infinity (i.e., no orientation constraint). [-1.0 default]
  • ori_mean_flag - 0 - [default] orientation of the post-syn cell is the reference - 1 - add an offset to the orientation of the post-syn cell - 2 - use a fixed, absolute orientation as the reference
  • cori_offset - (deg) used only if ori_mean_flag is 1
  • cori_mu - (deg) used only if ori_mean_flag is 2
  • minw - (0..1) make no synapses with weights below this threshold [0.0 default]
  • normw - (synapses) Normalize the total of all weights to this number of synapses [0.0, default, no normalization]
  • prob - () probability of making a connection [1.0 default]
  • seed - (non-zero int) randomization seed for applying ‘prob’ [23138 default]
  • self - (0/1) 0-disallow connection to self [1 default]

corr_lgn

  • file - (file name) read inputs from file, ignoring parameters here. Comment this out to disable.
  • algorithm - (0,1,...) strategy for picking random connections. Only ‘1’ works now. [1 default]
  • minw - (0..1) make no synapses with weights below this threshold [0.0 default]
  • cdist - (um) Cutoff distance - no synapses beyond this distance; ignored if less than or equal to zero [0 default].
  • prob - () probability of making a connection [1.0 default]
  • seed - (non-zero int) randomization seed for applying ‘prob’ [23138 default]
  • corr_sign - (1) sign of correlation: 1-positive, -1-negative [1 default].
  • normw - (synapses) Normalize the total of all weights to this number of synapses [0.0, default, no normalization]

gabor_mask

  • file - (file name) read inputs from file, ignoring parameters here. Comment this out to disable.
  • mask_pre_pop - name of LGN layer, e.g., ‘rgc’ or ‘lgn’ [exit]
  • sf - (cyc/deg) [exit]
  • sd_orth - (deg) [exit]
  • sd_par - (deg) [exit]
  • cdist - () [exit]
  • minw - () [exit]
  • seed - () [exit]
  • prob - () [exit]
  • normw - () [exit]

binoc_mask

This implements a Gabor mask like ‘gabor_mask’, but allows binocular inputs with a disparity.

  • file - (file name) read inputs from file, ignoring parameters here. Comment this out to disable.
  • disp_x - (pix) [0.0]
  • disp_y - (pix) [0.0]
  • sf - (cyc/deg) [exit]
  • sd_orth - (deg) [exit]
  • sd_par - (deg) [exit]
  • cdist - () [exit]
  • minw - () [exit]
  • seed - () [exit]
  • prob - () [exit]
  • normw - () [exit]