GPi/GPe neuron models (Johnson and McIntyre 2008)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:114685
Model files for two types of non-human primate neurons used in the paper: simplified versions of 1) a GPi neuron and 2) a GPe axon collateralizing in GPi en route to STN.
Reference:
1 . Johnson MD, McIntyre CC (2008) Quantifying the neural elements activated and inhibited by globus pallidus deep brain stimulation. J Neurophysiol 100:2549-63 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Axon;
Brain Region(s)/Organism:
Cell Type(s): Globus pallidus neuron;
Channel(s): I Sodium; I Calcium; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Simplified Models; Axonal Action Potentials; Parkinson's; Extracellular Fields;
Implementer(s): Johnson, Matthew D [johnsom11 at ccf.org];
Search NeuronDB for information about:  I Sodium; I Calcium; I Potassium;
TITLE Paranode Axon channels
:
: Based on axon model from McIntyre2004
:
: Fast K+ currents 
: Iterative equations H-H notation rest = -75 mV

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
    SUFFIX parak75
    NONSPECIFIC_CURRENT ik
    RANGE gkbar, ek
    RANGE n_inf
    RANGE tau_n
}

UNITS {
    (mA) = (milliamp)
    (mV) = (millivolt)
}

PARAMETER {
    gkbar   = 0.01	(mho/cm2)
    ek      = -85.0 (mV)
    celsius         (degC)
    dt              (ms)
    v               (mV)
    vshift = 5      (mV)
    anA = 0.00798
    anB = 93.2
    anC = 1.1
    bnA = 0.0142
    bnB = 76
    bnC = 10.5
}

STATE {
    n
}

ASSIGNED {
    ik      (mA/cm2)
    n_inf
    tau_n
    q10
}

BREAKPOINT {
    SOLVE states METHOD cnexp
    ik   = gkbar * n*n*n*n * (v - ek)
}

DERIVATIVE states {   : exact Hodgkin-Huxley equations
    evaluate_fct(v)
    n' = (n_inf - n) / tau_n
}

UNITSOFF

INITIAL {

    :Q10 adjustment
    q10 = 3.0 ^ ((celsius-20)/ 10 )

    evaluate_fct(v)
    n = n_inf
}

PROCEDURE evaluate_fct(v(mV)) { LOCAL a,b,v2

    v2 = v-vshift

    a = q10*vtrap1(v2)
    b = q10*vtrap2(v2)
    tau_n = 1 / (a + b)
    n_inf = a / (a + b)

}

FUNCTION vtrap1(x) {
    if (fabs((x+anB)/anC) < 1e-6) {
        vtrap1 = anA*anC
    }else{
        vtrap1 = (anA*(x+anB)) / (1 - Exp(-(x+anB)/anC))
    }
}

FUNCTION vtrap2(x) {
    if (fabs((x+bnB)/bnC) < 1e-6) {
        vtrap2 = bnA*bnC : Ted Carnevale bug fix removed minus sign
    }else{
        vtrap2 = (bnA*(-(x+bnB))) / (1 - Exp((x+bnB)/bnC))
    }
}

FUNCTION Exp(x) {
    if (x < -100) {
        Exp = 0
    }else{
        Exp = exp(x)
    }
}

UNITSON

Loading data, please wait...