TITLE kca.mod Calcium activated K channel COMMENT Calcium activated Potassium channel Simplifictaion: Spike dependent current only! Created by Christian Roessert ENDCOMMENT UNITS { (nA) = (milliamp) (mV) = (millivolt) } NEURON { POINT_PROCESS KCa NONSPECIFIC_CURRENT ik RANGE dgkbar, egk, ctau, thresh, gk } PARAMETER { dgkbar = 0.1 (mS/cm2) <0,1e9> egk = -90 (mV) ctau = 50 (ms) thresh = -20 (mV) } STATE { c } ASSIGNED { v (mV) area (um2) : area of current segment (automatically available within NMODL, like v) dgk (uS) : set to dgkbar * segment area at initialization gk (uS) : will be 0 or dgk*c depending on recent spiking history ik (nA) } BREAKPOINT { SOLVE state METHOD cnexp gk = dgk*c ik = gk*(v - egk) } INITIAL { dgk = dgkbar*area*1e-5 : because area will be in um2, but dgk is in uS and dgkbar in mS/cm2 gk = 0 : because at t = 0 we assume that the cell has not yet spiked c = 0 net_send(0, 1) } DERIVATIVE state { : exact when v held constant; integrates over dt step c' = -c/ctau } NET_RECEIVE (null) { if (flag==1) { : no spike has occured WATCH (v > thresh) 2 : detect spike } if (flag==2) { : spike has occured WATCH (v < thresh) 3 : detect spike off :c = c+1 : increase c and wait for next spike :net_send(0, 1) } if (flag==3) { : c = c+1 : increase c and wait for next spike at_time(t) net_send(0, 1) } }