//genesis // This is a version of the modified L5P model for use in a network. // The modifications imply cuttung all but the basal dendrite, // and using ion channels from a previous cerebellar model, // in order to produce narrow spikes. // It only creates the cells. include defaults.g //Make prototype channels and compartments in library include ../L5P37C-onlybasal/L5P_const+axon+syn.g if (!({exists /library })) create neutral /library end disable /library pushe library // We borrow channels from cerebellar granule/Golgi cell, hoping to // produce a cell with narrower action potentials if (! {exists /library/granule}) create neutral /library/granule end ce /library/granule include ../Granule_cell/Gran_const.g include ../Granule_cell/Gran_chan_tab.g //include ../Granule_cell/Gran_synchan.g include ../L5P37C-onlybasal/L5P_synchan.g include ../Granule_cell/Gran_const.g //include ../Granule_cell/Gran_comp_soma_dend_axon.g //made new comps file in present dir include ../L5P37C-onlybasal/Gran_comp_soma_dend_axon.g //include L5P_chans.g //include L5P_chans_tab.g //include L5P_comps.g //include L5P_comps+axon.g //include L5P_comps+axon+syn.g include DiffRm.g // Make the prototypes of channels and compartments that can be invoked in .p files make_Granule_chans // make_Granule_syns make_Granule_comps_soma_dend_axon pope function create_L5Ponlybasal (pathname, px, py, pz) str pathname float px, py, pz // the position echo {pathname} echo px = {px}, py = {py}, pz = {pz} //Set up multicompartmental model in Hines solver mode based on reconstructed morphology readcell ../L5P37C-onlybasal/DS1_141099_rot2_sc_defmesh_axon_onlybasal.p {pathname} // -hsolve setfield {pathname}/soma/InNa Gbar {{getfield {pathname}/soma/InNa Gbar} * 5} setfield {pathname}/soma/KDr Gbar {{getfield {pathname}/soma/KDr Gbar} * 5} // rotcoord /L5P {-3.1415927/2} -x // does not work : gives segmentation violation // the following trick works foreach name ({el {pathname}/##[][TYPE=compartment]}) // echo {name} rotcoord {name} {3.1415927/2} -x -fixkids end foreach name ({el {pathname}/##[]/##[]}) // echo {name} rotcoord {name} {3.1415927/2} -x -fixkids end foreach name ({el {pathname}/##[][TYPE=compartment]}) // echo {name} rotcoord {name} {3.1415927/2} -y -fixkids end foreach name ({el {pathname}/##[]/##[]}) // echo {name} rotcoord {name} {3.1415927/2} -y -fixkids end // position {pathname} {px} {py} {pz} setfield {pathname} x {{getfield {pathname} x} + {px}} \ y {{getfield {pathname} y} + {py}} \ z {{getfield {pathname} z} + {pz}} foreach name ({el {pathname}/#[]/#}) // echo {name} setfield {name} x {{getfield {name} x} + {px}} \ y {{getfield {name} y} + {py}} \ z {{getfield {name} z} + {pz}} end foreach name ({el {pathname}/#[]}) // echo {name} setfield {name} x {{getfield {name} x} + {px}} \ y {{getfield {name} y} + {py}} \ z {{getfield {name} z} + {pz}} end //Set up differential distributions of Rm and h-channels //include DiffRm.g //include Hgradient.g DiffRm {pathname} 4.0 0.27 500e-6 50e-6 //Hgradient {pathname} H 0.15 6.0 500e-6 50e-6 end // because there is a bug with the graph window when plotting with hines solver /* name = {findsolvefield /L5P/solve /L5P/soma Vm} addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Soma_Vm *red name = {findsolvefield /L5P/solve /L5P/axon[19] Vm} addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Axon_Vm *blue name = {findsolvefield /L5P/solve /L5P/p6b2b2[15] Vm} addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Dend_Vm *black */