proc celldef() {
topol()
subsets()
geom()
biophys()
}
create soma, ABD[4], axonstart, AIS, axon, axoD, axoD_sec[4]
create interD[3], interD_sec[14], nABD[3], nABD_sec[18]
proc topol() { local i
connect ABD(0), soma(1)
for i = 1, 3 connect ABD[i](0), ABD[i-1](1)
connect axonstart(0), ABD[3](1)
connect AIS(0), axonstart(1)
connect axon(0), AIS(1)
connect axoD(0), ABD[3](1)
for i = 0, 1 connect axoD_sec[i](0), axoD(1)
for i = 2, 3 connect axoD_sec[i](0), axoD_sec[1](1)
for i = 0, 2 connect interD[i](0), ABD[i](1)
for i = 0, 1 connect interD_sec[i](0), interD(1)
for i = 2, 3 connect interD_sec[i](0), interD_sec[1](1)
for i = 4, 5 connect interD_sec[i](0), interD_sec[3](1)
for i = 6, 7 connect interD_sec[i](0), interD[1](1)
for i = 8, 9 connect interD_sec[i](0), interD[2](1)
for i = 10, 11 connect interD_sec[i](0), interD_sec[9](1)
for i = 12, 13 connect interD_sec[i](0), interD_sec[8](1)
for i = 0, 2 connect nABD[i](0), soma(0)
connect nABD_sec(0), nABD(1)
for i = 1, 2 connect nABD_sec[i](0), nABD_sec(1)
connect nABD_sec[3](0), nABD(1)
for i = 4, 5 connect nABD_sec[i](0), nABD_sec[3](1)
for i = 6, 7 connect nABD_sec[i](0), nABD[1](1)
for i = 8, 9 connect nABD_sec[i](0), nABD_sec[7](1)
for i = 10, 11 connect nABD_sec[i](0), nABD_sec[9](1)
for i = 12, 13 connect nABD_sec[i](0), nABD_sec[6](1)
for i = 14, 15 connect nABD_sec[i](0), nABD_sec[13](1)
for i = 16, 17 connect nABD_sec[i](0), nABD[2](1)
basic_shape()
}
proc basic_shape() {
soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(15, 0, 0, 1)}
ABD {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(15, 30, 0, 1)}
ABD[1] {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(30, 45, 0, 1)}
ABD[2] {pt3dclear() pt3dadd(30, 45, 0, 1) pt3dadd(60, 60, 0, 1)}
ABD[3] {pt3dclear() pt3dadd(60, 60, 0, 1) pt3dadd(90, 60, 0, 1)}
axonstart {pt3dclear() pt3dadd(90, 60, 0, 1) pt3dadd(105, 75, 0, 1)}
AIS {pt3dclear() pt3dadd(105, 75, 0, 1) pt3dadd(120, 90, 0, 1)}
axon {pt3dclear() pt3dadd(120, 90, 0, 1) pt3dadd(150, 120, 0, 1)}
axoD {pt3dclear() pt3dadd(90, 60, 0, 1) pt3dadd(120, 45, 0, 1)}
axoD_sec {pt3dclear() pt3dadd(120, 45, 0, 1) pt3dadd(150, 60, 0, 1)}
axoD_sec[1] {pt3dclear() pt3dadd(120, 45, 0, 1) pt3dadd(135, 30, 0, 1)}
axoD_sec[2] {pt3dclear() pt3dadd(135, 30, 0, 1) pt3dadd(165, 30, 0, 1)}
axoD_sec[3] {pt3dclear() pt3dadd(135, 30, 0, 1) pt3dadd(150, 0, 0, 1)}
interD {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(-14, 45, 0, 1)}
interD[1] {pt3dclear() pt3dadd(30, 45, 0, 1) pt3dadd(15, 75, 0, 1)}
interD[2] {pt3dclear() pt3dadd(60, 60, 0, 1) pt3dadd(60, 90, 0, 1)}
interD_sec {pt3dclear() pt3dadd(-14, 45, 0, 1) pt3dadd(-44, 30, 0, 1)}
interD_sec[1] {pt3dclear() pt3dadd(-14, 45, 0, 1) pt3dadd(-29, 75, 0, 1)}
interD_sec[2] {pt3dclear() pt3dadd(-29, 75, 0, 1) pt3dadd(-29, 105, 0, 1)}
interD_sec[3] {pt3dclear() pt3dadd(-29, 75, 0, 1) pt3dadd(-59, 90, 0, 1)}
interD_sec[4] {pt3dclear() pt3dadd(-59, 90, 0, 1) pt3dadd(-74, 120, 0, 1)}
interD_sec[5] {pt3dclear() pt3dadd(-59, 90, 0, 1) pt3dadd(-89, 90, 0, 1)}
interD_sec[6] {pt3dclear() pt3dadd(15, 75, 0, 1) pt3dadd(30, 105, 0, 1)}
interD_sec[7] {pt3dclear() pt3dadd(15, 75, 0, 1) pt3dadd(0, 105, 0, 1)}
interD_sec[8] {pt3dclear() pt3dadd(60, 90, 0, 1) pt3dadd(45, 105, 0, 1)}
interD_sec[9] {pt3dclear() pt3dadd(60, 90, 0, 1) pt3dadd(75, 105, 0, 1)}
interD_sec[10] {pt3dclear() pt3dadd(75, 105, 0, 1) pt3dadd(75, 135, 0, 1)}
interD_sec[11] {pt3dclear() pt3dadd(75, 105, 0, 1) pt3dadd(105, 120, 0, 1)}
interD_sec[12] {pt3dclear() pt3dadd(45, 105, 0, 1) pt3dadd(60, 135, 0, 1)}
interD_sec[13] {pt3dclear() pt3dadd(45, 105, 0, 1) pt3dadd(30, 135, 0, 1)}
nABD {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(60, -14, 0, 1)}
nABD[1] {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, -44, 0, 1)}
nABD[2] {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(-44, 0, 0, 1)}
nABD_sec {pt3dclear() pt3dadd(60, -14, 0, 1) pt3dadd(75, 0, 0, 1)}
nABD_sec[1] {pt3dclear() pt3dadd(75, 0, 0, 1) pt3dadd(75, 30, 0, 1)}
nABD_sec[2] {pt3dclear() pt3dadd(75, 0, 0, 1) pt3dadd(105, 15, 0, 1)}
nABD_sec[3] {pt3dclear() pt3dadd(60, -14, 0, 1) pt3dadd(75, -29, 0, 1)}
nABD_sec[4] {pt3dclear() pt3dadd(75, -29, 0, 1) pt3dadd(75, -59, 0, 1)}
nABD_sec[5] {pt3dclear() pt3dadd(75, -29, 0, 1) pt3dadd(105, -44, 0, 1)}
nABD_sec[6] {pt3dclear() pt3dadd(0, -44, 0, 1) pt3dadd(-14, -59, 0, 1)}
nABD_sec[7] {pt3dclear() pt3dadd(0, -44, 0, 1) pt3dadd(15, -59, 0, 1)}
nABD_sec[8] {pt3dclear() pt3dadd(15, -59, 0, 1) pt3dadd(15, -89, 0, 1)}
nABD_sec[9] {pt3dclear() pt3dadd(15, -59, 0, 1) pt3dadd(45, -74, 0, 1)}
nABD_sec[10] {pt3dclear() pt3dadd(45, -74, 0, 1) pt3dadd(45, -104, 0, 1)}
nABD_sec[11] {pt3dclear() pt3dadd(45, -74, 0, 1) pt3dadd(75, -89, 0, 1)}
nABD_sec[12] {pt3dclear() pt3dadd(-14, -59, 0, 1) pt3dadd(-44, -59, 0, 1)}
nABD_sec[13] {pt3dclear() pt3dadd(-14, -59, 0, 1) pt3dadd(-14, -89, 0, 1)}
nABD_sec[14] {pt3dclear() pt3dadd(-14, -89, 0, 1) pt3dadd(-29, -119, 0, 1)}
nABD_sec[15] {pt3dclear() pt3dadd(-14, -89, 0, 1) pt3dadd(0, -119, 0, 1)}
nABD_sec[16] {pt3dclear() pt3dadd(-44, 0, 0, 1) pt3dadd(-59, 15, 0, 1)}
nABD_sec[17] {pt3dclear() pt3dadd(-44, 0, 0, 1) pt3dadd(-59, -14, 0, 1)}
}
objref all, all_biophys, all_ABD
proc subsets() { local i
objref all, all_biophys, all_ABD
all = new SectionList()
soma all.append()
for i=0, 3 ABD[i] all.append()
axonstart all.append()
AIS all.append()
axon all.append()
axoD all.append()
for i=0, 3 axoD_sec[i] all.append()
for i=0, 2 interD[i] all.append()
for i=0, 13 interD_sec[i] all.append()
for i=0, 2 nABD[i] all.append()
for i=0, 17 nABD_sec[i] all.append()
all_biophys = new SectionList()
for i=0, 3 ABD[i] all_biophys.append()
axonstart all_biophys.append()
axoD all_biophys.append()
for i=0, 3 axoD_sec[i] all_biophys.append()
for i=0, 2 interD[i] all_biophys.append()
for i=0, 13 interD_sec[i] all_biophys.append()
for i=0, 2 nABD[i] all_biophys.append()
for i=0, 17 nABD_sec[i] all_biophys.append()
all_ABD= new SectionList()
for i=0, 3 ABD[i] all_ABD.append()
axonstart all_ABD.append()
axoD all_ABD.append()
for i=0, 3 axoD_sec[i] all_ABD.append()
for i=0, 2 interD[i] all_ABD.append()
for i=0, 13 interD_sec[i] all_ABD.append()
}
proc geom() {
soma { L = 27 }
ABD { L = 18 }
ABD[1] { L = 18 }
ABD[2] { L = 5 }
ABD[3] { L = 11 }
axonstart { L = 20.3 }
AIS { L = 36 }
axon { L = 800 }
axoD { L = 34 }
axoD_sec { L = 38 }
axoD_sec[1] { L = 71 }
axoD_sec[2] { L = 502 }
axoD_sec[3] { L = 177 }
interD { L = 55 }
interD[1] { L = 50 }
interD[2] { L = 11 }
interD_sec { L = 137 }
interD_sec[1] { L = 145 }
interD_sec[2] { L = 86 }
interD_sec[3] { L = 302 }
interD_sec[4] { L = 6 }
interD_sec[5] { L = 34 }
interD_sec[6] { L = 5 }
interD_sec[7] { L = 36 }
interD_sec[8] { L = 88 }
interD_sec[9] { L = 20 }
interD_sec[10] { L = 16 }
interD_sec[11] { L = 19 }
interD_sec[12] { L = 25 }
interD_sec[13] { L = 22 }
nABD { L = 23 }
nABD[1] { L = 38 }
nABD[2] { L = 49 }
nABD_sec { L = 88 }
nABD_sec[1] { L = 92 }
nABD_sec[2] { L = 55 }
nABD_sec[3] { L = 522 }
nABD_sec[4] { L = 85 }
nABD_sec[5] { L = 86 }
nABD_sec[6] { L = 24 }
nABD_sec[7] { L = 137 }
nABD_sec[8] { L = 443 }
nABD_sec[9] { L = 108 }
nABD_sec[10] { L = 207 }
nABD_sec[11] { L = 288 }
nABD_sec[12] { L = 113 }
nABD_sec[13] { L = 43 }
nABD_sec[14] { L = 132 }
nABD_sec[15] { L = 148 }
nABD_sec[16] { L = 7 }
nABD_sec[17] { L = 47 }
// nseg definition has to be launched before diam definition for tapering to be taken into account
forsec all { nseg = int((L/(0.1*lambda_f(1000))+.999)/2)*2 + 1 }
soma { diam = 10 }
ABD { diam(0:1) = 3.8:3.5 }
ABD[1] { diam(0:1) = 3.5:2.5 }
ABD[2] { diam(0:1) = 2.5:2.2 }
ABD[3] { diam(0:1) = 2.2:1.8 }
axonstart { diam(0:1) = 1.18:1.2 }
AIS { diam(0:1) = 1.2:0.8 }
axon { diam = 0.8 }
axoD { diam(0:1) = 1.5:1 }
axoD_sec { diam = 1 }
axoD_sec[1] { diam = 1 }
axoD_sec[2] { diam = 0.8 }
axoD_sec[3] { diam = 0.8 }
interD { diam(0:1) = 1.5:1.3 }
interD[1] { diam(0:1) = 1.7:1.5 }
interD[2] { diam(0:1) = 1.4:1.2 }
interD_sec { diam = 1 }
interD_sec[1] { diam = 1 }
interD_sec[2] { diam = 0.8 }
interD_sec[3] { diam = 1 }
interD_sec[4] { diam = 0.8 }
interD_sec[5] { diam = 0.8 }
interD_sec[6] { diam = 0.8 }
interD_sec[7] { diam = 0.8 }
interD_sec[8] { diam = 1 }
interD_sec[9] { diam = 1 }
interD_sec[10] { diam = 0.8 }
interD_sec[11] { diam = 0.8 }
interD_sec[12] { diam = 0.8 }
interD_sec[13] { diam = 0.8 }
nABD { diam(0:1) = 2.5:2 }
nABD[1] { diam(0:1) = 3:2.5 }
nABD[2] { diam(0:1) = 2.2:2 }
nABD_sec { diam = 1.5 }
nABD_sec[1] { diam = 0.8 }
nABD_sec[2] { diam = 0.8 }
nABD_sec[3] { diam = 1 }
nABD_sec[4] { diam = 0.8 }
nABD_sec[5] { diam = 0.8 }
nABD_sec[6] { diam = 1.5 }
nABD_sec[7] { diam = 1.5 }
nABD_sec[8] { diam = 1 }
nABD_sec[9] { diam = 1 }
nABD_sec[10] { diam = 0.8 }
nABD_sec[11] { diam = 0.8 }
nABD_sec[12] { diam = 1 }
nABD_sec[13] { diam = 1 }
nABD_sec[14] { diam = 0.8 }
nABD_sec[15] { diam = 0.8 }
nABD_sec[16] { diam = 1 }
nABD_sec[17] { diam = 1 }
}
proc biophys() {
forsec all {
Ra = 150
cm = 0.75
insert pasnts
g_pasnts = 1e-05
e_pasnts = -50
}
forsec all_biophys {
insert CAV13
gbar_CAV13 = 1.25
iLCa_CAV13 = 0
insert Ih
gbar_Ih = 3
insert kaDa
gbar_kaDa = 50
taurecov_kaDa = 25
insert kdrDA
gbar_kdrDA = 150
insert Na12
gbar_Na12 = 75
insert cad
insert kca
gbar_kca = 0.1
}
soma {
insert CAV13
gbar_CAV13 = 1.25
iLCa_CAV13 = 0
insert Ih
gbar_Ih = 3
insert kaDasoma
gbar_kaDasoma = 150
taurecov_kaDasoma = 25
insert kdrDA
gbar_kdrDA = 150
insert Na12
gbar_Na12 = 75
insert cad
insert kca
gbar_kca = 0.1
}
AIS {
insert kdrDA
gbar_kdrDA = 4000
insert Na12
gbar_Na12 = 4000
}
axon {
insert kdrDA
gbar_kdrDA = 400
insert Na12
gbar_Na12 = 400
}
forsec all { ena=60
ek=-90 }
}
access soma
celldef()