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

Parallel odor processing by mitral and middle tufted cells in the OB (Cavarretta et al 2016, 2018)

 Download zip file 
Help downloading and running models
"[...] experimental findings suggest that MC and mTC may encode parallel and complementary odor representations. We have analyzed the functional roles of these pathways by using a morphologically and physiologically realistic three-dimensional model to explore the MC and mTC microcircuits in the glomerular layer and deeper plexiform layers. [...]"
1 . Cavarretta F, Burton SD, Igarashi KM, Shepherd GM, Hines ML, Migliore M (2018) Parallel odor processing by mitral and middle tufted cells in the olfactory bulb. Sci Rep 8:7625 [PubMed]
2 . Cavarretta F, Marasco A, Hines ML, Shepherd GM, Migliore M (2016) Glomerular and Mitral-Granule Cell Microcircuits Coordinate Temporal and Spatial Information Processing in the Olfactory Bulb. Front Comput Neurosci 10:67 [PubMed]
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 tufted middle GLU cell; Olfactory bulb main interneuron granule MC GABA cell; Olfactory bulb main interneuron granule TC GABA cell; Olfactory bulb (accessory) mitral cell; Olfactory bulb main tufted cell external; Olfactory bulb short axon cell;
Channel(s): I A; I Na,t; I_Ks; I K;
Gap Junctions: Gap junctions;
Receptor(s): AMPA; GabaA; NMDA;
Transmitter(s): Glutamate; Gaba;
Simulation Environment: NEURON;
Model Concept(s): Action Potentials; Action Potential Initiation; Active Dendrites; Long-term Synaptic Plasticity; Synaptic Integration; Synchronization; Pattern Recognition; Spatio-temporal Activity Patterns; Temporal Pattern Generation; Sensory coding; Sensory processing; Olfaction;
Implementer(s): Cavarretta, Francesco [francescocavarretta at]; Hines, Michael [Michael.Hines at];
Search NeuronDB for information about:  Olfactory bulb main interneuron granule MC GABA cell; Olfactory bulb main tufted middle GLU cell; Olfactory bulb main interneuron granule TC GABA cell; GabaA; AMPA; NMDA; I Na,t; I A; I K; I_Ks; Gaba; Glutamate;
Eta.txt *
granules.txt *
Kod.txt *
Nod.txt *
odstim2.txt *
pad.txt *
realgloms.txt *
from growdef import *
from struct  import unpack

class CellReader:
  def __init__(self, filename):
    self.__fi = open(filename, 'rb')
    self.__cell_offset = [None]*unpack('>I',[0]
    for i in range(len(self.__cell_offset)):
      self.__cell_offset[i] = unpack('>I',[0]
    dataoffset = self.__fi.tell()
    for i in range(len(self.__cell_offset)):
      self.__cell_offset[i] += dataoffset

  def close(self):


  def __readsections(self, sections):
    nsec = unpack('>H',[0]
    for isec in range(nsec):
      sec = Section()
      npt = unpack('>I',[0]
      for ipt in range(npt):


  def __connect(self, cell):

    def get_section(sectype, isec):
      if sectype == 0:
        return cell.soma[isec]
      elif sectype == 1:
        return cell.apic[isec]
      elif sectype == 2:
        return cell.tuft[isec]
      elif sectype == 3:
        return cell.dend[isec]
      return None
    nconn = unpack('>I',[0]
    for i in range(nconn):
      sectype1 = unpack('>B',[0]
      isec1 = unpack('>H',[0]

      sectype2 = unpack('>B',[0]
      isec2 = unpack('>H',[0]

      sec1 = get_section(sectype1, isec1)
      sec2 = get_section(sectype2, isec2)

      sec1.parent = sec2
  def readcell(self, gid):
    cell = Neuron()[gid])
    return cell

if __name__ == '__main__':
  cr = CellReader('../bulbvis/')
  hist = [0]*int(1040/40)
  import misc
  for i in range(635, 1904):
      cell = cr.readcell(i)
      center = misc.centroid(cell.soma[0].points)
      for dnd in cell.dend:
        for p in dnd.points:
          d = misc.distance(p, center)
          hist[int(d/40)] += 1.
  s = 0.
  for x in hist:
    s += x
  for i in range(len(hist)):
    hist[i] /= s
  with open('../sholl.txt', 'w') as fo:
    for i in range(len(hist)):
      fo.write('%d %g\n'%(i*40,hist[i]))

Loading data, please wait...