Olfactory Bulb Network (Davison et al 2003)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:2730
A biologically-detailed model of the mammalian olfactory bulb, incorporating the mitral and granule cells and the dendrodendritic synapses between them. The results of simulation experiments with electrical stimulation agree closely in most details with published experimental data. The model predicts that the time course of dendrodendritic inhibition is dependent on the network connectivity as well as on the intrinsic parameters of the synapses. In response to simulated odor stimulation, strongly activated mitral cells tend to suppress neighboring cells, the mitral cells readily synchronize their firing, and increasing the stimulus intensity increases the degree of synchronization. For more details, see the reference below.
Reference:
1 . Davison AP, Feng J, Brown D (2003) Dendrodendritic inhibition and simulated odor responses in a detailed olfactory bulb network model. J Neurophysiol 90:1921-35 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
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,leak; I M; I K,Ca; I Sodium; I Calcium; I Potassium;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Synchronization; Spatio-temporal Activity Patterns; Olfaction;
Implementer(s): Davison, Andrew [Andrew.Davison at iaf.cnrs-gif.fr];
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell; GabaA; AMPA; NMDA; I Na,t; I L high threshold; I A; I K; I K,leak; I M; I K,Ca; I Sodium; I Calcium; I Potassium; Gaba; Glutamate;
/
bulbNet
README *
cadecay.mod *
flushf.mod *
kA.mod *
kca.mod *
kfasttab.mod *
kM.mod *
kslowtab.mod *
lcafixed.mod *
nafast.mod *
nagran.mod *
nmdanet.mod *
bulb.hoc
calcisilag.hoc *
ddi_baseline.gnu *
ddi_baseline.ses *
experiment_ddi_baseline.hoc *
experiment_odour_baseline.hoc *
granule.tem *
init.hoc *
input.hoc *
input1 *
mathslib.hoc *
mitral.tem *
mosinit.hoc *
odour_baseline.connect
odour_baseline.gnu *
odour_baseline.ses *
parameters_ddi_baseline.hoc *
parameters_odour_baseline.hoc *
screenshot.png *
tabchannels.dat *
tabchannels.hoc *
                            
// mitral.tem
// Template for four-compartment mitral cell model
// as described in:
//    Davison, AP, Feng J and Brown D (2000)
//    A reduced compartmental model of the mitral cell
//      for use in network models of the olfactory bulb. 
//    Brain Research Bulletin 51(5): 393-399.
// Andrew Davison, The Babraham Institute, 2000


begintemplate Mit
  public soma, glom, prim, dend, AMPA, GABAA, spiketimes, spikecount
  create soma, glom, prim, dend, s2d, s2p, p2g
  objref AMPA, GABAA, spikecount, spiketimes

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

    spiketimes = new Vector()
    lastspikecount = 0

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

    soma {
      insert pas
      insert nafast
      insert kfasttab
      insert kslowtab
      insert kA
      insert kca
      insert lcafixed
      insert cad
      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