//genesis // This is a version of the L5P model intended for use in a network. // It only creates the L5P neuron, without any further processing, // input or output. str name include defaults.g if (!({exists /library })) create neutral /library end disable /library pushe library //Make prototype channels and compartments in library include ../L5P37C/L5P_const+axon+syn.g //include L5P_chans.g include ../L5P37C/L5P_chans_tab.g include ../L5P37C/L5P_synchan.g //include L5P_comps.g //include L5P_comps+axon.g include ../L5P37C/L5P_comps+axon+syn.g include ../L5P37C/DiffRm.g include ../L5P37C/Hgradient.g pope function create_L5P (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 //and rotate axes readcell ../L5P37C/DS1_141099_rot2_sc_defmesh_axon.p {pathname} // -hsolve //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 setfield {pathname}/soma/NaF Gbar {{getfield {pathname}/soma/NaF Gbar} * 1} setfield {pathname}/soma/KDr Gbar {{getfield {pathname}/soma/KDr Gbar} * 1} // setfield {pathname}/axon[]/InNa Gbar {{getfield {pathname}/axon/InNa Gbar} * 0.5} // setfield {pathname}/axon[]/KDr Gbar {{getfield {pathname}/axon/KDr Gbar} * 0.5} 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 ../L5P37C/DiffRm.g //include ../L5P37C/Hgradient.g DiffRm {pathname} 4.0 0.27 500e-6 50e-6 Hgradient {pathname} H 0.15 6.0 500e-6 50e-6 end /* // This is moved to ../Network/Network_make.g ce /L5P // setup the hines solver echo preparing hines solver... create hsolve solve ce solve // if this is set then reset will NOT change Vm in Hines setfield . path "../##[][TYPE=compartment]" comptmode 1 chanmode 5 // 4 // 5 // 3 //setfield . path "../##[][TYPE=compartment]" comptmode 1 chanmode 1 computeIm 1 // 5 // 4 // 5 // 3 call . SETUP */