cnmodel.synapses package

cnmodel.synapses.exp2_psd

class cnmodel.synapses.exp2_psd.Exp2PSD(section, terminal, weight=0.01, loc=0.5)[source]

Bases: cnmodel.synapses.psd.PSD

Simple double-exponential PSD from Neuron (fast).

Parameters:
  • section (Section) – The postsynaptic section in which to insert the receptor mechanism.
  • terminal (Terminal) – The presynaptic Terminal instance
  • weight
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
get_vector(var)[source]

Return an array from a previously recorded vector.

Parameters:
  • receptor (str) – May be ‘ampa’ or ‘nmda’
  • var (str) – Allowed parameters are ‘i’ (current), ‘g’ (conductance), and ‘Open’ (open probability).
  • i (int, default=0) – The integer index of the psd (if this is a multi-site synapse)
n_psd

The number of postsynaptic densities represented by this object.

record(*args)[source]

Create a new set of vectors to record parameters for each release site.

Parameters:*args – Allowed parameters are ‘i’ (current), ‘g’ (conductnace), and ‘Open’ (open probability).

cnmodel.synapses.glu_psd

class cnmodel.synapses.glu_psd.GluPSD(section, terminal, ampa_gmax, nmda_gmax, gvar=0, eRev=0, ampa_params=None, loc=0.5)[source]

Bases: cnmodel.synapses.psd.PSD

Glutamatergic PSD with ionotropic AMPA / NMDA receptors

This creates a set of postsynaptoc NMDA and AMPA receptors, one pair per terminal release site. Receptors are connected to the XMTR range variable of the terminal release mechanisms.

Parameters:
  • section (Section instance) – The postsynaptic section into which the receptor mechanisms should be attached
  • terminal (Terminal instance) – The presynaptic terminal that provides input to the receptor XMTR variables.
  • ampa_gmax (float) – Maximum conductance of AMPARs
  • nmda_gmax (float) – Maximum conductance of NMDARs
  • gvar (float) – Coefficient of variation for randomly adjusting ampa_gmax and nmda_gmax. Note that ampa and nmda maximum conductances will be scaled together, but the scale values will be selected randomly for each pair of receptor mechanisms.
  • eRev (float) – Reversal potential to use for both receptor types.
  • ampa_params (dict) – Dictionary containing kinetic parameters for AMPA mechanism. Suggested keys are Ro1, Ro2, Rc1, Rc2, and PA.

Notes

ampa_gmax and nmda_gmax should be provided as the maximum measured conductances; these will be automatically corrected for the maximum open probability of the receptor mechanisms.

GluPSD does not include a cleft mechanism because AMPATRUSSELL implements its own cleft and NMDA_Kampa is slow enough that a cleft would have insignificant effect.

get_vector(receptor, var, i=0)[source]

Return an array from a previously recorded vector.

Parameters:
  • receptor (str) – May be ‘ampa’ or ‘nmda’
  • var (str) – Allowed parameters are ‘i’ (current), ‘g’ (conductance), and ‘Open’ (open probability).
  • i (int, default=0) – The integer index of the psd (if this is a multi-site synapse)
n_psd

The number of postsynaptic densities represented by this object.

record(*args)[source]

Create a new set of vectors to record parameters for each release site.

Parameters:*args – Allowed parameters are ‘i’ (current), ‘g’ (conductance), and ‘Open’ (open probability).

cnmodel.synapses.gly_psd

class cnmodel.synapses.gly_psd.GlyPSD(section, terminal, params=None, gmax=1000.0, psdType='glyfast', message=None, debug=False, gvar=0, eRev=-70, loc=0.5)[source]

Bases: cnmodel.synapses.psd.PSD

Glycinergic PSD

This creates postsynaptoc glycinergic receptors. Receptors are connected to the XMTR range variable of the terminal release mechanisms.

Parameters:
  • section (Section) – The postsynaptic section in which to insert the receptor mechanism.
  • terminal (Terminal) – The presynaptic Terminal instance
  • params (dict, default=None) – Dictionary of kinetic parameters to override {‘KV’, ‘KU’, ‘XMax’}
  • gmax (float, default=1000.) – maximal conductance unless overridden by values used in psdType
  • psdType (str, default='glyfast') – Kinetic model of receptors: possiblities are: glyfast, glyslow, glyGC, glya5, or glyexp, as defined in the mechanisms.
  • message (str, default: None) – placeholder for a message to be printed out when testing.
  • debug (bool, default=False) – enable printing of internal debugging messages.
  • gvar (float, default=0) – coefficient of variation of the amplitudes for each of the release zones.
  • eRev (float, default=-70) – “Reversal” potential, or Nernst potential for ions through the receptor channel.
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
template_Gly_PSD_State_GC(debug=False, nReceptors=2, psdtype=None, message=None, loc=0.5)[source]

Template to build PSD using state model of glycine receptors, model glyaGC.mod

