//execute1("celltypes.element(\"Cell\")")
begintemplate CA3PyramidalCell
public init, topol, basic_shape, subsets, geom, biophys, geom_nseg, biophys_inhomo
public pre_list, x, y, z, position, connect2target
public is_art
public L4_dend, L3_dend, L2_dend, L1_dend, soma, L6_dend, L7_obl_dend
public L7_dend, L8_dend, L9_obl_dend, L9_dend, L10_dend, L11_dend
public all, SDlevel5, SDlevel6, SDlevel7, SDlevel8, SDlevel9, SDlevel10
public SDlevel11, SDlevel1, SDlevel2, SDlevel3, SDlevel4, SDlevel7obl, SDlevel9obl
nst=10
objectvar stim[nst]
double stimdur[nst], stimdel[nst], stimamp[nst]
FARADAY=96520
PI=3.14159
secondorder=2
dt=0.025
Tstop = 1000
celsius=30
objref pre_list
proc init() {
pre_list = new List()
topol()
subsets()
geom()
biophys()
geom_nseg()
synapses()
// x = y = z = 0 // only change via position
}
create L4_dend[2], L3_dend[4], L2_dend[8], L1_dend[16], soma, L6_dend[2], L7_obl_dend[2]
create L7_dend[2], L8_dend[4], L9_obl_dend[4], L9_dend[4], L10_dend[8], L11_dend[8]
proc topol() { local i
connect L4_dend[1](0), L4_dend(0)
for i = 0, 1 connect L3_dend[i](0), L4_dend(0)
for i = 2, 3 connect L3_dend[i](0), L4_dend(1)
for i = 0, 1 connect L2_dend[i](0), L3_dend(1)
for i = 2, 3 connect L2_dend[i](0), L3_dend[1](1)
for i = 4, 5 connect L2_dend[i](0), L3_dend[3](1)
for i = 6, 7 connect L2_dend[i](0), L3_dend[2](1)
for i = 0, 1 connect L1_dend[i](0), L2_dend[1](1)
for i = 2, 3 connect L1_dend[i](0), L2_dend(1)
for i = 4, 5 connect L1_dend[i](0), L2_dend[2](1)
for i = 6, 7 connect L1_dend[i](0), L2_dend[3](1)
for i = 8, 9 connect L1_dend[i](0), L2_dend[4](1)
for i = 10, 11 connect L1_dend[i](0), L2_dend[5](1)
for i = 12, 13 connect L1_dend[i](0), L2_dend[i-6](1)
for i = 14, 15 connect L1_dend[i](0), L2_dend[i-8](1)
connect soma(0), L4_dend(1)
for i = 0, 1 connect L6_dend[i](0), soma(1)
for i = 0, 1 connect L7_obl_dend[i](0), L6_dend[i](1)
for i = 0, 1 connect L7_dend[i](0), L6_dend[i](1)
for i = 0, 1 connect L8_dend[i](0), L7_dend(1)
for i = 2, 3 connect L8_dend[i](0), L7_dend[1](1)
for i = 0, 3 connect L9_obl_dend[i](0), L8_dend[i](1)
for i = 0, 3 connect L9_dend[i](0), L8_dend[i](1)
for i = 0, 1 connect L10_dend[i](0), L9_dend(1)
for i = 2, 3 connect L10_dend[i](0), L9_dend[1](1)
for i = 4, 5 connect L10_dend[i](0), L9_dend[2](1)
for i = 6, 7 connect L10_dend[i](0), L9_dend[3](1)
connect L11_dend(0), L10_dend[1](1)
connect L11_dend[1](0), L10_dend(1)
for i = 2, 7 connect L11_dend[i](0), L10_dend[i](1)
// basic_shape()
}
/*proc basic_shape() {
L4_dend {pt3dclear() pt3dadd(-29, -14, 0, 1) pt3dadd(-14, -14, 0, 1)}
L3_dend {pt3dclear() pt3dadd(-29, -14, 0, 1) pt3dadd(-44, -44, 0, 1)}
L3_dend[1] {pt3dclear() pt3dadd(-29, -14, 0, 1) pt3dadd(-29, -44, 0, 1)}
L3_dend[2] {pt3dclear() pt3dadd(-14, -14, 0, 1) pt3dadd(15, -59, 0, 1)}
L3_dend[3] {pt3dclear() pt3dadd(-14, -14, 0, 1) pt3dadd(-14, -44, 0, 1)}
L2_dend {pt3dclear() pt3dadd(-44, -44, 0, 1) pt3dadd(-74, -74, 0, 1)}
L2_dend[1] {pt3dclear() pt3dadd(-44, -44, 0, 1) pt3dadd(-74, -59, 0, 1)}
L1_dend {pt3dclear() pt3dadd(-74, -59, 0, 1) pt3dadd(-104, -59, 0, 1)}
L1_dend[1] {pt3dclear() pt3dadd(-74, -59, 0, 1) pt3dadd(-104, -74, 0, 1)}
L1_dend[2] {pt3dclear() pt3dadd(-74, -74, 0, 1) pt3dadd(-104, -89, 0, 1)}
L1_dend[3] {pt3dclear() pt3dadd(-74, -74, 0, 1) pt3dadd(-89, -104, 0, 1)}
L2_dend[2] {pt3dclear() pt3dadd(-29, -44, 0, 1) pt3dadd(-44, -74, 0, 1)}
L2_dend[3] {pt3dclear() pt3dadd(-29, -44, 0, 1) pt3dadd(-29, -74, 0, 1)}
L1_dend[4] {pt3dclear() pt3dadd(-44, -74, 0, 1) pt3dadd(-74, -89, 0, 1)}
L1_dend[5] {pt3dclear() pt3dadd(-44, -74, 0, 1) pt3dadd(-59, -104, 0, 1)}
L1_dend[6] {pt3dclear() pt3dadd(-29, -74, 0, 1) pt3dadd(-44, -104, 0, 1)}
L2_dend[4] {pt3dclear() pt3dadd(-14, -44, 0, 1) pt3dadd(0, -74, 0, 1)}
L2_dend[5] {pt3dclear() pt3dadd(-14, -44, 0, 1) pt3dadd(-14, -74, 0, 1)}
L1_dend[7] {pt3dclear() pt3dadd(-29, -74, 0, 1) pt3dadd(-29, -104, 0, 1)}
L1_dend[8] {pt3dclear() pt3dadd(0, -74, 0, 1) pt3dadd(15, -89, 0, 1)}
L1_dend[9] {pt3dclear() pt3dadd(0, -74, 0, 1) pt3dadd(30, -89, 0, 1)}
L1_dend[10] {pt3dclear() pt3dadd(-14, -74, 0, 1) pt3dadd(0, -104, 0, 1)}
L1_dend[11] {pt3dclear() pt3dadd(-14, -74, 0, 1) pt3dadd(-14, -104, 0, 1)}
L2_dend[6] {pt3dclear() pt3dadd(15, -59, 0, 1) pt3dadd(30, -74, 0, 1)}
L2_dend[7] {pt3dclear() pt3dadd(15, -59, 0, 1) pt3dadd(45, -59, 0, 1)}
L1_dend[12] {pt3dclear() pt3dadd(30, -74, 0, 1) pt3dadd(45, -89, 0, 1)}
L1_dend[13] {pt3dclear() pt3dadd(45, -59, 0, 1) pt3dadd(60, -74, 0, 1)}
L1_dend[14] {pt3dclear() pt3dadd(30, -74, 0, 1) pt3dadd(63, -89, 0, 1)}
L1_dend[15] {pt3dclear() pt3dadd(45, -59, 0, 1) pt3dadd(75, -74, 0, 1)}
soma {pt3dclear() pt3dadd(-14, -14, 0, 1) pt3dadd(-14, 15, 0, 1)}
L6_dend {pt3dclear() pt3dadd(-14, 15, 0, 1) pt3dadd(-29, 30, 0, 1)}
L6_dend[1] {pt3dclear() pt3dadd(-14, 15, 0, 1) pt3dadd(0, 30, 0, 1)}
L7_obl_dend {pt3dclear() pt3dadd(-29, 30, 0, 1) pt3dadd(-59, 45, 0, 1)}
L7_dend {pt3dclear() pt3dadd(-29, 30, 0, 1) pt3dadd(-44, 45, 0, 1)}
L7_dend[1] {pt3dclear() pt3dadd(0, 30, 0, 1) pt3dadd(30, 60, 0, 1)}
L7_obl_dend[1] {pt3dclear() pt3dadd(0, 30, 0, 1) pt3dadd(30, 45, 0, 1)}
L8_dend {pt3dclear() pt3dadd(-44, 45, 0, 1) pt3dadd(-74, 60, 0, 1)}
L8_dend[1] {pt3dclear() pt3dadd(-44, 45, 0, 1) pt3dadd(-29, 75, 0, 1)}
L9_obl_dend {pt3dclear() pt3dadd(-74, 60, 0, 1) pt3dadd(-89, 75, 0, 1)}
L9_dend {pt3dclear() pt3dadd(-74, 60, 0, 1) pt3dadd(-74, 90, 0, 1)}
L10_dend {pt3dclear() pt3dadd(-74, 90, 0, 1) pt3dadd(-59, 120, 0, 1)}
L10_dend[1] {pt3dclear() pt3dadd(-74, 90, 0, 1) pt3dadd(-89, 120, 0, 1)}
L11_dend {pt3dclear() pt3dadd(-89, 120, 0, 1) pt3dadd(-89, 150, 0, 1)}
L11_dend[1] {pt3dclear() pt3dadd(-59, 120, 0, 1) pt3dadd(-59, 150, 0, 1)}
L9_dend[1] {pt3dclear() pt3dadd(-29, 75, 0, 1) pt3dadd(-29, 105, 0, 1)}
L9_obl_dend[1] {pt3dclear() pt3dadd(-29, 75, 0, 1) pt3dadd(-14, 90, 0, 1)}
L10_dend[2] {pt3dclear() pt3dadd(-29, 105, 0, 1) pt3dadd(-44, 120, 0, 1)}
L10_dend[3] {pt3dclear() pt3dadd(-29, 105, 0, 1) pt3dadd(-14, 120, 0, 1)}
L11_dend[2] {pt3dclear() pt3dadd(-44, 120, 0, 1) pt3dadd(-44, 150, 0, 1)}
L11_dend[3] {pt3dclear() pt3dadd(-14, 120, 0, 1) pt3dadd(-14, 150, 0, 1)}
L8_dend[2] {pt3dclear() pt3dadd(30, 60, 0, 1) pt3dadd(15, 75, 0, 1)}
L8_dend[3] {pt3dclear() pt3dadd(30, 60, 0, 1) pt3dadd(45, 75, 0, 1)}
L9_dend[2] {pt3dclear() pt3dadd(15, 75, 0, 1) pt3dadd(15, 105, 0, 1)}
L9_obl_dend[2] {pt3dclear() pt3dadd(15, 75, 0, 1) pt3dadd(0, 90, 0, 1)}
L10_dend[4] {pt3dclear() pt3dadd(15, 105, 0, 1) pt3dadd(0, 120, 0, 1)}
L10_dend[5] {pt3dclear() pt3dadd(15, 105, 0, 1) pt3dadd(30, 135, 0, 1)}
L11_dend[4] {pt3dclear() pt3dadd(0, 120, 0, 1) pt3dadd(0, 150, 0, 1)}
L11_dend[5] {pt3dclear() pt3dadd(30, 135, 0, 1) pt3dadd(30, 165, 0, 1)}
L9_dend[3] {pt3dclear() pt3dadd(45, 75, 0, 1) pt3dadd(45, 105, 0, 1)}
L9_obl_dend[3] {pt3dclear() pt3dadd(45, 75, 0, 1) pt3dadd(60, 90, 0, 1)}
L10_dend[6] {pt3dclear() pt3dadd(45, 105, 0, 1) pt3dadd(30, 120, 0, 1)}
L11_dend[6] {pt3dclear() pt3dadd(30, 120, 0, 1) pt3dadd(45, 150, 0, 1)}
L10_dend[7] {pt3dclear() pt3dadd(45, 105, 0, 1) pt3dadd(60, 120, 0, 1)}
L11_dend[7] {pt3dclear() pt3dadd(60, 120, 0, 1) pt3dadd(60, 150, 0, 1)}
L4_dend[1] {pt3dclear() pt3dadd(-29, -14, 0, 1) pt3dadd(-179, -14, 0, 1)}
}*/
objref all, SDlevel5, SDlevel6, SDlevel7, SDlevel8, SDlevel9, SDlevel10
objref SDlevel11, SDlevel1, SDlevel2, SDlevel3, SDlevel4, SDlevel7obl, SDlevel9obl
proc subsets() { local i
objref all, SDlevel5, SDlevel6, SDlevel7, SDlevel8, SDlevel9, SDlevel10
objref SDlevel11, SDlevel1, SDlevel2, SDlevel3, SDlevel4, SDlevel7obl, SDlevel9obl
all = new SectionList()
SDlevel1 = new SectionList()
for i=0, 15 L1_dend[i] SDlevel1.append()
SDlevel2 = new SectionList()
for i=0, 7 L2_dend[i] SDlevel2.append()
SDlevel3 = new SectionList()
for i=0, 3 L3_dend[i] SDlevel3.append()
SDlevel4 = new SectionList()
for i=0, 1 L4_dend[i] SDlevel4.append()
SDlevel5 = new SectionList()
soma SDlevel5.append()
SDlevel6 = new SectionList()
for i=0, 1 L6_dend[i] SDlevel6.append()
SDlevel7 = new SectionList()
for i=0, 1 L7_dend[i] SDlevel7.append()
SDlevel7obl = new SectionList()
for i=0, 1 L7_obl_dend[i] SDlevel7obl.append()
SDlevel8 = new SectionList()
for i=0, 3 L8_dend[i] SDlevel8.append()
SDlevel9 = new SectionList()
for i=0, 3 L9_dend[i] SDlevel9.append()
SDlevel9obl = new SectionList()
for i=0, 3 L9_obl_dend[i] SDlevel9obl.append()
SDlevel10 = new SectionList()
for i=0, 7 L10_dend[i] SDlevel10.append()
SDlevel11 = new SectionList()
for i=0, 7 L11_dend[i] SDlevel11.append()
}
proc geom() {
forsec SDlevel1 { L = 70 diam = 2 }
forsec SDlevel2 { L = 40 diam = 3.14 }
forsec SDlevel3 { L = 15 diam = 5 }
forsec SDlevel4 { L = 25.5 diam = 30 }
forsec SDlevel5 { L = 50 diam = 10 }
forsec SDlevel6 { L = 50 diam = 6.3 }
forsec SDlevel7 { L = 50 diam = 5 }
forsec SDlevel7obl { L = 70 diam = 2.78 }
forsec SDlevel8 { L = 60 diam = 3.14 }
forsec SDlevel9 { L = 60 diam = 2.5 }
forsec SDlevel9obl { L = 50 diam = 1.4 }
forsec SDlevel10 { L = 60 diam = 1.6 }
forsec SDlevel11 { L = 60 diam = 1.6 }
}
freq = 100 // Hz, frequency at which AC length constant will be computed
d_lambda = 0.1
func lambda_f() { local i, x1, x2, d1, d2, lam
if (n3d() < 2) {
return 1e5*sqrt(diam/(4*PI*$1*Ra*cm))
}
// above was too inaccurate with large variation in 3d diameter
// so now we use all 3-d points to get a better approximate lambda
x1 = arc3d(0)
d1 = diam3d(0)
lam = 0
for i=1, n3d()-1 {
x2 = arc3d(i)
d2 = diam3d(i)
lam += (x2 - x1)/sqrt(d1 + d2)
x1 = x2 d1 = d2
}
// length of the section in units of lambda
lam *= sqrt(2) * 1e-5*sqrt(4*PI*$1*Ra*cm)
return L/lam
}
proc geom_nseg() {
forsec all { nseg = int((L/(0.1*lambda_f(100))+.9)/2)*2 + 1 }
}
proc biophys() {
forall {
insert pas e_pas=-65 g_pas=1/60000 Ra=200
insert cadifus
insert cal1 gcalbar_cal1=0.0025
insert can2 gcanbar_can2=0.0025
insert cat3 gcatbar_cat3=0.00025
insert kahp gkahpbar_kahp=0.0004
insert cagk3 gkbar_cagk3=0.00055
}
forall {
cao=2
cai=50.e-6
ek=-91
v=-65
if (ismembrane("nahh")) {ena=50}
}
for i=0,15 L1_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,7 L2_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,3 L3_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
L4_dend[0] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
soma {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,1 L6_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,1 L7_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,1 L7_obl_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,3 L8_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,3 L9_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,3 L9_obl_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,7 L10_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
for i=0,7 L11_dend[i] {
insert nahh gnabar_nahh=0.015 // 0.015: regular spiking; 0.015: bursting (Migliore et al. (1995))
insert borgkdr gkdrbar_borgkdr=0.009 // 0.03: regular spiking; 0.009: bursting (Migliore et al. (1995))
insert borgka gkabar_borgka=0.0001 // 0.001: regular spiking; 0.0001: bursting (Migliore et al. (1995))
insert borgkm gkmbar_borgkm=0.00002 // 0.0001: regular spiking; 0.00002: bursting (Migliore et al. (1995))
}
// for i=0,0 {
// stimdel[i]=500
// stimdur[i]=200
// stimamp[i]=1
/* 0.4 stim when we want the cell to fire with regular spikes */
// L4_dend[0] stim[i] = new IClamp(0.5)
// stim[i].del=stimdel[i]
// stim[i].dur=stimdur[i]
// stim[i].amp=stimamp[i]
// }
}
//proc biophys_inhomo(){}
//proc position() { local i
// L4_dend for i = 0, n3d()-1 {
// pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
// }
// x = $1 y = $2 z = $3
//}
obfunc connect2target() { localobj nc //$o1 target point process, optional $o2 returned NetCon
L4_dend nc = new NetCon(&v(1), $o1)
nc.threshold = -10
if (numarg() == 2) { $o2 = nc } // for backward compatibility
return nc
}
objref syn_
proc synapses() {
/* E0 */ L11_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E1 */ L11_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E2 */ L11_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E3 */ L11_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E4 */ L11_dend[4] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E5 */ L11_dend[5] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E6 */ L11_dend[6] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E7 */ L11_dend[7] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E8 */ L7_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA DG input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E9 */ L7_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA DG input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E10 */ L7_obl_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA DG input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E11 */ L7_obl_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA DG input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E12 */ L7_dend syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA DG input
syn_.tcon = 2.3
syn_.tcoff = 100
syn_.gNMDAmax = 1 // use connection weight to determine max cond
/* E13 */ L7_dend[1] syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA DG input
syn_.tcon = 2.3
syn_.tcoff = 100
syn_.gNMDAmax = 1 // use connection weight to determine max cond
/* E14 */ L7_obl_dend syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA DG input
syn_.tcon = 2.3
syn_.tcoff = 100
syn_.gNMDAmax = 1 // use connection weight to determine max cond
/* E15 */ L7_obl_dend[1] syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA DG input
syn_.tcon = 2.3
syn_.tcoff = 100
syn_.gNMDAmax = 1 // use connection weight to determine max cond
/* E16 */ L8_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA PC recurrent input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E17 */ L8_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA PC recurrent input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E18 */ L8_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA PC recurrent input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* E19 */ L8_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA PC recurrent input
syn_.tau1 = 0.5
syn_.tau2 = 3
syn_.e = 0
/* I20 */ soma syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A B cell
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I21 */ L4_dend[0] syn_ = new MyExp2Syn(0.1) pre_list.append(syn_) // GABA-A AA cell
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I22 */ L10_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I23 */ L10_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I24 */ L10_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I25 */ L10_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I26 */ L10_dend[4] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I27 */ L10_dend[5] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I28 */ L10_dend[6] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I29 */ L10_dend[7] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I30 */ L10_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I31 */ L10_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I32 */ L10_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I33 */ L10_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I34 */ L10_dend[4] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I35 */ L10_dend[5] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I36 */ L10_dend[6] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I37 */ L10_dend[7] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I38 */ L8_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A BS cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I39 */ L8_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A BS cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I40 */ L8_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A BS cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I41 */ L8_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A BS cells
syn_.tau1 = 1
syn_.tau2 = 8
syn_.e = -75
/* I42 */ L8_dend syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B BS cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I43 */ L8_dend[1] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B BS cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I44 */ L8_dend[2] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B BS cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
/* I45 */ L8_dend[3] syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B BS cells
syn_.tau1 = 35
syn_.tau2 = 100
syn_.e = -75
}
func is_art() { return 0 }
endtemplate CA3PyramidalCell