load_file("nrngui.hoc")
cvode_active(1)
dist=7
rel=0.5
numbasal=70
xopen("geo9068802.hoc") // geometry file
xopen("fixnseg.hoc")
Cm = 0.75
Rm = 28000/Cm
RaAll= 500
RaAx = 50
Vrest = -65
dt = 0.1
gna = .045
AXONM = 3
gkdr = 0.02
celsius = 35.0
ka = 0.03
ghd=0.00001
gkm=0.014
gcat=0.0001
gahp=0.00001
perc=0
objref g, b,c, stim, s, rsyn, nc, m, gt, gk, count, apc, outfile
count=new Vector()
outfile=new File()
forsec "axon" {insert pas e_pas=Vrest g_pas = 1/Rm Ra=RaAx cm=Cm}
forsec "soma" {insert pas e_pas=Vrest g_pas = 1/Rm Ra=RaAll cm=Cm}
forsec "dendrite"{insert pas e_pas=Vrest g_pas = 1/Rm Ra=RaAll cm=Cm}
forsec "user5" {insert pas e_pas=Vrest g_pas = 1/Rm Ra=RaAll cm=Cm}
access soma
apc=new APCount(.5)
apc.record(count)
freq=50
geom_nseg()
axon {nseg=11}
distance()
stim = new IClamp(.5)
stim.del=5
stim.dur=500
stim.amp=0.65
inj=0.65
tstop=600
b = new VBox()
b.intercept(1)
g = new Graph()
g.size(0,tstop,-70,20)
g.xaxis(1)
g.exec_menu("10% Zoom out")
g.addexpr("v_soma","soma.v(rel)",1,1, 0.2,0.9,2)
xpanel("",1)
xpanel()
b.intercept(0)
b.map()
forsec "axon" {
insert kv72wt73wt
insert kvR213Q
insert kvR213W
insert nax gbar_nax=gna*AXONM
insert kdr gkdrbar_kdr=gkdr*AXONM
insert kap gkabar_kap = ka
}
forsec "soma" {
insert kv72wt73wt
insert kvR213Q
insert kvR213W
insert hd ghdbar_hd=ghd
insert na3 gbar_na3=gna*AXONM
insert kdr gkdrbar_kdr=gkdr*AXONM
insert kap gkabar_kap = ka
insert cat gcatbar_cat=gcat
insert cacum tau_cacum=100 depth_cacum=diam/2
insert KahpM95 gbar_KahpM95 = gahp
}
for i=0, numbasal-1 dendrite[i] {
insert na3 gbar_na3=0
insert cat gcatbar_cat=gcat
insert cacum tau_cacum=100 depth_cacum=diam/2
insert KahpM95 gbar_KahpM95 = gahp
}
forsec "apical_dendrite" {
insert hd ghdbar_hd=ghd
insert na3 gbar_na3=gna
insert kdr gkdrbar_kdr=gkdr
insert kap gkabar_kap=0
insert kad gkabar_kad=0
insert cacum tau_cacum=100 depth_cacum=diam/2
insert KahpM95 gbar_KahpM95 = gahp
insert cat gcatbar_cat=gcat
for (x,0) { xdist = distance(x)
ghdbar_hd(x) = ghd*(1+3*xdist/100)
if (xdist > 100){
gkabar_kad(x) = ka*(1+xdist/100)
} else {
gkabar_kap(x) = ka*(1+xdist/100)
}
}
}
forsec "user5" {
insert hd ghdbar_hd=ghd
insert na3 gbar_na3=gna
insert kdr gkdrbar_kdr=gkdr
insert kap gkabar_kap=0
insert kad gkabar_kad=0
insert cacum tau_cacum=100 depth_cacum=diam/2
insert cat gcatbar_cat=gcat
insert KahpM95 gbar_KahpM95 = gahp
for (x,0) { xdist = distance(x)
ghdbar_hd(x) = ghd*(1+3*xdist/100)
if (xdist > 100){
gkabar_kad(x) = ka*(1+xdist/100)
} else {
gkabar_kap(x) = ka*(1+xdist/100)
}
}
}
proc init() {
t=0
stim.amp=inj
forall {
v=Vrest
if (ismembrane("nax") || ismembrane("na3")) {ena=55}
if (ismembrane("KahpM95") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
if (ismembrane("hd") ) {ehd_hd=-30}
}
finitialize(Vrest)
fcurrent()
forall {
for (x) {
if (ismembrane("na3")||ismembrane("nax")){e_pas(x)=v(x)+(ina(x)+ik(x))/g_pas(x)}
if (ismembrane("hd")) {e_pas(x)=e_pas(x)+i_hd(x)/g_pas(x)}
if (ismembrane("cat")){e_pas(x)=e_pas(x)+ica(x)/g_pas(x)}
}
}
cvode.re_init()
cvode.event(tstop)
access soma
g.begin()
}
proc advance() {
fadvance()
g.plot(t)
g.flush()
doNotify()
}
xpanel(" ")
xradiobutton("wt","setgw()",1)
xradiobutton("R213W","setgW()")
xradiobutton("R213Q","setgQ()")
xbutton("run", "run()")
xpanel()
proc setgw() {
forsec "soma" {gbar_kv72wt73wt=gkm}
forsec "axon" {gbar_kv72wt73wt=gkm*3}
forsec "soma" {gbar_kvR213Q=0}
forsec "axon" {gbar_kvR213Q=0}
forsec "soma" {gbar_kvR213W=0}
forsec "axon" {gbar_kvR213W=0}
}
proc setgQ() {
forsec "soma" {gbar_kv72wt73wt=0}
forsec "axon" {gbar_kv72wt73wt=0}
forsec "soma" {gbar_kvR213Q=gkm}
forsec "axon" {gbar_kvR213Q=gkm*3}
forsec "soma" {gbar_kvR213W=0}
forsec "axon" {gbar_kvR213W=0}
}
proc setgW() {
forsec "soma" {gbar_kv72wt73wt=0}
forsec "axon" {gbar_kv72wt73wt=0}
forsec "soma" {gbar_kvR213Q=0}
forsec "axon" {gbar_kvR213Q=0}
forsec "soma" {gbar_kvR213W=gkm}
forsec "axon" {gbar_kvR213W=gkm*3}
}
setgw()