Lateral dendrodenditic inhibition in the Olfactory Bulb (David et al. 2008)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:116094
Mitral cells, the principal output neurons of the olfactory bulb, receive direct synaptic activation from primary sensory neurons. Shunting inhibitory inputs delivered by granule cell interneurons onto mitral cell lateral dendrites are believed to influence spike timing and underlie coordinated field potential oscillations. Lateral dendritic shunt conductances delayed spiking to a degree dependent on both their electrotonic distance and phase of onset. Recurrent inhibition significantly narrowed the distribution of mitral cell spike times, illustrating a tendency towards coordinated synchronous activity. This result suggests an essential role for early mechanisms of temporal coordination in olfaction. The model was adapted from Davison et al, 2003, but include additional noise mechanisms, long lateral dendrite, and specific synaptic point processes.
Reference:
1 . David F, Linster C, Cleland TA (2008) Lateral dendritic shunt inhibition can regularize mitral cell spike patterning. J Comput Neurosci 25:25-38 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Olfactory bulb;
Cell Type(s): Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell;
Channel(s): I Na,t; I L high threshold; I A; I K; I K,Ca;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Temporal Pattern Generation; Synchronization; Simplified Models; Active Dendrites; Olfaction;
Implementer(s):
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell; GabaA; AMPA; I Na,t; I L high threshold; I A; I K; I K,Ca;
/
DendroDendriticInhibition
ShortDendrite
cadecay.mod *
currentGauss.mod
flushf.mod *
GradGABAa.mod
ipscGauss.mod
kA.mod *
kca.mod *
kfasttab.mod *
kM.mod *
kslowtab.mod *
lcafixed.mod *
nafast.mod *
nagran.mod *
shuntInhib.mod *
stim2.mod
bulb.hoc
experiment_fig1cde.hoc
experiment_fig1fg.hoc
experiment_fig2bdf.hoc
experiment_fig3.hoc
experiment_fig4.hoc
experiment_fig5.hoc
experiment_fig6.hoc
fig1cde.ses
fig1fg.ses
fig2bdf.ses
fig3.ses
fig4.ses
fig5.ses
fig6.ses
figure1cde.m
figure1fg.m
figure2bdf.m
figure3.m
figure4abcd.m
figure4ef.m
figure5.m
figure6.asv
figure6.m
fit_ML_normal.m
granule.tem
init.hoc
mathslib.hoc *
mitral.tem
mosinit.hoc *
parameters_fig1cde.hoc
parameters_fig1fg.hoc
parameters_fig2bdf.hoc
parameters_fig3.hoc
parameters_fig4.hoc
parameters_fig5.hoc
parameters_fig6.hoc
plot_normal.m
tabchannels.dat *
tabchannels.hoc
                            
// mitral.tem
// modele original de Davison utilise en Reseau

begintemplate Mit
  public soma, glom, prim, dend, AMPA, GABAA, spiketimes, spikecount, gsp, gpg, gsd//, i_soma_br
  create soma, glom, prim, dend, s2d, s2p, p2g
  objref AMPA, GABAA, spikecount, spiketimes//, i_soma_br

  proc init() { local Len, Erest, RM, p, q, r, Atotal, AMPAtau, AMPArev, GABAAtau, GABAArev
    create soma, glom, prim, dend, s2d, s2p, p2g

    spiketimes = new Vector()
    lastspikecount = 0

    Len 	= 100
    Erest	= -65		// mV
    Atotal	= 100000	// um2
    gsp		= 5.47e-11	// S/cm2
    gpg		= 5.86e-11	//
    gsd		= 1.94e-10 * $1
    RM		= 100000	// ohm.cm2
    p		= 0.051
    q		= 0.084
    r		= 0.328
    AMPAtau	= 10		//ms
    AMPArev	= 0		//mV
    GABAAtau	= 6		// from Sc&98
    GABAArev	= -70 //

    soma {
      insert pas
      insert nafast
      insert kfasttab
      insert kslowtab
      insert kA
      insert kca
      insert lcafixed
      insert cad
      //i_soma_br = new current_gauss(0.5)

      depth_cad 	= 8
      L			= Len
      diam 		= p*Atotal/(PI*Len)
      Ra 		= PI*diam*diam/(4*Len*Atotal)
      e_pas 		= Erest		// reversal potential mV
      g_pas 		= 1/RM		// membrane conductance siemen-cm^-2
      gnabar_nafast 	= 0.1532
      gkbar_kfasttab 	= 0.1956
      gkbar_kslowtab 	= 0.0028
      gkbar_kA 		= 0.00587
      gkbar_kca		= 0.0142
      gcabar_lcafixed 	= 0.0040

      spikecount = new APCount(0.5)
      spikecount.thresh = -30
      spikecount.record(spiketimes)
    }

    glom {
      insert pas
      insert kslowtab
      insert lcafixed
      insert cad
      L			= Len
      diam 		= q*Atotal/(PI*Len)
      Ra 		= PI*diam*diam/(4*Len*Atotal)
      e_pas 		= Erest
      g_pas		= 1/RM
      gkbar_kslowtab	= 0.02
      gcabar_lcafixed	= 0.0095
      AMPA = new ExpSyn(0.5)
      AMPA.tau 		= AMPAtau
      AMPA.e 		= AMPArev
    }

    prim {
      insert pas
      insert nafast
      insert kfasttab
      insert kslowtab
      insert lcafixed
      insert cad
      depth_cad 	= 8
      L			= Len
      diam 		= r*Atotal/(PI*Len)
      Ra 		= PI*diam*diam/(4*Len*Atotal)
      e_pas 		= Erest
      g_pas		= 1/RM
      gkbar_kfasttab	= 0.00123
      gnabar_nafast	= 0.00134
      gkbar_kslowtab	= 0.00174
      gcabar_lcafixed	= 0.0022
    }

    dend {
      insert pas
      insert kfasttab
      insert nafast
      L			= Len
      diam 		= (1-p-q-r)*Atotal/(PI*Len)
      Ra 		= PI*diam*diam/(4*Len*Atotal)
      e_pas 		= Erest
      g_pas		= 1/RM
      gkbar_kfasttab	= 0.0330
      gnabar_nafast	= 0.0226
      GABAA = new ExpSyn(0.5)
      GABAA.tau 	= GABAAtau
      GABAA.e 		= GABAArev
    }


    s2d { 
      diam 		= 1
      Ra = PI*diam*diam/(4*Len*Atotal) * ( 1/gsd )
      L 		= 1
    }
    s2p { 
      diam 		= 1
      Ra = PI*diam*diam/(4*Len*Atotal) * ( 1/gsp )
      L 		= 1
    }
    p2g { 
      diam 		= 1
      Ra = PI*diam*diam/(4*Len*Atotal) * ( 1/gpg )
      L 		= 1
    }
    soma connect s2p(0),0
    s2p connect prim(0),1
    prim connect p2g(0),1
    p2g connect glom(0),1
    soma connect s2d(0),1
    s2d connect dend(0),1


    // set reversal potentials, etc.
    forall if (ismembrane("ca_ion")) {
      eca = 70		// mV 
      cai = 0.00001	// mM 
      cao = 2		// mM
      ion_style("ca_ion",3,2,0,0,1)
    }

    forall if (ismembrane("na_ion")) {
      ena = 45		// mV
    }
    forall if (ismembrane("k_ion")) {
      ek  = -70		//  mV
    }

  }	// end init()

endtemplate Mit