Spinal Motor Neuron (Dodge, Cooley 1973)

 Download zip file 
Help downloading and running models
Accession:3805
"The excitability of various regions of the spinal motorneuron can be specified by solving the partial differential equation of a nerve fiber whose diameter and membrane properties vary with distance. For our model geometrical factors for the myelinated axon, initial segment and cell body were derived from anatomical measurements, the dendritic tree was represented by its equivalent cylinder, and the current-voltage relations of the membrane were described by a modification of the Hodgkin-Huxley model that fits voltage-clamp data from the motorneuron. ..."
Reference:
1 . Dodge FA, Cooley JW (1973) Action Potential of the Motorneuron. IBM J Res Dev 17:219-29
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:
Cell Type(s): Spinal cord lumbar motor neuron alpha ACh cell; Myelinated neuron;
Channel(s): I Na,t; I K;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Simplified Models; Active Dendrites; Tutorial/Teaching; Axonal Action Potentials; Action Potentials;
Implementer(s): Hines, Michael [Michael.Hines at Yale.edu];
Search NeuronDB for information about:  Spinal cord lumbar motor neuron alpha ACh cell; I Na,t; I K;
TITLE hh.mod   squid sodium, potassium, and leak channels
 
COMMENT
 This is the original Hodgkin-Huxley treatment for the set of sodium, 
  potassium, and leakage channels found in the squid giant axon membrane.
The rate function parameters have been changed to correspond to
Dodge & Cooley (1973) "Action Potential of the Motorneuron"
IBM J. Res. Develop. May 219--229
ENDCOMMENT
 
UNITS {
        (mA) = (milliamp)
        (mV) = (millivolt)
	(S) = (siemens)
}
 
? interface
NEURON {
        SUFFIX dc
        USEION na READ ena WRITE ina
        USEION k READ ek WRITE ik
        NONSPECIFIC_CURRENT il
        RANGE gnabar, gkbar, gl, el, gna, gk, shift
        GLOBAL minf, hinf, ninf, mtau, htau, ntau, vrest
}
 
PARAMETER {
	: for node
        gnabar = .6 (S/cm2)	<0,1e9>
        gkbar = .1 (S/cm2)	<0,1e9>
        gl = .003 (S/cm2)	<0,1e9>
        el = -54.3 (mV)
	vrest = 0 (mV)
	shift = 0
}
 
STATE {
        m h n
}
 
ASSIGNED {
        v (mV)
        ena (mV)
        ek (mV)

	gna (S/cm2)
	gk (S/cm2)
        ina (mA/cm2)
        ik (mA/cm2)
        il (mA/cm2)
        minf hinf ninf
	mtau (ms) htau (ms) ntau (ms)
}
 
? currents
BREAKPOINT {
        SOLVE states METHOD cnexp
        gna = gnabar*m*m*m*h
	ina = gna*(v - ena)
        gk = gkbar*n*n*n*n
	ik = gk*(v - ek)      
        il = gl*(v - el)
}
 
 
INITIAL {
	rates(v - vrest - shift)
	m = minf
	h = hinf
	n = ninf
}

? states
DERIVATIVE states {  
        rates(v - vrest - shift)
        m' =  (minf-m)/mtau
        h' = (hinf-h)/htau
        n' = (ninf-n)/ntau
}
 
? rates
PROCEDURE rates(v(mV)) {  :Computes rate and other constants at current v.
                      :Call once from HOC to initialize inf at resting v.
        LOCAL  alpha, beta, sum

UNITSOFF
                :"m" sodium activation system
        alpha = .4 * vtrap(25 - v, 5)
:        beta =  .4 * vtrap(v - 55, 5)
:	 typo in paper; personal communication from F. Dodge.
        beta =  .4 * vtrap(v - 45, 5)
        sum = alpha + beta
	mtau = 1/sum
        minf = alpha/sum
                :"h" sodium inactivation system
        alpha = .28 * exp((10 - v)/20)
        beta = 4 / (exp((40 - v)/10) + 1)
        sum = alpha + beta
	htau = 1/sum
        hinf = alpha/sum
                :"n" potassium activation system
:        alpha = .2*vtrap(20 - v,10) 
:	 typo in paper; personal communication from F. Dodge.
        alpha = .02*vtrap(20 - v,10) 
        beta = .25*exp((10 - v)/80)
	sum = alpha + beta
        ntau = 1/sum
        ninf = alpha/sum
}
 
FUNCTION vtrap(x,y) {  :Traps for 0 in denominator of rate eqns.
        if (fabs(x/y) < 1e-6) {
                vtrap = y*(1 - x/y/2)
        }else{
                vtrap = x/(exp(x/y) - 1)
        }
}
 
UNITSON

Loading data, please wait...