function setpulse (cip_pA, delay, width, pulseToUse) setfield {pulseToUse} \ level1 {{cip_pA}*1e-12}\ width1 {width} \ delay1 {delay} \ delay2 50 \ baselevel 0 \ trig_mode 0 end function setpulse_sine (cip_pA, freq, offset, pulseToUse) setfield {pulseToUse} \ mode 0 \ amplitude {{cip_pA}*1e-12}\ frequency {freq} \ dc_offset {{offset}*1e-12} end function injectCurrent (cip_pA, pulseToUse, cellpath) if ({pulseToUse} == "/pulseSoma") str filename_v = {basefilename} @ "_soma_" @ cip_pA @ "_pAcip_v.bin" elif ({pulseToUse} == "/pulseProx") str filename_v = {basefilename} @ "_prox_" @ cip_pA @ "_pAcip_v.bin" else str filename_v = {basefilename} @ "_dist_" @ cip_pA @ "_pAcip_v.bin" end setfield /out_v filename {filename_v} setpulse_sine {cip_pA} {0} {cip_pA} {pulseToUse} reset step {rundur} -time mv {filename_v} {mvDir} end function injectMockAP_forCurrentsAnalysis_saveLocally (cellpath, readName) str filename_v = "inject_mockAP_" @ {modelName} @ ".bin" setfield /out_v filename {filename_v} reset step 0.1 -time setpulse_sine {5000} {0} {5000} {"/pulseSoma"} step 0.0005 -time setpulse_sine {0} {0} {0} {"/pulseSoma"} step 0.3995 -time mv {filename_v} "./genesisFiles" end function runSynaptic_GP_saveLocally //str filename_v = "this_run_1_STNrate_" @ {STN_rate} @ "_striatumrate_" @ {striatum_rate} @ "_0_pAcip_v.bin" str filename_v = "this_run_1_STNrate_" @ {STN_rate} @ "_striatumrate_" @ {striatum_rate} @ "_dendNaF" @ {G_NaF_dend} @ "_" @ {modelName} @ ".bin" setfield /out_v filename {filename_v} reset step {rundur} -time mv {filename_v} "./genesisFiles" end function runSynaptic_GP_clusteredSynch_saveLocally str filename_v = "this_run_1_STNrate_" @ {STN_rate} @ "_striatumrate_" @ {striatum_rate} @ "_clusteredSynch_" @ {clusteredSynch} @ "_dendNaF_" @ {G_NaF_dend} @ "_" @ {modelName} @ ".bin" setfield /out_v filename {filename_v} setpulse_sine {somaticInjection} {0} {somaticInjection} {"/pulseSoma"} reset step {rundur} -time mv {filename_v} "./genesisFiles" end function saveSomaVm (cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/soma Vm} addmsg {cellpath} /out_v SAVE {hstr} end function saveComptsVm (cellpath, complistfile) openfile {complistfile} r str readcompartment = {readfile {complistfile}} while(!{eof {complistfile}}) str hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment} Vm} addmsg {cellpath} /out_v SAVE {hstr} readcompartment = {readfile {complistfile}} end end function saveComptsVmAndCurrents (cellpath, complistfile) openfile {complistfile} r str readcompartment = {readfile {complistfile}} while(!{eof {complistfile}}) str hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment} Vm} addmsg {cellpath} /out_v SAVE {hstr} str hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Ca_HVA_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/h_HCN_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/h_HCN2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} readcompartment = {readfile {complistfile}} end end function saveComptsVmAndConductances (cellpath, complistfile) openfile {complistfile} r str readcompartment = {readfile {complistfile}} while(!{eof {complistfile}}) str hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment} Vm} addmsg {cellpath} /out_v SAVE {hstr} str hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Na_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Na_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv2_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv3_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv4_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/Kv4_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/KCNQ_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{readcompartment}/K_ahp_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} readcompartment = {readfile {complistfile}} end end function saveTotalCurrents (cellpath) int i for(i=0; i<=17; i = i+1) addmsg {cellpath} /out_v SAVE itotal[{i}] end end function saveSomaticCurrents (cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/soma/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} end function saveSomaAxonSpikeCurrents(cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/soma/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} str hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} end function saveAxonSpikeGatingVars(cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_fast_GP X} addmsg {cellpath} /out_v SAVE {hstr} str hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_fast_GP Z} addmsg {cellpath} /out_v SAVE {hstr} str hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_fast_GP X} addmsg {cellpath} /out_v SAVE {hstr} end function saveSomaticConductances(cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/soma/Na_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Na_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv2_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv3_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/Kv4_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/KCNQ_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/soma/K_ahp_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} end function saveAxonalConductances(cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv2_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv3_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_fast_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_slow_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/KCNQ_GP Gk} addmsg {cellpath} /out_v SAVE {hstr} end function saveMostProxComptsVmAndCurrents (cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/p0b1 Vm} addmsg {cellpath} /out_v SAVE {hstr} if ({modelName} == "full") hstr = {findsolvefield {cellpath} {cellpath}/p1[1] Vm} str p1comp = "p1[1]" else hstr = {findsolvefield {cellpath} {cellpath}/p1 Vm} str p1comp = "p1" end addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2 Vm} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon Vm} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p0b1/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{p1comp}/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/p2b2/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} end function saveDistComptVmAndCurrents (cellpath) str distComp if ({modelNamePassive} == "5comp") distComp = "p2b2" elif ({modelNamePassive} == "14comp") distComp = "p2b2[3]" elif ({modelNamePassive} == "50comp") distComp = "p2b2[15]" elif ({modelNamePassive} == "98comp") distComp = "p2b2[31]" elif ({modelNamePassive} == "41comp" || {modelNamePassive} == "59comp") distComp = "p2b2b2b1" elif ({modelNamePassive} == "93comp") distComp = "p2b2b2b1[1]" elif ({modelNamePassive} == "full") distComp = "p2b2b2b1[10]" end str hstr = {findsolvefield {cellpath} {cellpath}/{distComp} Vm} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{distComp}/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} end function saveClustComptVmAndCurrents (cellpath) str clustComp //see notes of 3/16/2009 --> DistA cluster if ({modelName} == "5comp") //clustComp = "p2b2" clustComp = "p1" elif ({modelName} == "14comp") //clustComp = "p2b2[3]" clustComp = "p1[1]" elif ({modelName} == "50comp") //clustComp = "p2b2[12]" clustComp = "p1[9]" elif ({modelName} == "98comp") clustComp = "p2b2[25]" elif ({modelName} == "41comp") clustComp = "p2b2b2" elif ({modelName} == "59comp") clustComp = "p2b2b2[3]" elif ({modelName} == "93comp") clustComp = "p2b2b2[6]" elif ({modelName} == "full") clustComp = "p2b2b2[46]" end str hstr = {findsolvefield {cellpath} {cellpath}/{clustComp} Vm} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Na_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Na_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Kv2_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Kv3_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Kv4_fast_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/Kv4_slow_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/KCNQ_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/{clustComp}/K_ahp_GP Ik} addmsg {cellpath} /out_v SAVE {hstr} end function saveMostProxComptsVm (cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/p0b1 Vm} addmsg {cellpath} /out_v SAVE {hstr} if ({modelName} == "full") hstr = {findsolvefield {cellpath} {cellpath}/p1[1] Vm} addmsg {cellpath} /out_v SAVE {hstr} else hstr = {findsolvefield {cellpath} {cellpath}/p1 Vm} addmsg {cellpath} /out_v SAVE {hstr} end hstr = {findsolvefield {cellpath} {cellpath}/p2b2 Vm} addmsg {cellpath} /out_v SAVE {hstr} hstr = {findsolvefield {cellpath} {cellpath}/axon Vm} addmsg {cellpath} /out_v SAVE {hstr} end function saveDistComptVmPassive (cellpath) str hstr if ({modelNamePassive} == "5comp") hstr = {findsolvefield {cellpath} {cellpath}/p2b2 Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p1 Vm} elif ({modelNamePassive} == "14comp") hstr = {findsolvefield {cellpath} {cellpath}/p2b2[3] Vm} //standard string //hstr = {findsolvefield {cellpath} {cellpath}/p1[2] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p0b1[0] Vm} elif ({modelNamePassive} == "50comp") hstr = {findsolvefield {cellpath} {cellpath}/p2b2[15] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p1[9] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p0b1[3] Vm} elif ({modelNamePassive} == "98comp") hstr = {findsolvefield {cellpath} {cellpath}/p2b2[31] Vm} elif ({modelNamePassive} == "41comp" || {modelNamePassive} == "59comp") //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b1 Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b2b1[2] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b2 Vm} hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b1 Vm} elif ({modelNamePassive} == "93comp") //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b1[1] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b2b1[2] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b2 Vm} hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b1[6] Vm} elif ({modelNamePassive} == "full") //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b1[10] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b2b1[40] Vm} //hstr = {findsolvefield {cellpath} {cellpath}/p2b2b2b2[9] Vm} hstr = {findsolvefield {cellpath} {cellpath}/p2b2b1b1[46] Vm} end addmsg {cellpath} /out_v SAVE {hstr} end function saveDistComptVmPassiveAlt (cellpath,injectCompt) str hstr = {findsolvefield {cellpath} {cellpath}/{injectCompt} Vm} addmsg {cellpath} /out_v SAVE {hstr} end function saveAxonVm (cellpath) str hstr = {findsolvefield {cellpath} {cellpath}/axon Vm} addmsg {cellpath} /out_v SAVE {hstr} end function calccclamp float Iinj = {{getfield /inputs/soma/cclampt output}} setpulse {Iinj} {0} {rundur} {"/pulseSoma"} end function doPreparations (cellpath) create disk_out /out_v useclock /out_v 1 setfield /out_v flush 0 append 0 leave_open 1 saveSomaVm {cellpath} //saveComptsVm {cellpath} {compListFilename} //saveComptsVmAndCurrents {cellpath} {compListFilename} //saveComptsVmAndConductances {cellpath} {midDistACompts} //saveTotalCurrents {cellpath} //saveSomaticCurrents {cellpath} //saveSomaAxonSpikeCurrents {cellpath} //saveAxonSpikeGatingVars {cellpath} //saveSomaticConductances {cellpath} //saveAxonalConductances {cellpath} //saveDistComptVmAndCurrents {cellpath} //saveClustComptVmAndCurrents {cellpath} //see notes of 2/5/2009 //saveMostProxComptsVmAndCurrents {cellpath} //see notes of 2/11/2009 //saveMostProxComptsVm {cellpath} //saveDistComptVmPassive {cellpath} //saveAxonVm {cellpath} end function doPreparations_passive (cellpath,injectCompt) echo compt: {injectCompt} create disk_out /out_v useclock /out_v 1 setfield /out_v flush 0 append 0 leave_open 1 saveSomaVm {cellpath} //saveComptsVm {cellpath} {compListFilename} //saveDistComptVmPassiveAlt {cellpath} {injectCompt} end function setupClocks (simDt, outputDt, RUNDUR) rundur = RUNDUR dt = simDt setclock 0 {simDt} // simulation setclock 1 {outputDt} // output end function setupHinesSolver (cellpath) //silent -1 setfield {cellpath} \ path {cellpath}/##[][TYPE=compartment] \ comptmode 1 \ chanmode 4 \ calcmode 0 \ outclock 1 \ storemode 1 call {cellpath} SETUP setmethod 11 end function setupCurrentInjection_1comp create funcgen /pulseSoma setpulse_sine {0} {0} {0} {"/pulseSoma"} addmsg /pulseSoma {cellpath}/soma INJECT output end function setupCurrentInjection_41comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2b1b1 INJECT output end function setupCurrentInjection_59comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2b2b1 INJECT output end function setupCurrentInjection_93comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2b1b1[6] INJECT output end function setupCurrentInjection_5comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2 INJECT output //standard string end function setupCurrentInjection_alt (injectCompt) create neutral /pulse create funcgen /pulse/soma create funcgen /pulse/{injectCompt} setpulse_sine {0} {0} {0} {"/pulse/soma"} setpulse_sine {0} {0} {0} {"/pulse/" @ {injectCompt}} addmsg /pulse/soma {cellpath}/soma INJECT output //standard string addmsg /pulse/{injectCompt} {cellpath}/{injectCompt} INJECT output //standard string end function setupCurrentInjection_altDendPulses (injectCompt) create neutral /pulse create funcgen /pulse/soma create pulsegen /pulse/{injectCompt} setpulse_sine {0} {0} {0} {"/pulse/soma"} setpulse {0} {0} {0} {"/pulse/" @ {injectCompt}} addmsg /pulse/soma {cellpath}/soma INJECT output addmsg /pulse/{injectCompt} {cellpath}/{injectCompt} INJECT output end function setupCurrentInjection_14comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2[3] INJECT output end function setupCurrentInjection_50comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2[15] INJECT output end function setupCurrentInjection_98comp create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2[31] INJECT output end function setupCurrentInjection_GP_full create funcgen /pulseSoma create funcgen /pulseDist setpulse_sine {0} {0} {0} {"/pulseSoma"} setpulse_sine {0} {0} {0} {"/pulseDist"} addmsg /pulseSoma {cellpath}/soma INJECT output addmsg /pulseDist {cellpath}/p2b2b1b1[46] INJECT output end