create a
a	{nseg=1 diam=20 L=20 
	insert na ena_na=50
	insert pas g_pas=1/10000 Ra=150 cm=1}
access a

tstop=100
vlow=-120
vhigh=30
dt=0.1
celsius=22
usetable_na = 0

frac=0
color=1

objref gk, b,gt,vc, gs,c, gf,ic
b = new VBox()
c = new VBox()
b.intercept(1)
gk = new Graph(0)
gk.view(vlow,0,vhigh-vlow,1,0,0,100,200)
gk.exec_menu("New Axis")
gk.exec_menu("10% Zoom out")
gk.label(0.1,0.9,"na: steady-state activation (m, h)")
gk.addexpr("minf_na",1,2, 2*tstop,0,2)
gk.addexpr("hinf_na",2,2, 2*tstop,0,2)

gt = new Graph(0)
gt.view(vlow,0,vhigh-vlow,10,0,0,100,200)
gt.exec_menu("New Axis")
gt.exec_menu("10% Zoom out")
gt.label(0.1,0.9,"na: m, h time constants")
gt.addexpr("mtau_na",1,2, 2*tstop,0,2)
gt.addexpr("htau_na",2,2, 2*tstop,0,2)

gs = new Graph(0)
gs.view(0,-70,150,120,0,0,100,200)
gs.exec_menu("New Axis")
gs.exec_menu("10% Zoom out")
gs.label(0.1,0.9,"+0.1 nA current injection (no Ik)")
gs.exec_menu("Keep Lines")

xpanel("")
xbutton("run ", "run()")
xvalue("color","color",1)
xpanel()
b.intercept(0)
b.map("Ina Kinetics (Rothman and Manis, 2003c)",100,0,200,600)

c.intercept(1)
gf = new Graph(0)
gf.view(0,-5,150,6,0,0,100,100)
gf.exec_menu("New Axis")
gf.exec_menu("10% Zoom out")
gf.label(0.4,0.95,"Na current (nA)")
gf.label(0.3,0.08,"-120mV ")
gf.label(0.3,0.85,"+30mV ")
gf.label(0.8, 0.85, "-10mV")
gf.exec_menu("Keep Lines")
c.intercept(0)
c.map("Ina Voltage Clamp Currents",390,0,500,370)

vc = new SEClamp(0.5)
ic = new IClamp(0.5)

proc run() {
gk.begin()
for (v=vlow; v<vhigh; v=v+1) {
    trates_na(v)
    gk.plot(v)
}

gk.flush()
doNotify()


gt.begin()
gt.color(2)
for (v=vlow; v<vhigh; v=v+1) {
    trates_na(v)
    gt.plot(v)
}

gt.flush()
doNotify()

gnabar_na=  0.07958

gs.addexpr("a.v(0.1)",color,1, 2*tstop,0,2)
gf.addexpr("ina_na*area(0.5)*1e-2",color,1, 2*tstop,0,2) // *10=pA, *1e-2=nA

gs.begin()
ic.del=5
ic.dur=100
ic.amp=0.10
v=-62
finitialize(v)
fcurrent()
e_pas=v+(ina_na)/g_pas
t=0
while (t<tstop*1.5) {
    fadvance()
    gs.plot(t)
    }
gs.flush()
doNotify()
ic.amp=0

gnabar_na=0.01592
k=30
while (k>=-100) {
	t=0
	vc.amp1=-62
	vc.dur1=5
	vc.amp2=k
	vc.dur2=ic.dur
	vc.amp3=-30
	vc.dur3=50
	forall {finitialize(-62)}
	fcurrent()
	while (t<tstop*1.5) {
    	fadvance()
    	gf.plot(t)
	}
	gf.flush()
	doNotify()
	k=k-10
	gf.begin()
}
vc.dur1=0
vc.dur2=0
vc.dur3=0
}