Long time windows from theta modulated inhib. in entorhinal–hippo. loop (Cutsuridis & Poirazi 2015)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:181967
"A recent experimental study (Mizuseki et al., 2009) has shown that the temporal delays between population activities in successive entorhinal and hippocampal anatomical stages are longer (about 70–80 ms) than expected from axon conduction velocities and passive synaptic integration of feed-forward excitatory inputs. We investigate via computer simulations the mechanisms that give rise to such long temporal delays in the hippocampus structures. ... The model shows that the experimentally reported long temporal delays in the DG, CA3 and CA1 hippocampal regions are due to theta modulated somatic and axonic inhibition..."
Reference:
1 . Cutsuridis V, Poirazi P (2015) A computational study on how theta modulated inhibition can account for the long temporal windows in the entorhinal-hippocampal loop. Neurobiol Learn Mem 120:69-83 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Dentate gyrus granule cell; Hippocampus CA1 pyramidal cell; Hippocampus CA3 pyramidal cell; Hippocampus CA3 interneuron basket cell; Dentate gyrus mossy cell; Dentate gyrus basket cell; Dentate gyrus hilar cell; Hippocampus CA1 basket cell; Hippocampus CA3 stratum oriens lacunosum-moleculare interneuron; Hippocampus CA1 bistratified cell; Hippocampus CA1 axo-axonic cell; Hippocampus CA3 axo-axonic cells;
Channel(s): I Na,t; I L high threshold; I N; I T low threshold; I A; I K; I M; I h; I K,Ca; I_AHP;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Pattern Recognition; Temporal Pattern Generation; Spatio-temporal Activity Patterns; Brain Rhythms; Storage/recall;
Implementer(s): Cutsuridis, Vassilis [vcutsuridis at gmail.com];
Search NeuronDB for information about:  Dentate gyrus granule cell; Hippocampus CA1 pyramidal cell; Hippocampus CA3 pyramidal cell; Hippocampus CA3 interneuron basket cell; GabaA; AMPA; NMDA; I Na,t; I L high threshold; I N; I T low threshold; I A; I K; I M; I h; I K,Ca; I_AHP;
/
CutsuridisPoirazi2015
Results
Weights
readme.html
ANsyn.mod *
bgka.mod *
borgkm.mod *
burststim.mod
cacumm.mod *
cad.mod
cadiv.mod *
cagk.mod
cagk2.mod
cagk3.mod
cal.mod *
cal1.mod
cal2.mod
calH.mod *
can2.mod *
can3.mod
car.mod *
cat.mod *
cat2.mod
cat3.mod
ccanl.mod *
distr.mod *
gskch.mod *
h.mod *
h2.mod
hha_old.mod *
hha2.mod *
hNa.mod *
hyperde3.mod *
IA.mod *
ichan2.mod *
Ih.mod *
kad.mod *
kahp.mod *
KahpM95.mod *
kap.mod *
kaprox.mod
Kaxon.mod *
kca.mod *
kd.mod *
Kdend.mod *
kdr.mod *
kdrca1.mod *
km.mod *
km2.mod
Ksoma.mod *
LcaMig.mod *
my_exp2syn.mod *
na3n.mod *
Naaxon.mod *
Nadend.mod *
nahh.mod *
Nasoma.mod *
naxn.mod *
nca.mod *
nmda.mod *
regn_stim.mod *
somacar.mod *
BasketCell.hoc
burst_cell.hoc
CA1AAC.hoc
CA1BC.hoc
CA1BSC.hoc
CA1OLM.hoc
CA1PC.hoc
CA3AAC.hoc
CA3BC.hoc
CA3BSC.hoc
CA3OLM.hoc
CA3PC.hoc
GC.hoc
gui.ses
HC.hoc
MC.hoc
mosinit.hoc
network.hoc
OLM.hoc
ranstream.hoc *
rig.hoc
screenshot.png
stim_cell.hoc
                            
//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


Loading data, please wait...