Lateral dendrodenditic inhibition in the Olfactory Bulb (David et al. 2008)

 Download zip file 
Help downloading and running models
Accession:116094
Mitral cells, the principal output neurons of the olfactory bulb, receive direct synaptic activation from primary sensory neurons. Shunting inhibitory inputs delivered by granule cell interneurons onto mitral cell lateral dendrites are believed to influence spike timing and underlie coordinated field potential oscillations. Lateral dendritic shunt conductances delayed spiking to a degree dependent on both their electrotonic distance and phase of onset. Recurrent inhibition significantly narrowed the distribution of mitral cell spike times, illustrating a tendency towards coordinated synchronous activity. This result suggests an essential role for early mechanisms of temporal coordination in olfaction. The model was adapted from Davison et al, 2003, but include additional noise mechanisms, long lateral dendrite, and specific synaptic point processes.
Reference:
1 . David F, Linster C, Cleland TA (2008) Lateral dendritic shunt inhibition can regularize mitral cell spike patterning. J Comput Neurosci 25:25-38 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell;
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,Ca;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Temporal Pattern Generation; Synchronization; Simplified Models; Active Dendrites; Olfaction;
Implementer(s):
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell; GabaA; AMPA; I Na,t; I L high threshold; I A; I K; I K,Ca;
/
DendroDendriticInhibition
LongDendrite
cadecay.mod *
kA.mod *
kca.mod *
kfasttab.mod *
kM.mod *
kslowtab.mod *
lcafixed.mod *
nafast.mod *
nmdanet.mod *
shuntInhib.mod *
stim2.mod
bulb.hoc
experiment_fig1.hoc
experiment_fig2ace.hoc
fig1bde.dat
fig1bde.m
fig1bde.ses
fig1fg.m
fig1fg.ses
fig2ace.m
fig2ace.ses
granule.tem
init.hoc
input.hoc
mathslib.hoc *
mitral.tem
mosinit.hoc *
parameters_fig1.hoc
parameters_fig2ace.hoc
tabchannels.dat *
tabchannels.hoc
                            
// ¬¬ Initialisation ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

objref cvode, random, rand2, intensva[nmitx][nmity], delva[nmitx][nmity]
cvode = new CVode(0)   		 // start with CVode inactive
random = new Random(seed)
rand2 = new Random(seed)

objref mit[nmitx][nmity]
objref input_reg[nmitx][nmity], input_ipsc[nmitx][1], input_glom[nmitx][1]

objref outfile
outfile = new File()
strdef filename

// ¬¬  Procedures ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
// Create cells --------------------------------------------------------

proc create_cells() { local i,j,ii,jj,k,p
  	quitmodel = 0
   	print "Creating cells. This may take some time."
	print nmitx
	print nmity
  	for i = 0, nmitx-1 {
    		for j = 0, nmity-1 {
       			ndend = 100
       			mit[i][j] = new Mit(ndend)
	    	}
  	}
  printf("\n")
  access mit[0][0].prim
}

// Add input currents --------------------------------------------------
proc insert_iclamps_reg() { local i,j // 2 args - del dur
	for i = 0, nmitx-1 {
		for j = 0, nmity-1 {
			mit[i][j].soma input_reg[i][j] = new IClamp(0.5)
			input_reg[i][j].dur = tstop
			input_reg[i][j].del = 0	
		}
  	}
}

proc insert_iclamps_glom() { local i,j
	for i = 0, nmitx-1 {
		for j = 0, nmity-1 {
			mit[i][j].glom input_glom[i][j] = new IClamp(0.5)
			input_glom[i][j].dur = tstop
			input_glom[i][j].del = 0
		}
  	}
}

proc insert_iclamp_ipsc() { local i,j
		for i = 0, nmitx-1 {
      			ind = 5*(i+1)-1
      			mit[i][j].dend[ind] input_ipsc[i][0] = new IClamp2(0.5)
      			input_ipsc[i][0].amp = -0.05
      			input_ipsc[i][0].dur = tstop
      			input_ipsc[i][0].del = 150
      			input_ipsc[i][0].tau = 5
		}
}

// Randomise initial conditions ----------------------------------------
proc random_init() { local i,j,ii,jj,k
  random.normal(-65,25)
  for i = 0,nmitx-1 {
    for j = 0, nmity-1 {
      mit[i][j].soma.v(0.5) = 0  //random.repick()
      mit[i][j].dend[0].v(0.5) = mit[i][j].soma.v(0.5)
      mit[i][j].prim.v(0.5) = mit[i][j].soma.v(0.5)
      mit[i][j].glom.v(0.5) = mit[i][j].soma.v(0.5)
    }
  }
}

// ¬¬ Create the model ¬¬¬
create_cells()



Loading data, please wait...