//genesis /*********************** Begin Local Subroutines *****************************/ /*****************************************************************************/ //************************ Begin function record_channel ******************* function record_channel(compt,channel,xcell, color) str compt,xcell,channel, color str path, graphic_path path = {neuronname}@"/"@{compt}@"/"@{channel} if ({channel}=="Ca_difshell_1"||{channel}=="Ca_difshell_2"|| \ {channel}=="Ca_difshell_3") if( {isa difshell {path}}) addmsg {neuronname}/{compt}/{channel} \ {xcell}/Ca PLOT C * {channel} *{color} elif( {isa Ca_concen {path}}) addmsg {neuronname}/{compt}/{channel} \ {xcell}/Ca PLOT Ca *{compt} *{color} end else addmsg {neuronname}/{compt}/{channel} {xcell}/channels \ PLOT Ik *{channel} *{color} end end //************************ End function record_channel ********************* //************************************************************************** //************************ Begin function record_channel ******************* function record_voltage (compt, xcell,color) str compt, xcell, color str path, spacer, graphic_path spacer = " " //graphic_path = {compt}@{spacer} addmsg {neuronname}/{compt} {xcell}/v PLOT Vm *{compt} *{color} end //************************ End function record_channel ********************* //************************************************************************** //************************ Begin function step_tmax ************************ function step_tmax reset setfield /cell/soma inject 0 step 5000 setfield /cell/soma inject {getfield /control/Injection value} step 20000 setfield /cell/soma inject 0.0 end //************************ End function step_tmax ************************** //************************************************************************** //************************ Begin function set_inject *********************** function set_inject(dialog) str dialog setfield /cell/soma inject {getfield {dialog} value} end //************************ End function set_inject ************************* //************************************************************************** //************************ Begin function overlaytoggle ******************** function overlaytoggle(widget) str widget setfield /##[TYPE=xgraph] overlay {getfield {widget} state} end //************************ End function overlaytoggle ********************** //************************************************************************** //************************ Begin function add_overlay ********************** function add_overlay create xtoggle /control/overlay -script "overlaytoggle <widget>" setfield /control/overlay offlabel "Overlay OFF" onlabel "Overlay ON" \ state 0 end //************************ End function add_overlay ************************ //************************************************************************** /*********************** End Local Subroutines *******************************/ /*****************************************************************************/ /*********************** Begin Externally Available Subroutines **************/ /*****************************************************************************/ //************************ Begin function make_control ********************* function make_control create xform /control [1050,0,250,145] create xlabel /control/label -hgeom 25 -bg cyan -label "CONTROL PANEL" create xbutton /control/RESET -wgeom 33% -script reset create xbutton /control/RUN -xgeom 0:RESET -ygeom 0:label -wgeom 33% \ -script step_tmax create xbutton /control/QUIT -xgeom 0:RUN -ygeom 0:label -wgeom 34% \ -script quit create xdialog /control/Injection -label "Inject Amps" \ -value 304.95e-12 -script "set_inject <widget>" xshow /control end //************************ End function make_control *********************** //************************************************************************** //************************ Begin function make_graph *********************** function make_graph str xcell = "/data" float tmax = 0.6 float xmin = 0.01 create xform /data [0,0,1000,1000] create xlabel /data/label [10,0,95%,25] \ -label " MSN Cell" \ -fg red create xgraph /data/v [10,10:label.bottom, 50%, 45%] \ -title "Memberaine Potential in the Soma" \ -bg white create xgraph /data/syncurrents [10,10:v.bottom,50%,45%] \ -title "Synaptic currents" \ -bg white create xgraph /data/Ca [10:v.right,10:label.bottom,50%,45%] \ -title "Calcium Concentration: Calcium Buffer 3" \ -bg white create xgraph /data/channels \ [10:syncurrents.right,10:Ca.bottom,48%,45%] \ -title "Channel Currents: tertdend4/tert_dend5" \ -bg white setfield /data/v xmin {xmin} xmax {tmax+0.01} \ ymin -0.1 ymax 0.05 setfield /data/Ca xmin {xmin} xmax {tmax+0.01} \ ymin 4.5e-5 ymax 7e-5 setfield /data/syncurrents xmax {tmax+0.8} ymin 0 \ ymax 5.0e-12 setfield /data/channels xmax {tmax+0.01} ymin -1.2e-12 \ ymax 1.0e-13 useclock /data/v 1 useclock /data/Ca 1 useclock /data/channels 1 xshow /data reset //record voltage of the compartment record_voltage "tertdend4/tert_dend5" {xcell} "blue" record_voltage soma {xcell} "red" record_channel "tertdend4/tert_dend5" KAsI_channel {xcell} "blue" record_channel "tertdend4/tert_dend5" KAsII_channel {xcell} "red" record_channel "tertdend4/tert_dend5" KIR_channel {xcell} "black" record_channel "tertdend4/tert_dend5" KAf_channel {xcell} "green" record_channel soma {CA_BUFF_3} {xcell} "blue" record_channel primdend4 {CA_BUFF_3} {xcell} "black" record_channel secdend6 {CA_BUFF_3} {xcell} "red" record_channel tertdend4 {CA_BUFF_3} {xcell} "green" reset add_overlay end //************************ End function make_graph ************************* //************************************************************************** /*********************** End Externally Available Subroutines ****************/ /*****************************************************************************/