COMMENT mAHP.mod Calcium-dependent potassium channel responsible for mAHP in motoneurons Simplified calcium channel that provides Ca for the KCa conductance is included ENDCOMMENT NEURON { SUFFIX mAHP USEION k READ ek WRITE ik USEION ca READ eca WRITE ica RANGE n, gkcamax,gcamax,ik,cai,ica,depth,taur GLOBAL fKCa, bKCa, caix } UNITS { (mA) = (milliamp) (mV) = (millivolt) (S) = (siemens) (um) = (micron) (molar) = (1/liter) : moles do not appear in units (mM) = (millimolar) (msM) = (ms mM) FARADAY = (faraday) (coulomb) } PARAMETER { gkcamax = 0.03 (S/cm2) gcamax = 3e-5 (S/cm2) mvhalfca = -30 (mV) mslpca = 4 (mV) mtauca = 1 (ms) caix = 2 cainf=0.0001 (mM) depth = .1 (um) : depth of shell taur = 20 (ms) : rate of calcium removal fKCa = 0.1 : max act rate bKCa = 0.1 : max deact rate celsius (degC) } ASSIGNED { ik (mA/cm2) v (mV) ica (mA/cm2) ek (mV) eca (mV) ninf ntau (ms) minfca drive_channel } STATE { mca n cai (mM) } INITIAL { cai=cainf rates(cai) mcarate(v) n = ninf mca=minfca } BREAKPOINT { SOLVE states METHOD cnexp ica = gcamax*mca*(v - eca) ik = gkcamax *n* (v - ek) } DERIVATIVE states { drive_channel = - (10000) * ica/ (2 * FARADAY * depth) if (drive_channel <= 0.) { drive_channel = 0. } : cannot pump inward cai' = drive_channel + (cainf-cai)/taur rates(cai) n' = (ninf-n)/ntau mcarate(v) mca' = (minfca-mca)/mtauca } PROCEDURE rates(cai(mM)) { LOCAL a,b UNITSOFF a = fKCa * (1e3*(cai -cainf))^caix : rate constant depends on cai in uM b = bKCa ntau = 1/(a+b) ninf = a*ntau UNITSON } PROCEDURE mcarate(v (mV)) { TABLE minfca DEPEND mvhalfca,mslpca FROM -100 TO 100 WITH 200 minfca = 1/(1+exp(-(v-mvhalfca)/mslpca)) }