KV1 channel governs cerebellar output to thalamus (Ovsepian et al. 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:150024
The output of the cerebellum to the motor axis of the central nervous system is orchestrated mainly by synaptic inputs and intrinsic pacemaker activity of deep cerebellar nuclear (DCN) projection neurons. Herein, we demonstrate that the soma of these cells is enriched with KV1 channels produced by mandatory multi-merization of KV1.1, 1.2 alpha andKV beta2 subunits. Being constitutively active, the K+ current (IKV1) mediated by these channels stabilizes the rate and regulates the temporal precision of self-sustained firing of these neurons. ... Through the use of multi-compartmental modelling and ... the physiological significance of the described functions for processing and communication of information from the lateral DCN to thalamic relay nuclei is established.
Reference:
1 . Ovsepian SV, Steuber V, Le Berre M, O'Hara L, O'Leary VB, Dolly JO (2013) A defined heteromeric KV1 channel stabilizes the intrinsic pacemaking and regulates the output of deep cerebellar nuclear neurons to thalamic targets. J Physiol 591:1771-91 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Channel/Receptor;
Brain Region(s)/Organism:
Cell Type(s): Cerebellum deep nucleus neuron;
Channel(s): I Na,p; I Na,t; I L high threshold; I T low threshold; I K; I h; I CAN; I_Ks;
Gap Junctions:
Receptor(s): AMPA; NMDA;
Gene(s): Kv1.1 KCNA1; Kv1.2 KCNA2;
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Bursting; Ion Channel Kinetics; Active Dendrites; Detailed Neuronal Models; Intrinsic plasticity; Rebound firing;
Implementer(s): Steuber, Volker [v.steuber at herts.ac.uk]; Luthman, Johannes [jwluthman at gmail.com];
Search NeuronDB for information about:  AMPA; NMDA; I Na,p; I Na,t; I L high threshold; I T low threshold; I K; I h; I CAN; I_Ks;
/
CNModel_May2013
readme.txt
CaConc.mod *
CaHVA.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 *
DCN_cip_axis_main.hoc
DCN_cip_fi_main.hoc
DCN_mechs1.hoc *
DCN_mechs2.hoc
DCN_morph.hoc *
DCN_params.hoc
DCN_params_axis.hoc
DCN_params_fi_init.hoc
DCN_params_rebound.hoc
DCN_rebound_main.hoc
DCN_recording.hoc
DCN_spontact_loop_main.hoc
                            
// CN model used in Saak V Ovsepian, Volker Steuber, Marie Le 
// Berre, Liam O'Hara, Valerie B O'Leary, and J. Oliver Dolly 
// (2013). A Defined Heteromeric KV1 Channel Stabilizes the 
// Intrinsic Pacemaking and Regulates the Efferent Code of Deep 
// Cerebellar Nuclear Neurons to Thalamic Targets. Journal of 
// Physiology (epub ahead of print). 
//
// written by Johannes Luthman, modified by Volker Steuber
//
// cell mechanisms for the simulations that replicate Figure 9E,F
// in Ovsepian et al. (2013)

objref ampa[EXCTOTALSYNAPSES]
objref fnmda[EXCTOTALSYNAPSES]
objref snmda[EXCTOTALSYNAPSES]
objref gaba[INHTOTALSYNAPSES]
objref axIS_cip
objref soma_cip1
objref soma_cip2
objref ouinoise

proc DCNmechs() {
    setBiophysics()
    insertChannels()
    insertSynapses()
    insertIClamp()
    insertOUCurrentNoise()
    fixCaIons()
}

proc setBiophysics() {

    // insert biophysics common to all compartments
    forall {
        cm = CM
        Ra = RA

        insert pasDCN
        gbar_pasDCN = PASSCOND
    }

    // Change conductance and resistivity of the axon, the only compartment type with
    // "non-standard" conductance and resistivity.
    forsec axNode {
        cm = CMMYEL
        gbar_pasDCN = PASSCONDMYEL
    }
}

proc insertOUCurrentNoise() {


    soma {
	ouinoise = new Ifluct8(0.5)
	ouinoise.i0 = 0.0 //0.0 // nA
	ouinoise.tau = 2 // ms
	ouinoise.std = 0.2 //0.1 // nA
    }
}

proc insertIClamp() {

    // insert current clamp stimulus into soma and axon initial segment
    // used to replicate data from Ovsepian 

    soma {
	soma_cip1 = new IClamp(0.5)
	soma_cip1.del = SOMACIP1DEL
	soma_cip1.dur = SOMACIP1DUR
	soma_cip1.amp = SOMACIP1AMP
	soma_cip2 = new IClamp(0.5)
	soma_cip2.del = SOMACIP2DEL
	soma_cip2.dur = SOMACIP2DUR
	soma_cip2.amp = SOMACIP2AMP
    }

    axIS[9] {
	axIS_cip = new IClamp(0.5)
	axIS_cip.del = AXISCIPDEL
	axIS_cip.dur = AXISCIPDUR
	axIS_cip.amp = AXISCIPAMP
    }
}

proc insertChannels() {

    // For each type of compartment, insert NMODL mechanisms
    // (ion channels and ca-concentration).

    // The qdeltat variable is GLOBAL in the NMODLs, meaning that it only needs to be
    // specified once for each mechanism, here in the soma (which contains a copy of
    // each mechanism).
    soma {

        insert NaF
        gbar_NaF = gNaFsoma
        qdeltat_NaF = QdTchannelGating

        insert NaP
        gbar_NaP = gNaPsoma
        qdeltat_NaP = QdTchannelGating

        ena = SodiumRevPot

        insert fKdr
        gbar_fKdr = gfKdrsoma
        qdeltat_fKdr = QdTchannelGating

        insert sKdr
        gbar_sKdr = gsKdrsoma
        qdeltat_sKdr = QdTchannelGating

        insert SK
        gbar_SK = gSKsoma
        qdeltat_SK = QdTchannelGating

        ek = PotassiumRevPot


        insert h
        gbar_h = gHsoma
        qdeltat_h = QdTchannelGating
        eh_h = hRevPot


        insert TNC
        gbar_TNC = gTNCsoma
        eTNC_TNC = TNCrevPot


        // calcium channels - they use the Goldman-Hodgkin-Katz (GHK) current equation
        // and so don't have a set reversal potential.
        insert CaLVA
        perm_CaLVA = permCaLVAsoma
        qdeltat_CaLVA = QdTchannelGating

        insert CaHVA
        perm_CaHVA = permCaHVAsoma
        qdeltat_CaHVA = QdTchannelGating


        // insert a hypothetical shell below the membrane of the cell to keep track of the
        // calcium entering the cell through the CaHVA and CaLVA channels, respectively.
        // The resulting calcium concentration is used to calculate the current flow through
        // through those channels.

        // For the CaHVA channel:

        insert CaConc
        tauCa_CaConc = tauCaConcSoma
        kCa_CaConc = kCaCaConcSoma

        // For the soma, the calculation of shell thickness is different from
        // the dendrites since it is a sphere in GENESIS and a cylinder
        // in NEURON. See how it's done in GENESIS file cn_comp_dj10.g and
        // divide that expression by the surface area of the NEURON soma to get
        // the following expression:
        depth_CaConc = SHELLTHICK - 2*SHELLTHICK^2/diam + \
                4*SHELLTHICK^3/(3*diam^2) // =0.196215


        // For the CaLVA channel:

        insert CalConc
        tauCal_CalConc = tauCaConcSoma
        kCal_CalConc = kCaCaConcSoma
        depth_CalConc = SHELLTHICK - 2*SHELLTHICK^2/diam + \
                4*SHELLTHICK^3/(3*diam^2) // =0.196215
    }

    forsec axHillock {
        insert NaF
        gbar_NaF = gNaFaxHill
        ena = SodiumRevPot

        insert fKdr
        gbar_fKdr = gfKdraxHill
        insert sKdr
        gbar_sKdr = gsKdraxHill
        ek = PotassiumRevPot

        insert TNC
        gbar_TNC = gTNCaxHill
        eTNC_TNC = TNCrevPot
    }

    forsec axIniSeg {
        insert NaF
        gbar_NaF = gNaFaxIniSeg
        ena = SodiumRevPot

        insert fKdr
        gbar_fKdr = gfKdraxIniSeg
        insert sKdr
        gbar_sKdr = gsKdraxIniSeg
        ek = PotassiumRevPot

        insert TNC
        gbar_TNC = gTNCaxIniSeg
        eTNC_TNC = TNCrevPot
    }

    // No channels in the axon.
    // forsec axNode {
    // }

    forsec proxDend {
        insert NaF
        gbar_NaF = gNaFpDend
        ena = SodiumRevPot

        insert fKdr
        gbar_fKdr = gfKdrpDend
        insert sKdr
        gbar_sKdr = gsKdrpDend
        insert SK
        gbar_SK = gSKpDend
        ek = PotassiumRevPot

        insert h
        gbar_h = gHpDend
        eh_h = hRevPot

        insert TNC
        gbar_TNC = gTNCpDend
        eTNC_TNC = TNCrevPot

        insert CaLVA
        perm_CaLVA = permCaLVAdend

        insert CaHVA
        perm_CaHVA = permCaHVAdend

        insert CaConc
        kCa_CaConc = kCaCaConcDend
        depth_CaConc = SHELLTHICK - (SHELLTHICK*SHELLTHICK/diam)

        insert CalConc
        kCal_CalConc = kCaCaConcDend
        depth_CalConc = SHELLTHICK - (SHELLTHICK*SHELLTHICK/diam)
    }

    forsec distDend {
        insert SK
        gbar_SK = gSKdDend
        ek = PotassiumRevPot

        insert h
        gbar_h = gHdDend
        eh_h = hRevPot

        insert CaLVA
        perm_CaLVA = permCaLVAdend

        insert CaHVA
        perm_CaHVA = permCaHVAdend

        insert CaConc
        kCa_CaConc = kCaCaConcDend
        depth_CaConc = SHELLTHICK - (SHELLTHICK*SHELLTHICK/diam)

        insert CalConc
        kCal_CalConc = kCaCaConcDend
        depth_CalConc = SHELLTHICK - (SHELLTHICK*SHELLTHICK/diam)
    }
} // end proc insertChannels()

proc insertSynapses() {

    // GABAergic synapses
    // If the short term depression variant of the GABA synapse is used, then calculate
    // the depression level to start out with. Set the level to that reached at steady state
    // with the present input frequency, using the equation from DCNsynGABA.mod giving "relProbSS".
    if (useGABAsyndep == 1) {
        initDeprLevel = 0.08 + 0.60*exp(-2.84*inhibitoryHz) + 0.32*exp(-0.02*inhibitoryHz)
    }
    
    c = 0
    forsec inhSynapseComps {
        if (useGABAsyndep == 1) {
            gaba[c] = new DCNsynGABA(0.5)
            gaba[c].startDeprLevel = initDeprLevel
        } else {
            gaba[c] = new DCNsyn(0.5)
        }
        gaba[c].tauRise = tauRiseGABA
        gaba[c].tauFall = tauFallGABA
        gaba[c].e = GABARevPot
        c+=1
    }

    // Excitatory synapses
    c = 0
    forsec excSynapseComps {

        ampa[c] = new DCNsyn(0.5)
        ampa[c].tauRise = tauRiseAMPA
        ampa[c].tauFall = tauFallAMPA
        ampa[c].e = ExcitSynRevPot

        fnmda[c] = new DCNsynNMDA(0.5)
        fnmda[c].tauRise = tauRisefNMDA
        fnmda[c].tauFall = tauFallfNMDA
        fnmda[c].e = ExcitSynRevPot
        fnmda[c].MgFactor = MgFactorfNMDA
        fnmda[c].gamma = gammafNMDA

        snmda[c] = new DCNsynNMDA(0.5)
        snmda[c].tauRise = tauRisesNMDA
        snmda[c].tauFall = tauFallsNMDA
        snmda[c].e = ExcitSynRevPot
        snmda[c].MgFactor = MgFactorsNMDA
        snmda[c].gamma = gammasNMDA

        c+=1
    }
} // end of proc insertSynapses()


proc fixCaIons() {
    // Set some specifications for the Ca and Cal ions. The following ion_style
    // statements don't affect the behaviour of the model but compared to not giving
    // them, speed up the simulation ca 5%, probably due to preventing eca from being
    // calculated each dt. ion_style has to be set for each compartment where the Ca ion
    // is used but gives no error when set for those compartments that don't use the ion.
    forall {
        ion_style("ca_ion", 2, 0, 0, 0, 1)
    }
    forall {
        ion_style("cal_ion", 2, 0, 0, 0, 1)
    }
    // Set the extracellular calcium concentrations (mM):
    cao0_ca_ion = 2
    calo0_cal_ion = 2
}

//DCNmechs()

Loading data, please wait...