ModelDB is moving. Check out our new site at The corresponding page is

3D model of the olfactory bulb (Migliore et al. 2014)

 Download zip file 
Help downloading and running models
This entry contains a link to a full HD version of movie 1 and the NEURON code of the paper: "Distributed organization of a brain microcircuit analysed by three-dimensional modeling: the olfactory bulb" by M Migliore, F Cavarretta, ML Hines, and GM Shepherd.
1 . Migliore M, Cavarretta F, Hines ML, Shepherd GM (2014) Distributed organization of a brain microcircuit analyzed by three-dimensional modeling: the olfactory bulb. Front Comput Neurosci 8:50 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Channel/Receptor; Dendrite;
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 A; I K;
Gap Junctions:
Receptor(s): NMDA; Glutamate; Gaba;
Simulation Environment: NEURON;
Model Concept(s): Pattern Recognition; Activity Patterns; Bursting; Temporal Pattern Generation; Oscillations; Synchronization; Active Dendrites; Detailed Neuronal Models; Synaptic Plasticity; Action Potentials; Synaptic Integration; Unsupervised Learning; Olfaction;
Implementer(s): Hines, Michael [Michael.Hines at]; Migliore, Michele [Michele.Migliore at]; Cavarretta, Francesco [francescocavarretta at];
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell; NMDA; Glutamate; Gaba; I Na,t; I A; I K;
ampanmda.mod *
distrt.mod *
fi.mod *
kamt.mod *
kdrmt.mod *
naxn.mod *
ThreshDetect.mod * * * * * * * *
fixnseg.hoc * *
granule.hoc *
input-odors.txt * * *
mitral.hoc * * * * *
realgloms.txt * * * *
# -*- coding: cp1252 -*-
import custom_params
if len(custom_params.filename) == 0: custom_params.filename = 'fig7'
from params import Nmitral

class Section:
  def __init__(self):
    self.index = -1
    self.points = []
    self.sons = []
    self.parent = None

class Neuron:
  def __init__(self): 
    self.dend = []
    self.apic = None
    self.tuft = []
    self.soma = None

def getmitral(mgid):
  from struct import unpack

  def sec_read():
    sec = Section()
    parent_index, section_index, n = unpack('>hhH',
    for i in range(n):
    return parent_index, section_index, sec

  fi = open('mitral.dump', 'rb')
  offset = [ None ] * Nmitral
  s = 2*Nmitral
  for i in range(Nmitral):
    l = unpack('>H',[0]
    offset[i] = s
    s += l[mgid])

  nrn = Neuron()
  nrn.soma = sec_read()[2]
  nrn.apic = sec_read()[2]
  nrn.apic.parent = nrn.soma

  parent_index, section_index, sec = sec_read()
  while section_index != 0:

    if section_index < 0:
      sec.parent = nrn.apic
      sec.index = section_index - 1
      if parent_index == 0:
        sec.parent = nrn.soma
        secpar = nrn.dend[parent_index - 1]
        sec.parent = secpar

    parent_index, section_index, sec = sec_read()       

  return nrn

Loading data, please wait...