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 cell; Olfactory bulb main interneuron granule MC 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 cell; Olfactory bulb main interneuron granule MC 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 *
                            
// experiment_odour_baseline.hoc
// Olfactory bulb network model: experiment file
//   for odour input.
// Andrew Davison, The Babraham Institute, 2000.

xopen("calcisilag.hoc")

// Redefine run() procedure
proc run() {
  running_ = 1
  set_no_input()
  add_uniform_input(-0.1,0.3)
  stdinit()
  continuerun(ttrans)
  add_fixed_input(inputnumber,maxinput)
  continuerun(tstop)
  show_results()
}
print "Note: run() procedure redefined."

// Process data and print out results
proc print_results() {
  print_raster(fileroot)
  print_gran_raster(fileroot)
  print_smooth_hist(minisi()/4,fileroot)
  print_gran_smooth_hist(minisi()/4,fileroot)
  print_isi_stats(fileroot)
  print_si(fileroot)
  print "Results printed to files."
}

// Show results on screen
objref gResults[4], yvec
proc show_results() { local i,j
  yvec = new Vector()
  for i = 0,3 {
    gResults[i] = new Graph(0)
  }
  for i = 0, nmitx-1 {
    for j = 0, nmity-1 {
      k = i*nmity + j
      yvec.resize(mit[i][j].spiketimes.size())
      yvec.fill(k)
      yvec.mark(gResults[0],mit[i][j].spiketimes,"|",3)
    }
  }
  gResults[0].label(0.3,0.9,"Mitral cell spike plot")
  gResults[0].view(0,-0.1*nmitx*nmity,tstop,nmitx*nmity*1.2,400,0,500,150)
  calc_smooth_hist(minisi()/4)
  hist.plot(gResults[1])
  gResults[1].label(0.3,0.9,"Mitral cell spike time histogram")
  gResults[1].view(0,-0.1*hist.max(),tstop,hist.max()*1.2,400,220,500,150)
  for i = 0, ngranx-1 {
    for j = 0, ngrany-1 {
      k = i*ngrany + j
      yvec.resize(gran[i][j].spiketimes.size())
      yvec.fill(k)
      yvec.mark(gResults[2],gran[i][j].spiketimes,"|",1)
    }
  }
  gResults[2].label(0.3,0.9,"Granule cell spike plot")
  gResults[2].view(0,-0.1*ngranx*ngrany,tstop,ngranx*ngrany*1.2,400,440,500,150)
  calc_gran_smooth_hist(minisi()/4)
  hist.plot(gResults[3])
  gResults[3].label(0.3,0.9,"Granule cell spike time histogram")
  gResults[3].view(0,-0.1*hist.max(),tstop,hist.max()*1.2,400,660,500,150)
}

xopen("odour_baseline.ses")