Parameters:
  • nReceptors (int, default=2) – number of sites to implement
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
  • psdtype (str, default=None) – resets the psd type to have slow kinetics if ‘glyslow’. Any other string defaults to predefined kinetics in the mod file.
  • parameters (Unused) – cellname, debug, message, psdtype.
template_Gly_PSD_State_Gly6S(debug=False, nReceptors=2, psdtype=None, message=None, loc=0.5)[source]

Template to build PSD using state model of glycine receptors, model gly6s.mod

Parameters:
  • nReceptors (int, default=2) – number of sites to implement
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
  • psdtype (str, default=None) – resets the psd type to have slow kinetics if ‘glyslow’. Any other string defaults to kinetics in the mod file.
  • parameters (Unused) – cellname, debug, message.
template_Gly_PSD_State_Glya5(debug=False, nReceptors=2, psdtype=None, message=None, loc=0.5)[source]

Template to build PSD using state model of glycine receptors, model glya5.mod

Parameters:
  • nReceptors (int, default=2) – number of sites to implement
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
  • parameters (Unused) – cellname, debug, message, psdtype.
template_Gly_PSD_State_PL(debug=False, nReceptors=2, cellname=None, psdtype=None, message=None, loc=0.5)[source]

Template to build PSD using state model of glycine receptors, model glypl.mod

Parameters:
  • nReceptors (int, default=2) – number of sites to implement
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
  • psdtype (str, default=None) – resets the psd type to have slow kinetics if ‘glyslow’. ‘glyfast’ forces fast kinetics. Any other string defaults to the default kinetics in the mod file.
  • parameters (Unused) – cellname, debug, message,.
template_Gly_PSD_exp(debug=False, nReceptors=2, cellname=None, message=None, loc=0.5)[source]

Template to build simple glycinergic exp-style PSD

Parameters:
  • nReceptors (int, default=2) – number of sites to implement
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
  • parameters (Unused) – cellname, debug, message.

cnmodel.synapses.psd

class cnmodel.synapses.psd.PSD(section, terminal)[source]

Bases: object

Base class for postsynaptic density mechanisms, possibly including cleft. May accept either NetCon or pointer inputs from a Terminal, and directly modifies the membrane potential and/or ion concentrations of the postsynaptic cell.

Parameters:
  • section (NEURON section) – Set the section in the postsynaptic cell that the terminal is attached to.
  • terminal (Synapse) –
cell

The cell this PSD is attached to.

section

The cell section this PSD is attached to.

terminal

The presynaptic terminal connected to this PSD.

cnmodel.synapses.simple_terminal

class cnmodel.synapses.simple_terminal.SimpleTerminal(pre_sec, target_cell, spike_source=None, loc=0.5)[source]

Bases: cnmodel.synapses.terminal.Terminal

Simple terminal using netcon.

Parameters:
  • pre_sec – The presynaptic section that is monitored for spikes. The voltage in this section is monitored to trigger the postsynaptic conductance as the spike source
  • spike_source – Overrides the pre_sec as the spike source for this terminal.
  • terminal – The presynaptic Terminal instance
  • loc (float, default=0.5) – Position on the postsynaptic section to insert the mechanism, from [0..1].
connect(post, weight)[source]

Connect this terminal to a postsynaptic cell section The synaptic delay is 0.5 msec, and the presynaptic action potential threshold is -20 mV.

Parameters:
  • post
  • weight (float) – Strength of the connection

cnmodel.synapses.stochastic_terminal

class cnmodel.synapses.stochastic_terminal.Params(**kwds)[source]

Bases: object

class cnmodel.synapses.stochastic_terminal.StochasticTerminal(pre_sec, target_cell, nzones=1, multisite=True, message=None, type='lognormal', identifier=0, stochastic_pars=None, calcium_pars=None, delay=0, debug=False, select=None, spike_source=None, dep_flag=1)[source]

Bases: cnmodel.synapses.terminal.Terminal

Axon terminal with multi-site sctochastic release mechanism.

This routine creates a (potentially) multisite synapse using a NEURON mod file with:
  • A MultiSiteSynapse release mechanism that includes stochastic release, with a lognormal release latency distribution. The Facilitation and Depression of release are governed by parameters obtaine from fitting the Dittman-Kreitzer-Regher (DKR) model (J Neurosci. 2000 Feb 15;20(4):1374-85.) to experimental data at various frequencies.
  • A “cleft” mechanism (models diffusion of transmitter). Note that the cleft is inserted as part of the presynaptic section, but is not connected to the postsynaptic side yet.

Each release site is stochastically independent, but all sites within a terminal are drive by the same presynaptic action potentials.

Turning off the depression and facilitation in the kinetic portion of the model substantially decreases the time the terminal mechanism takes to run.

