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

 Download zip file   Auto-launch 
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]
Citations  Citation Browser
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
ShortDendrite
cadecay.mod *
currentGauss.mod
flushf.mod *
GradGABAa.mod
ipscGauss.mod
kA.mod *
kca.mod *
kfasttab.mod *
kM.mod *
kslowtab.mod *
lcafixed.mod *
nafast.mod *
nagran.mod *
shuntInhib.mod *
stim2.mod
bulb.hoc
experiment_fig1cde.hoc
experiment_fig1fg.hoc
experiment_fig2bdf.hoc
experiment_fig3.hoc
experiment_fig4.hoc
experiment_fig5.hoc
experiment_fig6.hoc
fig1cde.ses
fig1fg.ses
fig2bdf.ses
fig3.ses
fig4.ses
fig5.ses
fig6.ses
figure1cde.m
figure1fg.m
figure2bdf.m
figure3.m
figure4abcd.m
figure4ef.m
figure5.m
figure6.asv
figure6.m
fit_ML_normal.m
granule.tem
init.hoc
mathslib.hoc *
mitral.tem
mosinit.hoc *
parameters_fig1cde.hoc
parameters_fig1fg.hoc
parameters_fig2bdf.hoc
parameters_fig3.hoc
parameters_fig4.hoc
parameters_fig5.hoc
parameters_fig6.hoc
plot_normal.m
tabchannels.dat *
tabchannels.hoc
                            
TITLE Burst of IPSC

: Burst of IPSC

: written by Francois David 2006


COMMENT
Since this is an electrode current, positive values of i depolarize the cell
and in the presence of the extracellular mechanism there will be a change
in vext since i is not a transmembrane current but a current injected
directly to the inside of the cell.
Each burst is composed of single IPSCs.
Burst parameters and IPSC parameters can be chosen in a large variety of ranges
ENDCOMMENT
 
NEURON {
	POINT_PROCESS ipsc_gauss
	NONSPECIFIC_CURRENT  ip
	RANGE ip, gp
	RANGE dep, dur, delm, sigi, amp, tau, nipsc
	RANGE noise_seed
}
UNITS {
	(nA) = (nanoamp)
:	(uS) = (microsiemens)
}

PARAMETER {
	dep  = 5 (ms)		 : start      }
	dur  = 80 (ms) <0,1e9>   : duree       }  parameters of the IPSC burst
	delm = 10 (ms)		 : delay mean }
	sigi = 50 (ms)		 : delay std }
	dt   = 0.01 (ms) 
	v (mV)			 : fix by Tom McTavish added 20110504

	amp  = 0.005    (nS)     : conductance 			}
	tau  = 5 	(ms)     : synaptic time constant	} parameter of individual IPSCs
	Erev = -70	(mV)	 : GABAA reversal potential	}


	nipsc = 5		 : nb total of ipsc
	noise_seed = 1
}

PROCEDURE seed1(x) {
	set_seed(x)
}

ASSIGNED { ip (nA)
	   gp (uS)
	   indic1
	   events[20000]
	   amplitude[20000]
	   tevents[200]
	   count
}

LOCAL j,k 

INITIAL {LOCAL indic3
	ip = 0
	gp = 0
	count = 1
	indic1 = dur/dt-1
	seed1(noise_seed)
	FROM j = 0 TO indic1 {
		events[j]    = 0  : by default, no event
		amplitude[j] = 0  : by default all the amplitudes are zero
	}

	FROM k = 0 TO nipsc-1 {
		indic3 = -1
		WHILE (indic3<0 || indic3>dur/(dt)) {
		      tevents[k] = normrand(delm,sigi)
		      indic3 = floor((tevents[k]-dep)/(dt)) : indice of the 
		}
		amplitude[indic3]   = scop_random() : pick a random amplitude factor for the conductance
		
	        events[indic3]      = events[indic3] + amplitude[indic3]  : nb of events per time step
	}
}

BREAKPOINT { LOCAL indic2
	if (t<dep+dur && t >= dep) {
		indic2 = floor((t-dep)/(dt)) : indic qui varie avec le temps
		gp = (-gp/tau)*(dt/2) + amp * (amplitude[indic2]/2) * events[indic2] + gp : breakpoint called twice per dt
	
		ip = gp * (v - Erev)
		
		:printf("duree%g\n",ip)
		if (ip<0 || ip>100) {
			ip = 0			:printf("toto\n")
		}
		if (ip>10) {
			ip = 10
		}
	}
	else {
		gp = 0
	}
}