Cerebellar nuclear neuron (Sudhakar et al., 2015)

 Download zip file 
Help downloading and running models
Accession:185513
"... In this modeling study, we investigate different forms of Purkinje neuron simple spike pause synchrony and its influence on candidate coding strategies in the cerebellar nuclei. That is, we investigate how different alignments of synchronous pauses in synthetic Purkinje neuron spike trains affect either time-locking or rate-changes in the downstream nuclei. We find that Purkinje neuron synchrony is mainly represented by changes in the firing rate of cerebellar nuclei neurons. ..."
Reference:
1 . Sudhakar SK, Torben-Nielsen B, De Schutter E (2015) Cerebellar Nuclear Neurons Use Time and Rate Coding to Transmit Purkinje Neuron Pauses. PLoS Comput Biol 11:e1004641 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Cerebellum;
Cell Type(s): Cerebellum deep nucleus neuron;
Channel(s): I Na,p; I T low threshold; I h; I Sodium;
Gap Junctions:
Receptor(s): NMDA; Glutamate; Gaba;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Rate-coding model neurons; Rebound firing;
Implementer(s):
Search NeuronDB for information about:  NMDA; Glutamate; Gaba; I Na,p; I T low threshold; I h; I Sodium; Gaba; Glutamate;
/
SudhakarEtAl2015
readme.html
CaConc.mod *
CaHVA.mod *
CaL.mod
CalConc.mod *
CaLVA.mod *
DCNsyn.mod *
DCNsynGABA.mod
DCNsynNMDA.mod *
fKdr.mod *
GammaStim.mod *
h.mod *
Ifluct8.mod *
NaF.mod *
NaP.mod *
pasDCN.mod *
SK.mod *
sKdr.mod *
TNC.mod
vecevent.mod *
cellids.dat
cellids_n.dat
datasp_ex1.dat
datasp1.dat
DCN_init_model1.hoc
DCN_init_model2.hoc
DCN_init_model2_highgain.hoc
DCN_init_model2_lowgain.hoc
DCN_init_model2_medgain.hoc
DCN_init_model3.hoc
DCN_mechs1.hoc *
DCN_mechs2.hoc
DCN_morph.hoc *
DCN_params.hoc
l_ex1.dat
l1.dat
model1_params.hoc
model2_params.hoc
model2_params_highgain.hoc
model2_params_lowgain.hoc
model2_params_medgain.hoc
model3_params.hoc
mosinit.hoc
pausebeg.dat
pausebeg_n.dat
screenshot.png
                            
COMMENT by Johannes Luthman:

    This mechanism is based on DCNsyn.mod in this project. What's added here is
    paired-pulse depression of the synapse's current, based on Shin et al, 2007
    (PLOSone issue 5, e485, page 2), on which the changes in terminology
    compared to DCNsyn.mod are based.
    The depression is implemented via the change from [g = B - A] in DCNsyn.mod
    to [g = (B - A) * deprLevel] here, and the calculation of deprLevel on each
    input (NETRECEIVE).

ENDCOMMENT

NEURON {
	POINT_PROCESS DCNsynGABA
	NONSPECIFIC_CURRENT i
	RANGE g, i, e, tauRise, tauFall, startDeprLevel, deprLevel
}

UNITS {
	(nA) = (nanoamp)
	(mV) = (millivolt)
}

PARAMETER {
	tauRise = 1 (ms)
	tauFall = 1 (ms)
	e = 0 (mV)
	startDeprLevel = 1 : set this in hoc to the depression level reached at 
	        : steady state (use the equation for relProbSS, below) by the 
	        : used GABAergic input frequency.
}

ASSIGNED {
    relProbSS (1) : This corresponds to Rss in the article (given in COMMENT at top).
    relProb[2] (1) : This corresponds to Rn and Rn-1 in the article.
    freq (1/s) : This corresponds to r in the article.
    tau (ms)
    tSpikes[2] (ms)
    ISI (ms)
    deprLevel (1) : level of synaptic depression. The conductance is
                  : multiplied by this factor in BREAKPOINT.
    notFirstSpike (1) : boolean used to set up values of previous step on first
                      : call to this mechanism.

	v (mV)
	i (nA)
	g (microsiemens)
	factor
}

STATE {
	A (microsiemens)
	B (microsiemens)
}

INITIAL {
	LOCAL tp
	if (tauRise/tauFall > .9999) {
		tauRise = .9999*tauFall
	}
	A = 0
	B = 0
	tp = (tauRise*tauFall)/(tauFall - tauRise) * log(tauFall/tauRise)
	factor = -exp(-tp/tauRise) + exp(-tp/tauFall)
	factor = 1/factor

    notFirstSpike = 0
}

BREAKPOINT {
    : Here the conductance is updated each time step, while the NET_RECEIVE block
    : is only invoked by being contacted by a NetCon object.
  	SOLVE state METHOD cnexp
   	g = (B - A) * deprLevel
   	i = g*(v - e)   	
}

DERIVATIVE state {
	A' = -A/tauRise
	B' = -B/tauFall
}

NET_RECEIVE(weight (microsiemens)) {
    deprLevel = giveFractionG()
    state_discontinuity(A, A + weight*factor)
	state_discontinuity(B, B + weight*factor)
}

FUNCTION giveFractionG() {
	if (notFirstSpike) {
        : Set the current spike to the present time, and calculate ISI as the
        : difference in time from the last pass through here.
        tSpikes[0] = tSpikes[1]
        tSpikes[1] = t
        ISI = tSpikes[1] - tSpikes[0]
        freq = 1000 / ISI
        
        :relProbSS = 0.08 + 0.60*exp(-2.84*freq) + 0.32*exp(-0.02*freq)
        if (freq <=10) {
        	relProbSS=0.06 +0.95*exp(-0.053*freq)
        }
        if (freq >10 && freq <=50)	{
        relProbSS= 0.647*exp(-0.007*freq)
        }
        if (freq >50 && freq <=100 )	{
        relProbSS= ((-0.28/50)*freq)+0.73
        }
        
        if (freq>100) {
        	relProbSS = 0.1
        }
        
        tau = 2 + 2500*exp(-0.274*freq) + 100*exp(-0.022*freq)
        relProb[1] = relProb[0] + (relProbSS - relProb[0]) * (1-exp(-ISI/tau))
        relProb[0] = relProb[1]

        giveFractionG = relProb[1]
	} else {
	    tSpikes[1] = t
	    relProb[0] = startDeprLevel
	    notFirstSpike = 1
	    giveFractionG = relProb[0]
	}
}

Loading data, please wait...