Pyramidal neuron conductances state and STDP (Delgado et al. 2010)

 Download zip file   Auto-launch 
Help downloading and running models
Neocortical neurons in vivo process each of their individual inputs in the context of ongoing synaptic background activity, produced by the thousands of presynaptic partners a typical neuron has. That background activity affects multiple aspects of neuronal and network function. However, its effect on the induction of spike-timing dependent plasticity (STDP) is not clear. Using the present biophysically-detailed computational model, it is not only able to replicate the conductance-dependent shunting of dendritic potentials (Delgado et al,2010), but show that synaptic background can truncate calcium dynamics within dendritic spines, in a way that affects potentiation more strongly than depression. This program uses a simplified layer 2/3 pyramidal neuron constructed in NEURON. It was similar to the model of Traub et al., J Neurophysiol. (2003), and consisted of a soma, an apical shaft, distal dendrites, five basal dendrites, an axon, and a single spine. The spine’s location was variable along the apical shaft (initial 50 μm) and apical. The axon contained an axon hillock region, an initial segment, segments with myelin, and nodes of Ranvier, in order to have realistic action potential generation. For more information about the model see supplemental material, Delgado et al 2010.
1 . Delgado JY, Gómez-González JF, Desai NS (2010) Pyramidal neuron conductance state gates spike-timing-dependent plasticity. J Neurosci 30:15713-25 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Auditory cortex;
Cell Type(s): Neocortex L2/3 pyramidal GLU cell;
Channel(s): I Na,p; I Sodium; I Calcium; I Potassium; I_AHP;
Gap Junctions:
Receptor(s): AMPA; NMDA;
Simulation Environment: NEURON;
Model Concept(s): Action Potentials; STDP; Calcium dynamics; Conductance distributions; Audition;
Implementer(s): Gomez-Gonzalez, JF [jfcgomez at]; Delgado JY, [jyamir at];
Search NeuronDB for information about:  Neocortex L2/3 pyramidal GLU cell; AMPA; NMDA; I Na,p; I Sodium; I Calcium; I Potassium; I_AHP;
TITLE Fluctuating conductances


	Fluctuating conductance model for synaptic bombardment


  Synaptic bombardment is represented by a stochastic model containing
  two fluctuating conductances g_e(t) and g_i(t) descibed by:

     Isyn = g_e(t) * [V - E_e] + g_i(t) * [V - E_i]
     d g_e / dt = -(g_e - g_e0) / tau_e + sqrt(D_e) * Ft
     d g_i / dt = -(g_i - g_i0) / tau_i + sqrt(D_i) * Ft

  where E_e, E_i are the reversal potentials, g_e0, g_i0 are the average
  conductances, tau_e, tau_i are time constants, D_e, D_i are noise diffusion
  coefficients and Ft is a gaussian white noise of unit standard deviation.

  g_e and g_i are described by an Ornstein-Uhlenbeck (OU) stochastic process
  where tau_e and tau_i represent the "correlation" (if tau_e and tau_i are 
  zero, g_e and g_i are white noise).  The estimation of OU parameters can
  be made from the power spectrum:

     S(w) =  2 * D * tau^2 / (1 + w^2 * tau^2)

  and the diffusion coeffient D is estimated from the variance:

     D = 2 * sigma^2 / tau


  The numerical scheme for integration of OU processes takes advantage 
  of the fact that these processes are gaussian, which led to an exact
  update rule independent of the time step dt (see Gillespie DT, Am J Phys 
  64: 225, 1996):

     x(t+dt) = x(t) * exp(-dt/tau) + A * N(0,1)

  where A = sqrt( D*tau/2 * (1-exp(-2*dt/tau)) ) and N(0,1) is a normal
  random number (avg=0, sigma=1)


  This mechanism is implemented as a nonspecific current defined as a
  point process.


  The mechanism takes the following parameters:

     E_e = 0  (mV)		: reversal potential of excitatory conductance
     E_i = -75 (mV)		: reversal potential of inhibitory conductance

     g_e0 = 0.0121 (umho)	: average excitatory conductance
     g_i0 = 0.0573 (umho)	: average inhibitory conductance

     std_e = 0.0030 (umho)	: standard dev of excitatory conductance
     std_i = 0.0066 (umho)	: standard dev of inhibitory conductance

     tau_e = 2.728 (ms)		: time constant of excitatory conductance
     tau_i = 10.49 (ms)		: time constant of inhibitory conductance

Gfluct2: conductance cannot be negative


  Destexhe, A., Rudolph, M., Fellous, J-M. and Sejnowski, T.J.  
  Fluctuating synaptic conductances recreate in-vivo--like activity in
  neocortical neurons. Neuroscience 107: 13-24 (2001).

  (electronic copy available at

  A. Destexhe, 1999


	RANGE g_e, g_i, E_e, E_i, g_e0, g_i0, g_e1, g_i1
	RANGE std_e, std_i, tau_e, tau_i, D_e, D_i
	RANGE g_seed

	(nA) = (nanoamp) 
	(mV) = (millivolt)
	(umho) = (micromho)

	dt		(ms)

	E_e	= 0 	(mV)	: reversal potential of excitatory conductance
	E_i	= -75 	(mV)	: reversal potential of inhibitory conductance

	g_e0		(umho)	: average excitatory conductance (0.0121)
	g_i0		(umho)	: average inhibitory conductance (0.0573)

	std_e		(umho)	: standard dev of excitatory conductance (0.0030)
	std_i		(umho)	: standard dev of inhibitory conductance (0.0066)

	tau_e	= 2.728	(ms)	: time constant of excitatory conductance
	tau_i	= 10.49	(ms)	: time constant of inhibitory conductance
	g_seed	=1 	

	v	(mV)		: membrane voltage
	i 	(nA)		: fluctuating current
	g_e	(umho)		: total excitatory conductance
	g_i	(umho)		: total inhibitory conductance
	g_e1	(umho)		: fluctuating excitatory conductance
	g_i1	(umho)		: fluctuating inhibitory conductance
	D_e	(umho umho /ms) : excitatory diffusion coefficient
	D_i	(umho umho /ms) : inhibitory diffusion coefficient
	amp_e	(umho)
	amp_i	(umho)

	g_e1 = 0
	g_i1 = 0
	if(tau_e != 0) {
		D_e = 2 * std_e * std_e / tau_e
		exp_e = exp(-dt/tau_e)
		amp_e = std_e * sqrt( (1-exp(-2*dt/tau_e)) )
	if(tau_i != 0) {
		D_i = 2 * std_i * std_i / tau_i
		exp_i = exp(-dt/tau_i)
		amp_i = std_i * sqrt( (1-exp(-2*dt/tau_i)) )

	SOLVE oup
	if(tau_e==0) {
	   g_e = std_e * normrand(0,1)
	if(tau_i==0) {
	   g_i = std_i * normrand(0,1)
	g_e = g_e0 + g_e1
	if(g_e < 0) { g_e = 0 }
	g_i = g_i0 + g_i1
	if(g_i < 0) { g_i = 0 }
	i = g_e * (v - E_e) + g_i * (v - E_i)

PROCEDURE oup() {		: use Scop function normrand(mean, std_dev)
   if(tau_e!=0) {
	g_e1 =  exp_e * g_e1 + amp_e * normrand(0,1)
   if(tau_i!=0) {
	g_i1 =  exp_i * g_i1 + amp_i * normrand(0,1)

PROCEDURE new_seed(seed) {		: procedure to set the seed
	  printf("Setting random generator with seed = %g\n", _lseed);