Role of afferent-hair cell connectivity in determining spike train regularity (Holmes et al 2017)

 Download zip file 
Help downloading and running models
Accession:241240
"Vestibular bouton afferent terminals in turtle utricle can be categorized into four types depending on their location and terminal arbor structure: lateral extrastriolar (LES), striolar, juxtastriolar, and medial extrastriolar (MES). The terminal arbors of these afferents differ in surface area, total length, collecting area, number of boutons, number of bouton contacts per hair cell, and axon diameter (Huwe JA, Logan CJ, Williams B, Rowe MH, Peterson EH. J Neurophysiol 113: 2420 –2433, 2015). To understand how differences in terminal morphology and the resulting hair cell inputs might affect afferent response properties, we modeled representative afferents from each region, using reconstructed bouton afferents. ..."
Reference:
1 . Holmes WR, Huwe JA, Williams B, Rowe MH, Peterson EH (2017) Models of utricular bouton afferents: role of afferent-hair cell connectivity in determining spike train regularity. J Neurophysiol 117:1969-1986 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Axon;
Brain Region(s)/Organism: Turtle vestibular system;
Cell Type(s): Vestibular neuron; Turtle vestibular neuron;
Channel(s): I A; I h; I K; I K,Ca; I L high threshold; I M; I Na,t; I_KD;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potentials; Activity Patterns;
Implementer(s): Holmes, William [holmes at ohio.edu];
Search NeuronDB for information about:  I Na,t; I L high threshold; I A; I K; I M; I h; I K,Ca; I_KD;
COMMENT
Ribbon synapse version 1

activation follows Poisson rate (atau) time constant
alpha(t) = t/tau * exp( -t/tau )

ENDCOMMENT

VERBATIM
/* defined in random.mod */
double du_dev0();
double dexp_dev(double);
int igeom_dev(double);
ENDVERBATIM


NEURON {
  POINT_PROCESS 	ribbon1
  RANGE 		i, del, xp, yp, zp, dist, tau, sw
  NONSPECIFIC_CURRENT 	i
}

PARAMETER {
  del	= -1	(ms)	: if >= 0 will trigger synaptic event at t = del
  xp	= 0		: xyz location of synapse
  yp 	= 0
  zp 	= 0
  dist	= 0		: distance to recording section
  e 	= 0   	(mV)	: equib potential
  tau	= 1.3	(ms)	: time constant of alpha current
  atau	= 0	(ms)	: time constant of activation (default=0 => inactive )
  sw	= 1000	(pS)	: synaptic weight for self-event
  mp	= 1.0		: mp>=1 mean of geometric multiple release probability (geometric with prob 1/mp)
  idebug = 0
}

ASSIGNED {
  v (mV)
  i (nanoamp)
}

STATE {
  a (pS)
  g (pS)
}

UNITS {
 (mV) 	= (millivolt)
 (pS) 	= (picosiemens)
 PI	= (pi) (1)
}

INITIAL {
  if( del >= 0 ){
    net_send( del, 3 )
  }
  net_send( 1.0e-10, 1 )	: seems sometimes misses if I use zero
  g = 0
}

BREAKPOINT {
  SOLVE state METHOD sparse
  i = g*( v - e )*(1e-06)	: Convert to pS
}

KINETIC state {
  ~ a <-> g ( 1/tau, 0 )
  ~ g  ->   ( 1/tau )
}

NET_RECEIVE( weight (pS)) {
  LOCAL wait
  UNITSOFF
  if( idebug ) {
    printf( "Net_receive afhcsyn: t %g flag %g", t, flag )
    if( flag == 0 ){ printf( " weight %g", weight ) }
    printf( "\n" )
  }
  if( flag == 0 ){	: NetCon event (use weight from event)
    a = a + weight * exp(1) * igeom_dev(1/mp)
  }
  if( flag == 1 && atau > 0 ){	: self-event
    wait = dexp_dev( 1(ms)/atau )
    net_send( wait, 2 )
  }
  if( flag == 2 && atau > 0 ){	
    a = a + sw *exp(1)* igeom_dev(1/mp)
    wait = dexp_dev( 1/atau )
    net_send( wait, 2 )
  }
  if( flag == 3 ){	: self-event from del > 0
    a = a + sw *exp(1) * igeom_dev(1/mp)
  }
  UNITSON
}

Loading data, please wait...