// Trying to open ../diagnostic/tstop.dat // new end time timtot = 150. // Trying to open ../diagnostic/dt_F.dat // new dt = 0.002 // current clamp control // start time current // 5. 0.75 // 400. 0. // COMPART. LEVEL RADIUS LENGTH(MU) // 1 1 8.00 15.0 // 2 2 0.50 50.0 // 3 2 0.50 50.0 // 4 2 0.50 50.0 // 5 2 0.50 50.0 // 6 2 0.50 50.0 // 7 2 0.50 50.0 // 8 2 0.50 50.0 // 9 2 0.50 50.0 // 10 2 0.50 50.0 // 11 2 0.50 50.0 // 12 2 0.50 50.0 // 13 2 0.50 50.0 // 14 3 0.50 50.0 // 15 3 0.50 50.0 // 16 3 0.50 50.0 // 17 3 0.50 50.0 // 18 3 0.50 50.0 // 19 3 0.50 50.0 // 20 3 0.50 50.0 // 21 3 0.50 50.0 // 22 3 0.50 50.0 // 23 3 0.50 50.0 // 24 3 0.50 50.0 // 25 3 0.50 50.0 // 26 4 0.50 50.0 // 27 4 0.50 50.0 // 28 4 0.50 50.0 // 29 4 0.50 50.0 // 30 4 0.50 50.0 // 31 4 0.50 50.0 // 32 4 0.50 50.0 // 33 4 0.50 50.0 // 34 4 0.50 50.0 // 35 4 0.50 50.0 // 36 4 0.50 50.0 // 37 4 0.50 50.0 // 38 5 4.00 50.0 // 39 6 3.60 50.0 // 40 7 3.20 50.0 // 41 8 2.00 50.0 // 42 8 2.00 50.0 // 43 9 2.00 50.0 // 44 9 2.00 50.0 // 45 10 0.80 50.0 // 46 10 0.80 50.0 // 47 10 0.80 50.0 // 48 10 0.80 50.0 // 49 10 0.80 50.0 // 50 10 0.80 50.0 // 51 10 0.80 50.0 // 52 10 0.80 50.0 // 53 11 0.80 50.0 // 54 11 0.80 50.0 // 55 11 0.80 50.0 // 56 11 0.80 50.0 // 57 11 0.80 50.0 // 58 11 0.80 50.0 // 59 11 0.80 50.0 // 60 11 0.80 50.0 // 61 12 0.80 50.0 // 62 12 0.80 50.0 // 63 12 0.80 50.0 // 64 12 0.80 50.0 // 65 12 0.80 50.0 // 66 12 0.80 50.0 // 67 12 0.80 50.0 // 68 12 0.80 50.0 // 69 0 0.90 25.0 // 70 0 0.70 50.0 // 71 0 0.50 50.0 // 72 0 0.50 50.0 // 73 0 0.50 50.0 // 74 0 0.50 50.0 // TOTAL DENDRITIC AREA 35186. /* suppyrRS/suppyrRS_template.hoc automatically written from f2nrn/neuron_code_writer.f via subroutines that were inserted into the fortran code e.g., suppyrRS/integrate_suppyrRS.hoc The template's form was derived by Tom Morse and Michael Hines from a template, pyr3_template created by Roger Traub and Maciej Lazarewicz when they ported Traub RD, Buhl EH, Gloveli T, Whittington MA. Fast Rhythmic Bursting Can Be Induced in Layer 2/3 Cortical Neurons by Enhancing Persistent Na(+) Conductance or by Blocking BK Channels.J Neurophysiol. 2003 Feb;89(2):909-21. to NEURON */ begintemplate suppyrRS public type // parts of the template were lifted from a default // cell writing from Network Builder NetGUI[0] public is_art public init, topol, basic_shape, subsets public geom, biophys public synlist, x, y, z, position public connect2target public set_netcon_src_comp // the above function added to set neton // compartment source in the presyn cell public comp, level, Soma, Dendrites public Soma_Dendrites, Axon, all public presyn_comp, top_level // it is the responsibility of the calling // program to set the above presynaptic // compartment number external traub_connect objref this create comp[ 74+1] objref level[ 12+1], Soma, Dendrites objref Soma_Dendrites, Axon objref synlist func type() {return 0 } proc init() { doubler = 1 comp[0] delete_section() // clean up for fortran code traub_connect( 74+1) titlePrint() presyn_comp = 72 // in Traub model;changed by calling prog. objref Soma, Axon, Dendrites, Soma_Dendrites objref level topol() shape() geom() // the geometry and subsets() // subsets and biophys() // active currents synlist = new List() // list of synapses // NetGUI[0] stores synapses in the cell object, in // Traub model it is easier to store them outside set_doubler() // to double or not if (doubler) {double_dend_cond()} /* for taking spine membrane area correction into account (the method used doubles max cond's when spines present) */ more_adjustments() } proc double_dend_cond() { /* this function gets replaced later with another one if double_dend_cond() is tacked on. */ } proc titlePrint() { /* print " print "-----" print " print "suppyrRS Neuron Model based on " print "Traub RD et al (2005, 2003)" print " print "-----" Remove title printing with this comment for now. Printing otherwise repeats (for each cell) -too voluminous for a network creation */ } proc set_doubler() {doubler=1} // this function gets replaced with one that // sets doubler to 0 when there are no spines // in the cell (for no spines the additional // hoc code is written from integrate_cell.f // where cell is nRT, TCR. Woops I just // found that deepaxax, deepbask, deepLTS, // supaxax, supbask, supLTS all use the script // cell/run_fortran.sh to replace the =1's with // =0's. I will change the fortran code to // make it all run_fortran.sh replacements or // not for uniformity. proc topol() { // create comp[ 75] // note one greater than numcomp due to fortran indicies // last argument, parent location for connection // is overwritten to 1 for parents with connected children // in below traub_connect proc calls traub_connect(this, 1, 69, 0.19978229, 0) traub_connect(this, 1, 2, 0.012551651, 1) traub_connect(this, 1, 3, 0.012551651, 1) traub_connect(this, 1, 4, 0.012551651, 1) traub_connect(this, 1, 5, 0.012551651, 1) traub_connect(this, 1, 6, 0.012551651, 1) traub_connect(this, 1, 7, 0.012551651, 1) traub_connect(this, 1, 8, 0.012551651, 1) traub_connect(this, 1, 9, 0.012551651, 1) traub_connect(this, 1, 38, 0.748136781, 1) traub_connect(this, 2, 14, 0.00628318, 1.) traub_connect(this, 3, 15, 0.00628318, 1.) traub_connect(this, 4, 16, 0.00628318, 1.) traub_connect(this, 5, 17, 0.00628318, 1.) traub_connect(this, 6, 18, 0.00628318, 1.) traub_connect(this, 7, 19, 0.00628318, 1.) traub_connect(this, 8, 20, 0.00628318, 1.) traub_connect(this, 9, 21, 0.00628318, 1.) traub_connect(this, 10, 38, 0.0123730314, 1.) traub_connect(this, 10, 22, 0.00628318, 1.) traub_connect(this, 11, 38, 0.0123730314, 1.) traub_connect(this, 11, 23, 0.00628318, 1.) traub_connect(this, 12, 38, 0.0123730314, 1.) traub_connect(this, 12, 24, 0.00628318, 1.) traub_connect(this, 13, 38, 0.0123730314, 1.) traub_connect(this, 13, 25, 0.00628318, 1.) traub_connect(this, 14, 26, 0.00628318, 1.) traub_connect(this, 15, 27, 0.00628318, 1.) traub_connect(this, 16, 28, 0.00628318, 1.) traub_connect(this, 17, 29, 0.00628318, 1.) traub_connect(this, 18, 30, 0.00628318, 1.) traub_connect(this, 19, 31, 0.00628318, 1.) traub_connect(this, 20, 32, 0.00628318, 1.) traub_connect(this, 21, 33, 0.00628318, 1.) traub_connect(this, 22, 34, 0.00628318, 1.) traub_connect(this, 23, 35, 0.00628318, 1.) traub_connect(this, 24, 36, 0.00628318, 1.) traub_connect(this, 25, 37, 0.00628318, 1.) traub_connect(this, 38, 39, 0.359911659, 1.) traub_connect(this, 39, 40, 0.287532183, 1.) traub_connect(this, 40, 41, 0.144583738, 1) traub_connect(this, 40, 42, 0.144583738, 1) traub_connect(this, 41, 42, 0.10053088, 1) traub_connect(this, 41, 43, 0.10053088, 1.) traub_connect(this, 42, 44, 0.10053088, 1.) traub_connect(this, 43, 45, 0.0277326566, 1) traub_connect(this, 43, 46, 0.0277326566, 1) traub_connect(this, 43, 47, 0.0277326566, 1) traub_connect(this, 43, 48, 0.0277326566, 1) traub_connect(this, 44, 49, 0.0277326566, 1) traub_connect(this, 44, 50, 0.0277326566, 1) traub_connect(this, 44, 51, 0.0277326566, 1) traub_connect(this, 44, 52, 0.0277326566, 1) traub_connect(this, 45, 53, 0.0160849408, 1.) traub_connect(this, 45, 46, 0.0160849408, 1) traub_connect(this, 45, 47, 0.0160849408, 1) traub_connect(this, 45, 48, 0.0160849408, 1) traub_connect(this, 46, 54, 0.0160849408, 1.) traub_connect(this, 46, 47, 0.0160849408, 1) traub_connect(this, 46, 48, 0.0160849408, 1) traub_connect(this, 47, 55, 0.0160849408, 1.) traub_connect(this, 47, 48, 0.0160849408, 1) traub_connect(this, 48, 56, 0.0160849408, 1.) traub_connect(this, 49, 57, 0.0160849408, 1.) traub_connect(this, 49, 50, 0.0160849408, 1) traub_connect(this, 49, 51, 0.0160849408, 1) traub_connect(this, 49, 52, 0.0160849408, 1) traub_connect(this, 50, 58, 0.0160849408, 1.) traub_connect(this, 50, 51, 0.0160849408, 1) traub_connect(this, 50, 52, 0.0160849408, 1) traub_connect(this, 51, 59, 0.0160849408, 1.) traub_connect(this, 51, 52, 0.0160849408, 1) traub_connect(this, 52, 60, 0.0160849408, 1.) traub_connect(this, 53, 61, 0.0160849408, 1.) traub_connect(this, 54, 62, 0.0160849408, 1.) traub_connect(this, 55, 63, 0.0160849408, 1.) traub_connect(this, 56, 64, 0.0160849408, 1.) traub_connect(this, 57, 65, 0.0160849408, 1.) traub_connect(this, 58, 66, 0.0160849408, 1.) traub_connect(this, 59, 67, 0.0160849408, 1.) traub_connect(this, 60, 68, 0.0160849408, 1.) traub_connect(this, 69, 70, 0.0472757183, 1.) traub_connect(this, 70, 71, 0.0208024203, 1) traub_connect(this, 70, 73, 0.0208024203, 1) traub_connect(this, 71, 72, 0.01570795, 1.) traub_connect(this, 71, 73, 0.01570795, 1) traub_connect(this, 73, 74, 0.01570795, 1.) access comp[1] // handy statement if want to start gui's from nrnmainmenu } proc geom() { // the "traub level" subsets are created and defined below top_level = 12 objref level[top_level+1] for i=0,top_level { level[i] = new SectionList() } comp[ 1] { level[ 1].append() L= 15. diam = 2* 8. } comp[ 2] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 3] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 4] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 5] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 6] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 7] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 8] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 9] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 10] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 11] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 12] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 13] { level[ 2].append() L= 50. diam = 2* 0.5 } comp[ 14] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 15] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 16] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 17] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 18] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 19] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 20] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 21] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 22] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 23] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 24] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 25] { level[ 3].append() L= 50. diam = 2* 0.5 } comp[ 26] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 27] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 28] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 29] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 30] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 31] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 32] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 33] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 34] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 35] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 36] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 37] { level[ 4].append() L= 50. diam = 2* 0.5 } comp[ 38] { level[ 5].append() L= 50. diam = 2* 4. } comp[ 39] { level[ 6].append() L= 50. diam = 2* 3.6 } comp[ 40] { level[ 7].append() L= 50. diam = 2* 3.2 } comp[ 41] { level[ 8].append() L= 50. diam = 2* 2. } comp[ 42] { level[ 8].append() L= 50. diam = 2* 2. } comp[ 43] { level[ 9].append() L= 50. diam = 2* 2. } comp[ 44] { level[ 9].append() L= 50. diam = 2* 2. } comp[ 45] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 46] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 47] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 48] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 49] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 50] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 51] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 52] { level[ 10].append() L= 50. diam = 2* 0.8 } comp[ 53] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 54] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 55] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 56] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 57] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 58] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 59] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 60] { level[ 11].append() L= 50. diam = 2* 0.8 } comp[ 61] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 62] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 63] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 64] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 65] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 66] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 67] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 68] { level[ 12].append() L= 50. diam = 2* 0.8 } comp[ 69] { level[ 0].append() L= 25. diam = 2* 0.9 } comp[ 70] { level[ 0].append() L= 50. diam = 2* 0.7 } comp[ 71] { level[ 0].append() L= 50. diam = 2* 0.5 } comp[ 72] { level[ 0].append() L= 50. diam = 2* 0.5 } comp[ 73] { level[ 0].append() L= 50. diam = 2* 0.5 } comp[ 74] { level[ 0].append() L= 50. diam = 2* 0.5 } } // Here are some commonly used subsets of sections objref all proc subsets() { local i objref Soma, Dendrites, Soma_Dendrites, Axon objref all Soma = new SectionList() Dendrites = new SectionList() Soma_Dendrites = new SectionList() Axon = new SectionList() for i=1,top_level { forsec level[i] { // recall level 0 is axon, 1 is soma, higher are dends Soma_Dendrites.append() if (i>1) {Dendrites.append()} } } forsec level[1] { Soma.append() } forsec level[0] { Axon.append() } all = new SectionList() for i=1, 74 comp[i] all.append() } proc shape() { /* This section could contain statements like {pt3dclear() pt3dadd(-1,-1,0,1) pt3dadd(-1,-2,0,1)} These visual settings do not effect the electrical and chemical systems of equations. */ } proc biophys() { // // insert the mechanisms and assign max conductances // forsec all { insert pas } // g_pas has two values; soma-dend,axon forsec level[ 0] { insert naf gbar_naf = 0.4 insert kdr gbar_kdr = 0.4 insert ka gbar_ka = 0.002 insert k2 gbar_k2 = 0.0001 } forsec level[ 1] { insert naf gbar_naf = 0.15 insert nap gbar_nap = 0.0006 insert kdr gbar_kdr = 0.1 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.03 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.01 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 26000. } forsec level[ 2] { insert naf gbar_naf = 0.075 insert nap gbar_nap = 0.0003 insert kdr gbar_kdr = 0.075 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 3] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 4] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 5] { insert naf gbar_naf = 0.1 insert nap gbar_nap = 0.0004 insert kdr gbar_kdr = 0.1 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.03 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 6] { insert naf gbar_naf = 0.075 insert nap gbar_nap = 0.0003 insert kdr gbar_kdr = 0.075 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 7] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 8] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 9] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 10] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 11] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec level[ 12] { insert naf gbar_naf = 0.01 insert nap gbar_nap = 4.E-05 insert kdr gbar_kdr = 0.005 insert kc gbar_kc = 0.0075 insert ka gbar_ka = 0.002 insert km gbar_km = 0.00375 insert k2 gbar_k2 = 0.0001 insert kahp gbar_kahp = 0.0001 insert cal gbar_cal = 0.001 insert cat gbar_cat = 0.0001 insert ar gbar_ar = 0.00025 insert cad // *** ca diffusion: beta=1/tau beta_cad = 0.05 // cafor(I) (FORTRAN) converted to phi (NEURON) phi_cad = 52000. } forsec all { cm = 0.9 // assign global specific capac. } // // passive membrane resistance (leak) and axial resistance // forsec Soma_Dendrites { g_pas = 2.E-05 Ra = 250. } forsec Axon { g_pas = 0.001 Ra = 100. } ceiling_cad = 1e6 // nearly unlimited Ca concentration // print "made it to end of initialization from SCORTMAJ_FRB()" } // end of biophys // Compartment Area: Dendritic.spines double area of // dend. membrane, which in Traubs method is equivalent to // only multiplying all dend. max conductances by two // (the area is doubled but the volume is const.) proc double_dend_cond() { spine_area_multiplier = 2 forsec Dendrites { if (ismembrane("nap")) { gbar_nap *= spine_area_multiplier } if (ismembrane("napf")) { gbar_napf *= spine_area_multiplier } if (ismembrane("napf_tcr")) { gbar_napf_tcr *= spine_area_multiplier } if (ismembrane("naf")) { gbar_naf *= spine_area_multiplier } if (ismembrane("naf_tcr")) { gbar_naf_tcr *= spine_area_multiplier } if (ismembrane("naf2")) { gbar_naf2 *= spine_area_multiplier } if (ismembrane("kc")) { gbar_kc *= spine_area_multiplier } if (ismembrane("kc_fast")) { gbar_kc_fast *= spine_area_multiplier } if (ismembrane("kahp")) { gbar_kahp *= spine_area_multiplier } if (ismembrane("km")) { gbar_km *= spine_area_multiplier } if (ismembrane("kdr")) { gbar_kdr *= spine_area_multiplier } if (ismembrane("kdr_fs")) { gbar_kdr_fs *= spine_area_multiplier } if (ismembrane("ka")) { gbar_ka *= spine_area_multiplier } if (ismembrane("ka_ib")) { gbar_ka_ib *= spine_area_multiplier } if (ismembrane("k2")) { gbar_k2 *= spine_area_multiplier } if (ismembrane("cal")) { gbar_cal *= spine_area_multiplier } if (ismembrane("cat")) { gbar_cat *= spine_area_multiplier } if (ismembrane("cat_a")) { gbar_cat_a *= spine_area_multiplier } if (ismembrane("ar")) { gbar_ar *= spine_area_multiplier } if (ismembrane("pas")) { g_pas *= spine_area_multiplier } cm = cm * spine_area_multiplier } } // double_dend_cond() // run for cells w/ spines // The below is after doubling of dendritic area to // take into account the effect of spines // These areas were used in the FORTRAN code to // compute the conductances from specific conductances. // I AREA(I) (compartments and their areas) // 1 753.9816 // 2 314.159 // 3 314.159 // 4 314.159 // 5 314.159 // 6 314.159 // 7 314.159 // 8 314.159 // 9 314.159 // 10 314.159 // 11 314.159 // 12 314.159 // 13 314.159 // 14 314.159 // 15 314.159 // 16 314.159 // 17 314.159 // 18 314.159 // 19 314.159 // 20 314.159 // 21 314.159 // 22 314.159 // 23 314.159 // 24 314.159 // 25 314.159 // 26 314.159 // 27 314.159 // 28 314.159 // 29 314.159 // 30 314.159 // 31 314.159 // 32 314.159 // 33 314.159 // 34 314.159 // 35 314.159 // 36 314.159 // 37 314.159 // 38 2513.272 // 39 2261.9448 // 40 2010.6176 // 41 1256.636 // 42 1256.636 // 43 1256.636 // 44 1256.636 // 45 502.6544 // 46 502.6544 // 47 502.6544 // 48 502.6544 // 49 502.6544 // 50 502.6544 // 51 502.6544 // 52 502.6544 // 53 502.6544 // 54 502.6544 // 55 502.6544 // 56 502.6544 // 57 502.6544 // 58 502.6544 // 59 502.6544 // 60 502.6544 // 61 502.6544 // 62 502.6544 // 63 502.6544 // 64 502.6544 // 65 502.6544 // 66 502.6544 // 67 502.6544 // 68 502.6544 // 69 141.37155 // 70 219.9113 // 71 157.0795 // 72 157.0795 // 73 157.0795 // 74 157.0795 proc position() { local i // comp switched to comp[1] since 0 deleted comp[1] 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 } proc connect2target() { // $o1 targ point process, $o2 returned NetCon comp[presyn_comp] $o2 = new NetCon(&v(1),$o1) $o2.threshold = 0 } objref syn_ proc synapses() { // place for each compartment that has input // statements like //comp[3] syn_=new AlphaSynKinT(1) synlist.append(syn_) //comp[4] syn_=new NMDA(1) synlist.append(syn_) } // is not an artificial cell: func is_art() { return 0 } proc more_adjustments() { forsec all { // global reversal potentials ek = -95. e_pas = -70. ena = 50. vca = 125. forsec all if (ismembrane("ar")) erev_ar = -35. e_gaba_a = -81. } forsec all if (ismembrane("naf")) {fastNa_shift_naf=-3.5} // extended initializations from integrate_suppyrFRB() forsec all { if (ismembrane("km")) {gbar_km = 2*gbar_km}} forsec Soma_Dendrites { gbar_naf = 1.25*gbar_naf gbar_kdr = 1.25*gbar_kdr } forsec all if (ismembrane("nap")) { gbar_nap *= 0.2 } forsec all if (ismembrane("kc")) { gbar_kc *= 1.6 } forsec all if (ismembrane("kahp")) { gbar_kahp *= 0.4 } forsec all if (ismembrane("km")) { gbar_km *= 1. } } endtemplate suppyrRS