: Reference: Kole,Hallermann,and Stuart, J. Neurosci. 2006 NEURON { SUFFIX Ih NONSPECIFIC_CURRENT ihcn RANGE gbar, g, ihcn } UNITS { (S) = (siemens) (mV) = (millivolt) (mA) = (milliamp) } PARAMETER { gbar = 0.00001 (S/cm2) ehcn = -45.0 (mV) } ASSIGNED { v (mV) ihcn (mA/cm2) g (S/cm2) mInf mTau mAlpha mBeta } STATE { m } BREAKPOINT { SOLVE states METHOD cnexp g = gbar*m ihcn = g*(v-ehcn) } DERIVATIVE states { rates() m' = (mInf-m)/mTau } INITIAL{ rates() m = mInf } PROCEDURE rates(){ UNITSOFF : if(v == -154.9){ : v = v + 0.0001 : } :mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) mAlpha = 0.001 * 6.43 * vtrap(v + 154.9, 11.9) mBeta = 0.001*193*exp(v/33.1) mInf = mAlpha/(mAlpha + mBeta) mTau = 1/(mAlpha + mBeta) UNITSON } FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations UNITSOFF if (fabs(x / y) < 1e-6) { vtrap = y * (1 - x / y / 2) } else { vtrap = x / (exp(x / y) - 1) } UNITSON }