Parameters:
  • pre_sec (section) – The NEURON section where the synaptic mechanisms should be inserted.
  • target_cell (Cell) – The target cell object that the synapse will innervate.
  • nzones (int) – The number of activate zones to insert into the section.
  • multisite (bool, default: True) – A flag that determines whether the terminal actually creates multiple release zones (True) or just creates a single release zone that varies its amplitude based on the depression/facilitation state.
  • message (str) – A message to print when instantiating (mostly for verification of code flow).
  • type (str (default: 'lognormal')) – ‘lognormal’ sets the release event latency distribution to use a lognormal function. Currently, no other function is supported.
  • identifier (int (default: 0)) – An identifier to associate with these release sites so we can find them later.
  • stochastic_pars (dict (default: None)) – A dictionary of parameters (Param class) used to specifiy the stochastic behavior of this site, including release latency, stdev, and lognormal distribution paramaters
  • calcium_pars (dict (default: None)) – A dictionary of parameters (Param class) to determine the calcium channels in this section. If None, then no calcium channels are inserted; otherwise, a P-type calcium conductance and a dynamic mechanism are inserted, and their conductance is set.
  • delay (float (default: 0)) – Delay time in msec from action potential until transmitter release for this terminal.
  • debug (bool (default: False)) – Flag to print stuff out while debugging.
  • spike_source (section (default: None)) – The input spike source to use in net con - default is to use pre_sec when set to None.
  • dep_flag (int (default: 1)) – Set to 1 for depression mechanism (slows computation), 0 to turn off the depression calculations
Returns:

the list contains the terminal, the relsites, and the list of cleft mechanisms:

  • terminal: this is the pointer to the terminal section that was inserted (same as pre_sec if it was specified)
  • relsite: a list of the nzones release sites that were created
  • cleft: a list of the nzones cleft mechanisms that were created.

Return type:

list

bushy_ipsc_average()[source]

Facilitation/Depression parameters for DKR model for IPSCs onto bushy cells. IPSCs were derived from stimulation of the dorsal cochlear nucleus, and so represent the glycinergic synapses from tuberculoventral neurons. Data for the kinetcs are the average of 16 bushy cells. The individual fits were compiled, and an average computed for just the 100 Hz data across the individual fits. This average was then fit to the DKR model (also see Matthew Xu-Friedman’s papers). The individual cells show a great deal of variability, from straight depression, to mixed depression/facilitaiton, to facilation alone. This set of parameters generates a weak facilitation followed by depression back to baseline.

There are other data sets in the source that are commented out.

bushy_ipsc_single(select=None)[source]

Facilitation/Depression parameters for DKR model for IPSCs onto 3 individual bushy cells. IPSCs were derived from stimulation of the dorsal cochlear nucleus, and so represent the glycinergic synapses from tuberculoventral neurons.

Parameters:select (int, default=None) –

select which cell’s measured kinetics will be used:

0: Use average 1: use data from 30aug08f 2: select = 2, use data from 30aug08h 3: select = 3, use data from 31aug08b (single cell, clean dataset)

setDF(target_cell, synapsetype, select=None)[source]

Set the facilitation/depression parameters for the multisite release model. The parameters used here were obtained from an optimized fit of the DKR model to stimulus and recovery data for the auditory nerve synapses onto bushy and T-stellate cells at 100, 200 and 300 Hz (simultaneous fitting), for times out to about 0.5 - 1.0 second. Data were collected by Dr. Ruili Xie and Dr. Yong Wang. Fitting by Paul Manis.

Parameters:
  • target_cell (NEURON section) – Define the target cell so that the correct release kinetics are used
  • synapsetype (str) – String defining the type of synapse: ‘ipsc’ or ‘epsc’
  • select (str (default: None)) – Select kinetcs from a particular example cell.
setPsdType(target_cell, select=None)[source]

Assign a postsynpatic density type - selection of receptors to be associated with the presynaptic terminal.

Parameters:
  • target_cell (NEURON section) – Define the target cell so that the correct PSD is inserted
  • select (str) – Not used in current implementation.
set_params(**params)[source]

Set arbitrary parameters on the release mechanism.

Parameters:**params (dict) – dictionary of parameters to set on the release mechanism.
stellate_ipsc()[source]

Facilitation/Depression parameters for DKR model for IPSCs onto stellate cells. IPSCs were derived from stimulation of the dorsal cochlear nucleus, and so represent the glycinergic synapses from tuberculoventral neurons. Data is average of 3 cells studied with recovery curves and individually fit, at 100 Hz.

cnmodel.synapses.synapse

class cnmodel.synapses.synapse.Synapse(pre_cell, pre_opts, post_cell, post_opts, type='multisite')[source]

Bases: object

Encapsulates a synaptic connection between two cells.

Instances of this class are created by calling Cell.connect().

cnmodel.synapses.terminal

class cnmodel.synapses.terminal.Terminal(section)[source]

Bases: object

Base class for axon terminals. A terminal has a single postsynaptic neuron, but may have multiple release zones. It defines a release mechanism with a NetCon input (triggering from presynaptic voltage or calcium level) and either NetCon or pointer output for driving a PSD.

Parameters:section (NEURON section) – Set the section in the postsynaptic cell that the terminal is attached to.
cell

The cell this terminal is attached to.

section

The cell section this terminal is attached to.