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 * * * *
input: a map with destination ranks as keys, the values are pickleable objects.
output: a map with source ranks as keys, each value is an object.
Transfer the map value (pickleable python object) to the proper destination rank,
A value associated with the destination rank will appear on the
destination rank as a value associated with the source rank.
Alternatively, if the input is a list of nhost objects (some can be None),
then so is the return value.

from common import *
import util

ptime = False

def all2all(data, size=0):
  enter = h.startsw()
  r = _all2all(data, size)
  if ptime and rank == 0: print 'all2all elapsed time = %g'% (h.startsw()-enter)
  return  r

def _all2all(data, size=0):
  if nhost == 1:
    if size == -1:
      return (0, 0)
    return data
  if type(data) is list:
    return pc.py_alltoall(data, size)
  elif type(data) is dict:
    d = []
    for i in range(nhost):
    for i in data:
      d[i] = data[i]
    d = pc.py_alltoall(d, size)
    if size == -1:
      return d
    z = {}
    for i,x in enumerate(d):
      if x != None:
        z.update({i : x})
    return z
  raise ValueError

if __name__ == '__main__':
  d = []
  for i in range(nhost):
  sizes = all2all(d, -1)
  d = all2all(d)
  for r in util.serialize():
    print rank, sizes, d

Loading data, please wait...