load_file("nrngui.hoc")
cvode.active(1)
cvode.atol(1.e-3)
create a
a {nseg=1 diam=5 L=5
insert kx ek=-85
insert pas g_pas=1/10000 Ra=150 cm=1}
access a
tstop=1500
vlow=-100
vhigh=0
dt=0.01
celsius=23
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,"steady-state, Fig.3A")
gk.addexpr("minf_kx",3,2, 2*tstop,0,2)
gt = new Graph(0)
gt.view(vlow,0,vhigh-vlow,300,0,0,100,200)
gt.exec_menu("New Axis")
gt.exec_menu("10% Zoom out")
gt.label(0.1,0.9,"time constant, Fig.3B")
gt.addexpr("mtau_kx",3,2, 2*tstop,0,2)
xpanel("")
xbutton("run ", "run()")
xpanel()
b.intercept(0)
b.map("Kx kinetics for photoreceptor",100,0,200,400)
c.intercept(1)
gs = new Graph(0)
gs.view(0,0,tstop,100,0,0,100,200)
gs.exec_menu("New Axis")
gs.exec_menu("10% Zoom out")
gs.label(0.1,0.9,"current (pA), step from -30mV, Fig.2A")
gs.exec_menu("Keep Lines")
c.intercept(0)
c.map("activation",440,0,500,370)
vc = new SEClamp(0.5)
proc run() {
gk.begin()
for (v=vlow; v<vhigh; v=v+1) {
trates_kx(v)
gk.plot(v)
}
gk.flush()
doNotify()
gt.begin()
for (v=vlow; v<vhigh; v=v+1) {
trates_kx(v)
gt.plot(v)
}
gt.flush()
doNotify()
gbar_kx=0.0015
gs.begin()
k=0
color=2
while (k>-91) {
gs.addexpr("ik*area(0.5)*10",color,1, 2*tstop,0,2) // *10=pA, *1e-2=nA
t=0
vc.amp1=-30
vc.dur1=10
vc.amp2=k
vc.dur2=1000
vc.amp3=-30
vc.dur3=490
forall {finitialize(vc.amp1)}
while (t<tstop) {
fadvance()
gs.plot(t)
}
gs.flush()
doNotify()
k=k-10
gs.begin()
}
}