// GENESIS SETUP FILE function setpulse_sine (cip_pA, freq, offset, pulseToUse) setfield {pulseToUse} \ mode 1 \ amplitude {{cip_pA}*1e-12}\ frequency {freq} \ dc_offset {{offset}*1e-12} //echo {{offset}*1e-12} end function setupClocks (simDt, outputDt, RUNDUR) 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 (cellpath) create funcgen /pulseSoma setpulse_sine {0} {0} {0} {"/pulseSoma"} addmsg /pulseSoma {cellpath}/soma INJECT output end function setupHinesSolverIk (cellpath) setfield {cellpath} \ path {cellpath}/##[][TYPE=compartment] \ comptmode 1 \ chanmode 4 \ calcmode 1 \ outclock 1 \ storemode 1 call {cellpath} SETUP setmethod 11 end function setupHinesSolverGk (cellpath) setfield {cellpath} \ path {cellpath}/##[][TYPE=compartment] \ comptmode 1 \ chanmode 4 \ calcmode 1 \ outclock 1 \ storemode 2 call {cellpath} SETUP setmethod 11 end function doPreparations (cellpath, storemode) if ({storemode} == 1) setupHinesSolverIk /CN_cell elif ({storemode} == 2) //storemode: 1- currents 2-conductances setupHinesSolverGk /CN_cell end //reset create disk_out /out_v useclock /out_v 1 setfield /out_v flush 0 append 0 leave_open 1 str hstr = {findsolvefield {cellpath} {cellpath}/soma Vm} addmsg {cellpath} /out_v SAVE {hstr} //Vm addmsg {cellpath} /out_v SAVE itotal[23] //fmg_block addmsg {cellpath} /out_v SAVE itotal[25] //smg_block addmsg {cellpath} /out_v SAVE itotal[21] //AMPAd addmsg {cellpath} /out_v SAVE itotal[26] //GABAd addmsg {cellpath} /out_v SAVE itotal[41] //GABAs addmsg {cellpath}/soma/GABAs /out_v SAVE synapse[0].deprwt //STD /*int currenti for (currenti = 0; currenti <= 41; currenti = currenti + 1) addmsg {cellpath} /out_v SAVE itotal[{currenti}] end */ end //Grab spiketimes output - lifted from Nathan Schultheiss function grabSpiketimes (outpath) create neutral /DCNspiketimes create spikegen /DCNspiketimes/soma_spikegen setfield /DCNspiketimes/soma_spikegen \ output_amp 1 thresh 0 abs_refract .002 hstr={findsolvefield {cellpath} {cellpath}/soma Vm} addmsg {cellpath} /DCNspiketimes/soma_spikegen INPUT {hstr} create spikehistory /DCNspiketimes/soma_spikehistory setfield /DCNspiketimes/soma_spikehistory \ filename {{outpath} @ "spikehistory.asci"} \ initialize 1 leave_open 1 flush 1 ident_toggle 1 addmsg /DCNspiketimes/soma_spikegen /DCNspiketimes/soma_spikehistory SPIKESAVE call /DCNspiketimes/soma_spikehistory RESET echo {showfield /DCNspiketimes/soma_spikehistory *} end