writeline(default, "Maple Housekeeping"): restart; digits := 5; interface(displayprecision=3); # -------------------------------------------------------------- writeline(default,"Constants"): writeline(default,"Equilibrium voltages, mV"): writeline(default," Sodium, Potassium, Leak"); vNa:=35; vK:=-67; # own data Fig 3. # Max Leak conductance and reversal potential measured # from trace of 18 mV and 1 nA # leak conductance smaller than IK - see infinity worksheet vLeak:=-20; writeline(default,"Fixed leak conductance"): gLeak :=0.02; # muS # -------------------------------------------------------------- # time independent functions ................ # Sodium current m and h ... Connor calls them a and b # they were in ms so divide by 1000 writeline(default,"Sodium current"): writeline(default," maximum conductance, m and h components "): writeline(default," with max value and time constant as functions of voltage"): gbarNa:=7.0; #default value is 7 - also use 9.3 and 4.9 minf := v -> 1/(1 + exp((24+v)/(-8))) ; taum := v -> (0.3+ 8/(1 + exp((v+40)/2.0)))/1000 ; hinf := v -> 1/(1 + exp((29.0+v)/3.8)) ; tauh := v -> (2.3 + 15/(1 + exp((v+24.3)/3.8)))/1000 ; writeline(default,"Sustained Potassium current"): writeline(default," maximum conductance, NA and NB components "): writeline(default," with max value and time constant as functions of voltage"): # maintained Potassium Current IK NA, NB # all own data # slow and fast components gbarKA := 1.44 ; NAinf := v -> 1/(1 + exp((14.9-v)/16.6)) ; tauNA := v -> 0.0383 - 0.00041 * v ; gbarKB := 2.88 ; NBinf := v -> 1/(1 + exp((8.6-v)/14.6)) ; tauNB := v -> 0.0057 - 0.00007 * v ; writeline(default,"Transient Potassium current"): writeline(default," maximum conductance, a and b components "): writeline(default," with max value and time constant as functions of voltage"): #Transient K current IA a b gbarA := 12; # activation (measured values) ainf := v -> 1/(1 + exp((12.4+v)/(-14.1))) ; taua := v -> 0.0018 - 0.00003 * v ; # inactivation - some uncertainty in literature so use own ## v = -71, h = 6.6 (measured) ## v = -97, h = 6.2 in Alekseev & Zayzin BBA 1148:100 Fig 2B ## v = -74, h = 6.4 in Connor & Stevens J Physiol 317:27 fig 5 ## binf := v -> 1/(1 + exp((v+71)/6.6)) ; taub := v -> 0.026 + 0.00022 * v ; # -------------------------------------------------------------- writeline(default,"Initial conditions, start from equilibrium voltage (-52.5 mV)"): v0:=-52.5; # approx eqm level -52.5 mV, writeline(default," Sodium current"): m0:=minf(v0); h0:=hinf(v0); writeline(default," Sustained Potassium current"): NA0:=NAinf(v0); NB0:=NBinf(v0); writeline(default," Transient Potassium current"): a0:=ainf(v0); b0:=binf(v0); writeline(default,"Current equations"): writeline(default," Sodium current"): writeline(default," Sustained Potassium current"): writeline(default," Transient Potassium current"): writeline(default," Leak current"): writeline(default," Total ionic current"): INa := (v(t)-vNa) * gbarNa*m(t)^3*h(t); IK := (v(t)-vK) * ( (gbarKA * NA(t)^2) + (gbarKB * NB(t)) ); IA := (v(t)-vK) * gbarA *a(t)^4*b(t); ILeak:=(v(t)-vLeak)*gLeak; ITotal := INa+IK+IA+ILeak ; # -------------------------------------------------------------- # calculate the equilibrium current as a function of voltage writeline(default,"Equilibrium current as function of voltage"): writeline(default," Sodium current"): writeline(default," Sustained Potassium current"): writeline(default," Transient Potassium current"): writeline(default," Leak current"): # Na current subs (m(t)=minf(t),INa); subs (h(t)=hinf(t),%); INainf := subs (v(t)=t,%); # delayed K current subs (NA(t)=NAinf(t), IK); subs (NB(t)=NBinf(t), %); IKinf := subs (v(t)=t,%); # transient K current subs (a(t)=ainf(t), IA); subs (b(t)=binf(t), %); IAinf := subs (v(t)=t,%); # leak current ILeakinf := subs (v(t)=t,ILeak); writeline(default," Total Equilibrium current"): ITotalinf := INainf + IKinf + IAinf + ILeakinf ; writeline(default,"Plotting Time constants and equilibrium values"): writeline(default," Sodium current"): writeline(default," Sustained Potassium current"): writeline(default," Transient Potassium current"): writeline(default," Total Equilibrium current"): plot ([taum(v), tauh(v)], v=-100..100,y=0.0..0.010,legend=["taum", "tauh"], title = "Time constants for Sodium Current"); plot ([minf(v), hinf(v)], v=-100..100,legend=["minf", "hinf"], title = "Equilibrium proportion for Sodium Current"); plot ([tauNA(v), tauNB(v)], v=-100..100,legend=["tau Na", "tau Nb"], title = "Time constants for Sustained Potassium Current"); plot ([NAinf(v), NBinf(v)], v=-100..100,legend=[ "NAinf", "NBinf"], title = "Equilibrium proportion for Sustained Potassium Current"); plot ([ainf(v), binf(v)], v=-100..100, legend=["aInf", "bInf"], title = "Time constants for Transient Potassium Current"); plot ([taua(v), taub(v)], v=-100..100,legend=["taua", "taub"], title = "Equilibrium proportion for Transient Potassium Current"); # plot as function of voltage plot ([INainf, IKinf, IAinf, ILeakinf, ITotalinf], t=-80..-40, y=-2.0..2.0, labels = [`voltage, mV`, `current, nA`], legend =["INainf", "IKinf", "IAinf", "ILeakinf", "ITotalinf"], linestyle =[2,3,4,4,1], color = [black,red,green,blue,magenta], title = "Equilibrium current");