// Network cell template // CA1PyramidalCell // Geometry: 14 sections + axon // Active properties: from Poirazi et al, Neuron 2003 // Adjusted to get more decrementing BPAP // BPG & VCU, 2-1-09 begintemplate CA1PyramidalCell public is_art public init, topol, basic_shape, subsets, geom, biophys public pre_list, connect2target public soma, radTprox, radTmed, radTdist, lm_thick2, lm_medium2, lm_thin2 public lm_thick1, lm_medium1, lm_thin1, oriprox1, oridist1, oriprox2, oridist2 public axon public all objref pre_list proc init() { topol() subsets() geom() biophys() geom_nseg() pre_list = new List() synapses() } create soma, oriprox1, oridist1, oriprox2, oridist2, axon, radTprox create radTmed, radTdist, lm_thick2, lm_medium2, lm_thin2, lm_thick1, lm_medium1 create lm_thin1, radTprox_obl2, radTprox_obl1, radTdist_obl2, radTdist_obl1 proc topol() { local i connect oriprox1(0), soma(0) connect oridist1(0), oriprox1(1) connect oriprox2(0), soma(1) connect oridist2(0), oriprox2(1) connect axon(0), soma(0) connect radTprox(0), soma(1) connect radTmed(0), radTprox(1) connect radTdist(0), radTmed(1) connect lm_thick2(0), radTdist(1) connect lm_medium2(0), lm_thick2(1) connect lm_thin2(0), lm_medium2(1) connect lm_thick1(0), radTdist(1) connect lm_medium1(0), lm_thick1(1) connect lm_thin1(0), lm_medium1(1) connect radTprox_obl2(0), radTprox(1) connect radTprox_obl1(0), radTprox(1) connect radTdist_obl2(0), radTmed(1) connect radTdist_obl1(0), radTmed(1) basic_shape() } proc basic_shape() { soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(15, 0, 0, 1)} oriprox1 {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(-14, -14, 0, 1)} oridist1 {pt3dclear() pt3dadd(-14, -14, 0, 1) pt3dadd(-44, -29, 0, 1)} oriprox2 {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(30, -14, 0, 1)} oridist2 {pt3dclear() pt3dadd(30, -14, 0, 1) pt3dadd(60, -29, 0, 1)} axon {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, -89, 0, 1)} radTprox {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(15, 30, 0, 1)} radTmed {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(15, 60, 0, 1)} radTdist {pt3dclear() pt3dadd(15, 60, 0, 1) pt3dadd(15, 90, 0, 1)} lm_thick2 {pt3dclear() pt3dadd(15, 90, 0, 1) pt3dadd(30, 105, 0, 1)} lm_medium2 {pt3dclear() pt3dadd(30, 105, 0, 1) pt3dadd(45, 120, 0, 1)} lm_thin2 {pt3dclear() pt3dadd(45, 120, 0, 1) pt3dadd(60, 135, 0, 1)} lm_thick1 {pt3dclear() pt3dadd(15, 90, 0, 1) pt3dadd(0, 105, 0, 1)} lm_medium1 {pt3dclear() pt3dadd(0, 105, 0, 1) pt3dadd(-14, 120, 0, 1)} lm_thin1 {pt3dclear() pt3dadd(-14, 120, 0, 1) pt3dadd(-29, 135, 0, 1)} radTprox_obl2 {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(45, 45, 0, 1)} radTprox_obl1 {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(-14, 45, 0, 1)} radTdist_obl2 {pt3dclear() pt3dadd(15, 60, 0, 1) pt3dadd(30, 75, 0, 1)} radTdist_obl1 {pt3dclear() pt3dadd(15, 60, 0, 1) pt3dadd(-14, 90, 0, 1)} } objref all proc subsets() { local i objref all all = new SectionList() soma all.append() oriprox1 all.append() oridist1 all.append() oriprox2 all.append() oridist2 all.append() axon all.append() radTprox all.append() radTmed all.append() radTdist all.append() lm_thick2 all.append() lm_medium2 all.append() lm_thin2 all.append() lm_thick1 all.append() lm_medium1 all.append() lm_thin1 all.append() radTprox_obl2 all.append() radTprox_obl1 all.append() radTdist_obl2 all.append() radTdist_obl1 all.append() } proc geom() { soma { L = 10 diam = 10 } // SR is first 500um of apical dendrite radTprox { L = 100 diam = 4 } // L = 100 diam = 4 radTmed { L = 100 diam = 3 } // L = 100 diam = 3 radTdist { L = 200 diam = 2 } // L = 200 diam = 2 radTprox_obl1 { L = 100 diam = 4 } radTprox_obl2 { L = 100 diam = 4 } radTdist_obl1 { L = 100 diam = 2 } radTdist_obl2 { L = 100 diam = 2 } // LM is final 300um of apical dendrite lm_thick2 { L = 100 diam = 2 } // L = 100 diam = 2 lm_medium2 { L = 100 diam = 1.5 } lm_thin2 { L = 50 diam = 1 } lm_thick1 { L = 100 diam = 2 } // L = 100 diam = 2 lm_medium1 { L = 100 diam = 1.5 } lm_thin1 { L = 50 diam = 1 } // Basal dendrites extend 300 um oriprox1 { L = 100 diam = 2 } oridist1 { L = 200 diam = 1.5 } oriprox2 { L = 100 diam = 2 } oridist2 { L = 200 diam = 1.5 } // Short section of axon axon { L = 150 diam = 1 } } external lambda_f proc geom_nseg() { forsec all { nseg = int((L/(0.1*lambda_f(100))+.9)/2)*2 + 1 } } proc biophys() { forsec all { // Rm = 28000 // Ohm.cm^2 (Migliore value) Rm = 20000 // Ohm.cm^2 (Migliore value) // gka_soma = 0.0075 // gka_soma = 0.005 gka_soma = 0.0025 gh_soma = 0.00005 } soma { insert hha2 // HH mechanism with low threshold for Na spikes (-57 mV) gnabar_hha2 = 0.007 gkbar_hha2 = 0.007/5 gl_hha2 = 0 el_hha2 = -70 insert pas // leak conductance g_pas = 1/Rm insert hd2 // h current according to Migliore et al. 2004 // ghdbar_hd = 0 ghdbar_hd = gh_soma vhalfl_hd = -73 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert kap // proximal A current // gkabar_kap = 0.00075 gkabar_kap = gka_soma //0.0075 insert km // m-type potassium current gbar_km = 0.06 insert cal // HVA Ca++-L type current //gcalbar_cal = 0.014/2 gcalbar_cal = 0.0014/2 insert cat // LVA Ca++-T type current gcatbar_cat = 0.0001/2 insert somacar // HVAm Ca++-R type current // gcabar_somacar = 0.003 gcabar_somacar = 0.0003 insert kca // K(Ca) sAHP potassium type current gbar_kca = 5*0.0001 // gbar_kca = 0 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 0.09075 // gkbar_cagk2 = 0 insert cad // calcium pump/buffering mechanism } radTprox { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 2*gh_soma //0.000005 // ghdbar_hd = 7*gh_soma //0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases // gcalbar_calH = 4.6*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 2*gka_soma //0.0075 // gkabar_kap = 0.00075 //0.0075 insert kad // gkabar_kad = 0.00075 gkabar_kad = 6*gka_soma insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTprox_obl1 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 2*gh_soma //0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 2*gka_soma //0.0075 // gkabar_kap = 0.00075 insert kad // gkabar_kad = 0.00075 gkabar_kad = 2*gka_soma insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTprox_obl2 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 2*gh_soma //0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH // gcalbar_calH = 0.1*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases gcalbar_calH = 10*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 2*gka_soma //0.0075 // gkabar_kap = 0.00075 insert kad // gkabar_kad = 0.00075 gkabar_kad = 2*gka_soma insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTmed { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 4*gh_soma // 0.000005 // ghdbar_hd = 7*gh_soma // 0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car // HVAm Ca++-R type current gcabar_car = 0.1*0.0003 insert calH // HVA L-type Ca2+ channel used in distal dendrites to account for // distally restricted initiation of Ca2+ spikes // gcalbar_calH = 4.6*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases gcalbar_calH = 10*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat // HVA T-type Ca2+ channel gcatbar_cat = 0.0001 // 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 0 insert kad gkabar_kad = 4*gka_soma // gkabar_kad = 0.00075 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTdist { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 7*gh_soma // 0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH // gcalbar_calH = 4.6*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases gcalbar_calH = 10*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 0.5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 0 insert kad gkabar_kad = 6*gka_soma // gkabar_kad = 0.00075 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTdist_obl1 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 7*gh_soma // 0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH // gcalbar_calH = 4.6*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases gcalbar_calH = 10*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 0.5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 0.25*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 0 insert kad gkabar_kad = 6*gka_soma // gkabar_kad = 0.00075 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } radTdist_obl2 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 7*gh_soma // 0.000005 vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH // gcalbar_calH = 4.6*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases gcalbar_calH = 10*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 0.5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 // gbar_kca = 0 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 0.25*0.0165 // gkbar_cagk2 = 0 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = 0 insert kad gkabar_kad = 6*gka_soma // gkabar_kad = 0.00075 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } lm_thick2 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } lm_medium2 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } lm_thin2 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } lm_thick1 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } lm_medium1 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } lm_thin1 { insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 gl_hha_old = 0 insert pas // passive properties g_pas = 1/200000 insert kad // Insert basal A current gkabar_kad = 6.5*gka_soma // gkabar_kad = 0.00075 } oriprox1 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = gh_soma vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = gka_soma //0.0075 // gkabar_kap = 0.00075 insert kad gkabar_kad = 0 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } oridist1 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 2*gh_soma vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from 4.6*0.00031635 to 0.1*0.00031635 insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current gkabar_kap = gka_soma //0.0075 // gkabar_kap = 0.00075 insert kad gkabar_kad = 0 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } oriprox2 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = gh_soma vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from .1*0.00031635 to 4.6*0.00031635 as distance increases insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current // gkabar_kap = 0.0075 //0.0075 gkabar_kap = 0.00075 insert kad gkabar_kad = 0 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } oridist2 { insert hd2 // h current according to Migliore et al. 2004 ghdbar_hd = 2*gh_soma vhalfl_hd = -81 // insert hNa // h current according to Poirazi 2003 // gbar_h = 0.000043 // anything above 0.000043 gives hyperpolarizing oscillations // gbar_h = 1.872e-5 // K_h = 8.8 // vhalf_h = -82 insert car gcabar_car = 0.1*0.0003 insert calH gcalbar_calH = 0.1*0.00031635 // varies from 4.6*0.00031635 to 0.1*0.00031635 insert cat gcatbar_cat = 0.0001 insert cad // calcium pump/buffering mechanism insert kca // slow AHP K+ current gbar_kca = 5*0.0001 // varies depending on distance from 0.5*0.0001 to 5*0.0001 insert cagk2 // medium AHP K++ current gkbar_cagk2 = 2*0.0165 insert km // m-type K current gbar_km = 0.06 // varies with distance (see Poirazzi et al. 2003 cell-setup.hoc file) insert kap // Inserting A-current // gkabar_kap = 0.0075 //0.0075 gkabar_kap = 0.00075 insert kad gkabar_kad = 0 insert hha_old // HH mechanism with high threshold for Na spikes (-50 mV) gnabar_hha_old = 0.007 gkbar_hha_old = 0.007/8.065 el_hha_old = -70 insert pas // leak conductance } axon { insert hha2 // HH mechanism with low threshold for Na spikes (-57 mV) gnabar_hha2 = .1 gkbar_hha2 = .1/5 gl_hha2 = 0 el_hha2 = -70 insert pas // leak conductance g_pas = 1/Rm insert km // m-type potassium current gbar_km = 0.5*0.06 } forsec all { ek = -80 ena = 50 e_pas = -70 g_pas = 1/Rm Ra = 50 // Ra = 100 // Ra = 150 cm = 1 } } obfunc connect2target() { localobj nc //$o1 target point process, optional $o2 returned NetCon soma nc = new NetCon(&v(1), $o1) nc.threshold = -10 if (numarg() == 2) { $o2 = nc } // for backward compatibility return nc } objref syn_ proc synapses() { /* E0 */ lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input *** DONT USE THIS *** syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E1 */ lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input *** DONT USE THIS *** syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E2 */ radTmed syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals *** DONT USE THIS *** syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E3 */ radTmed syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals *** DONT USE THIS *** syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond /* E4 */ radTprox syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA PC recurrent input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* I5 */ soma syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A B cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I6 */ axon syn_ = new MyExp2Syn(0.1) pre_list.append(syn_) // GABA-A AA cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I7 */ lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I8 */ lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-A OLM cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I9 */ lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I10 */ lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // GABA-B OLM cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I11 */ radTmed syn_ = new MyExp2Syn(0.8) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I12 */ radTmed syn_ = new MyExp2Syn(0.7) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I13 */ radTmed syn_ = new MyExp2Syn(0.6) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I14 */ radTmed syn_ = new MyExp2Syn(0.4) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I15 */ radTmed syn_ = new MyExp2Syn(0.3) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I16 */ radTmed syn_ = new MyExp2Syn(0.2) pre_list.append(syn_) // GABA-A BS cells syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 /* I17 */ radTmed syn_ = new MyExp2Syn(0.8) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I18 */ radTmed syn_ = new MyExp2Syn(0.7) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I19 */ radTmed syn_ = new MyExp2Syn(0.6) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I20 */ radTmed syn_ = new MyExp2Syn(0.4) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I21 */ radTmed syn_ = new MyExp2Syn(0.3) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* I22 */ radTmed syn_ = new MyExp2Syn(0.2) pre_list.append(syn_) // GABA-B BS cells syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 /* E23 */ lm_thick1 syn_ = new MyExp2Syn(0.1) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E24 */ lm_thick2 syn_ = new MyExp2Syn(0.1) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E25 */ lm_thick1 syn_ = new MyExp2Syn(0.2) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E26 */ lm_thick2 syn_ = new MyExp2Syn(0.2) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E27 */ lm_thick1 syn_ = new MyExp2Syn(0.3) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E28 */ lm_thick2 syn_ = new MyExp2Syn(0.3) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E29 */ lm_thick1 syn_ = new MyExp2Syn(0.4) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E30 */ lm_thick2 syn_ = new MyExp2Syn(0.4) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E31 */ lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E32 */ lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E33 */ lm_thick1 syn_ = new MyExp2Syn(0.6) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E34 */ lm_thick2 syn_ = new MyExp2Syn(0.6) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E35 */ lm_thick1 syn_ = new MyExp2Syn(0.7) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E36 */ lm_thick2 syn_ = new MyExp2Syn(0.7) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E37 */ lm_thick1 syn_ = new MyExp2Syn(0.8) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E38 */ lm_thick2 syn_ = new MyExp2Syn(0.8) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E39 */ lm_thick1 syn_ = new MyExp2Syn(0.9) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E40 */ lm_thick2 syn_ = new MyExp2Syn(0.9) pre_list.append(syn_) // AMPA EC input syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E41 */ radTmed syn_ = new MyExp2Syn(0.1) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E42 */ radTmed syn_ = new MyExp2Syn(0.2) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E43 */ radTmed syn_ = new MyExp2Syn(0.3) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E44 */ radTmed syn_ = new MyExp2Syn(0.4) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E45 */ radTmed syn_ = new MyExp2Syn(0.5) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E46 */ radTmed syn_ = new MyExp2Syn(0.6) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E47 */ radTmed syn_ = new MyExp2Syn(0.7) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E48 */ radTmed syn_ = new MyExp2Syn(0.8) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E49 */ radTmed syn_ = new MyExp2Syn(0.9) pre_list.append(syn_) // AMPA CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 /* E50 */ radTmed syn_ = new NMDA(0.2) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond /* E51 */ radTmed syn_ = new NMDA(0.4) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond /* E52 */ radTmed syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond /* E53 */ radTmed syn_ = new NMDA(0.6) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond /* E54 */ radTmed syn_ = new NMDA(0.8) pre_list.append(syn_) // NMDA CA3 Schaffer collaterals syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 // use connection weight to determine max cond // /* E55 */ lm_thick1 syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA EC perforant path // syn_.tcon = 2.3 // syn_.tcoff = 100 // syn_.gNMDAmax = 1 // use connection weight to determine max cond // /* E56 */ lm_thick2 syn_ = new NMDA(0.5) pre_list.append(syn_) // NMDA EC perforant path // syn_.tcon = 2.3 // syn_.tcoff = 100 // syn_.gNMDAmax = 1 // use connection weight to determine max cond } func is_art() { return 0 } endtemplate CA1PyramidalCell