create a
a	{nseg=1 diam=20 L=20 
	insert hcno eh_hcno=-38
	insert pas g_pas=1/10000 Ra=150 cm=1}
access a

tstop=100
vlow=-120
vhigh=30
dt=0.1
celsius=33

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,"Fig.6B: steady-state")
gk.addexpr("hinf_hcno",1,2, 2*tstop,0,2)

gt = new Graph(0)
gt.view(vlow,0,vhigh-vlow,200,0,0,100,200)
gt.exec_menu("New Axis")
gt.exec_menu("10% Zoom out")
gt.label(0.1,0.9,"time constants: figs.5B, 5D")
gt.addexpr("tau1_hcno",2,2, 2*tstop,0,2)
gt.addexpr("tau2_hcno",3,2, 2*tstop,0,2)

gs = new Graph(0)
gs.view(0,-100,100,40,0,0,100,200)
gs.exec_menu("New Axis")
gs.exec_menu("10% Zoom out")
gs.label(0.1,0.9,"-1.3nA current injection")
gs.exec_menu("Keep Lines")

xpanel("")
xbutton("run ", "run()")
xvalue("frac","frac",1)
xvalue("color","color",1)
xpanel()
b.intercept(0)
b.map("kinetics from Bal and Oertel (2000)",100,0,200,600)

c.intercept(1)
gf = new Graph(0)
gf.view(0,-15,1200,16.5,0,0,100,100)
gf.exec_menu("New Axis")
gf.exec_menu("10% Zoom out")
gf.label(0.4,0.95,"current (nA): Fig.6A ")
gf.label(0.3,0.08,"-115mV ")
gf.label(0.3,0.85,"-25mV ")
gf.exec_menu("Keep Lines")
c.intercept(0)
c.map("activation and deactivation",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_hcno(v)
    gk.plot(v)
}
gk.flush()
doNotify()

gt.begin()
gt.color(2)
gt.label(0.3,0.2,"fast act.")
gt.color(3)
gt.label(0.5,0.55,"deact.")
gt.color(4)
gt.label(0.4,0.7,"slow act.")
gt.mark(-77,44,"+",12,2,2)
gt.mark(-107,16,"+",12,2,2)
gt.mark(-77,181,"+",12,4,2)
gt.mark(-107,84,"+",12,4,2)
gt.mark(-62,126,"+",12,3,2)
gt.mark(-87,168,"+",12,3,2)
for (v=vlow; v<vhigh; v=v+1) {
    trates_hcno(v)
    gt.plot(v)
}
gt.flush()
doNotify()

gbar_hcno=0.0005
frac_hcno=frac

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

gs.begin()
ic.del=2
ic.dur=tstop
ic.amp=-0.13
tstop=100
v=-62
finitialize(v)
fcurrent()
e_pas=v+(i_hcno)/g_pas
t=0
while (t<tstop) {
    fadvance()
    gs.plot(t)
    }
gs.flush()
doNotify()
ic.amp=0

gbar_hcno=0.018
tstop=1000
k=-25
while (k>=-115) {
t=0
vc.amp1=-62
vc.dur1=2
vc.amp2=k
vc.dur2=700
vc.amp3=-77
vc.dur3=800
forall {finitialize(-62)}
fcurrent()
while (t<tstop) {
    fadvance()
    gf.plot(t)
    }
gf.flush()
doNotify()
k=k-5
gf.begin()
}
vc.dur1=0
vc.dur2=0
vc.dur3=0
}