COMMENT
ih.mod
Hyperpolarization-activated channel; mixed cation current; Hodgkin-Huxley style kinetics.
Based on results from Magee, 1998. (J. Neurosci. 18(19):7613-7624. 1 October, 1998.
Authors: Tim Mickus, Bill Kath, Nelson Spruston: Northwestern University, 2000.
Modification of original Iq model by Nelson Spruston, used in Stuart & Spruston, 1998.
That file was originally modified from one provided by Michele Migliore.
Modified 8/16/02 to work with CVODE (one day, I hope) - Nelson
ENDCOMMENT
TITLE H current
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
NEURON {
THREADSAFE
SUFFIX h
NONSPECIFIC_CURRENT Ih
RANGE Ih, gbar
GLOBAL inf,tau
}
PARAMETER {
gbar=8.0 (pS/um2) : maximum conductance
: ranges from 8-10 pS/um2 in dend, 1-2 pS/um2 in soma (Magee, 1998, p. 7615)
erevh=-13 (mV) : this value from Magee, table 1 higher Na+ (nelson used -35)
vhalf=-81 (mV) : this value from Magee, table 1 higher Na+ (nelson used -88)
a0=0.00057 (/ms) : this is essentially a scale factor for the time constant
zeta=7 (1)
ab=0.4 (1)
qten=4.5 (1) : Magee value 4.5 activation, 4.7 deactivation
v (mV)
dt (ms)
temp = 33 (degC) : reference temperature from Magee 1998
gas = 8.315 (J/degC) : universal gas constant (joules/mol/K)
farad = 9.648e4 (coul) : Faraday's constant (coulombs/mol)
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(mM) = (milli/liter)
(S) = (siemens)
(pS) = (picosiemens)
(um) = (micron)
(J) = (joules)
}
ASSIGNED {
Ih (mA/cm2)
inf
tau (ms)
celsius (degC) : actual temperature for simulation, defined in Neuron, usually about 35
}
STATE {
hh
}
INITIAL {
rate(v)
hh=inf
}
FUNCTION alpha(v(mV)) (1/ms) {
alpha = a0*exp((0.001)*(-ab)*zeta*(v-vhalf)*farad/(gas*(273.16+celsius)))
}
FUNCTION beta(v(mV)) (1/ms) {
beta = a0*exp((0.001)*(1-ab)*zeta*(v-vhalf)*farad/(gas*(273.16+celsius)))
}
BREAKPOINT {
SOLVE state METHOD cnexp
Ih = (0.0001)*gbar*hh*(v-erevh)
}
DERIVATIVE state {
rate(v)
hh' = (inf-hh)/tau
}
PROCEDURE rate(v (mV)) { : callable from hoc
LOCAL a, b, q10
q10 = qten^((celsius-temp)/10(degC))
a = q10*alpha(v)
b = q10*beta(v)
inf = a/(a+b)
tau = 1/(a+b)
if (tau<2) {tau=2}
}