// GENESIS SETUP FILE
// Copy and modify this file
// $Id: setup.g,v 1.6 2007/02/26 20:04:16 cengiz Exp $
// Load common CIP functions and default values
include ../../common/CIPfuncs.g
// Modify CIP configuration options
defdatadir = "data"
tmpdir = "data"
destdir = "data"
compressdata = 1
savesnapshot = 0
trialparamnum = 11
create_tmpdir
silent
//load variable parameter values from environment variable
str parrow = {read_env_params}
echo "Parameter row: " {parrow}
str hstr, readcompartment
// assign variables by reading from the parrow variable
include readGPparams.g
// Now that all params have been established, create library objects.
// Intrinsic params should be left alone from this point forward.
include ../../common/make_GP_library.g
dt = 1e-5
//set up clocks
setclock 0 {dt} // simulation
setclock 1 {1e-4} // output
rundur = 1 // simulation length
//load compartments with ion channels
readcell {"../../common/" @ {morph_name} @ ".p"} {cellpath} -hsolve
//set up current injection
create pulsegen /pulse
addmsg /pulse {cellpath}/soma INJECT output
//set up hines solver
setfield {cellpath} \
path {cellpath}/##[][TYPE=compartment] \
comptmode 1 \
chanmode 3 \
calcmode 0 \
outclock 1 \
storemode 0
call {cellpath} SETUP
setmethod 11
//add synapses to appropriate compartments
//include ../../common/read_STN_syns_nocluster
include ../../common/read_clusters
//include ../../common/read_striatum_syns_const_scaled
//include ../../common/add_pallidum_syns
// Do each cip run serially
// Start saving voltage data
create disk_out /out_v
useclock /out_v 1
setfield /out_v flush 0 append 0 leave_open 1
hstr = {findsolvefield {cellpath} {cellpath}/soma Vm}
addmsg {cellpath} /out_v SAVE {hstr}
include ../../common/snapshotGP
str snapshotname = "/brute_" @ {trialnum} @ ".save"
str defsnapshot = {defdatadir} @ {snapshotname}
fileexists = {ls {defsnapshot}}
if (fileexists != "0")
// doesn't exist, run spont sim, and take snapshot
// Run 1 sec to reach steady state or stable cycle
// and 1 sec for spontaneous firing with 0 pA cip
do_cip_run 0 1 1 2 {cellpath} {trialnum}
snapshotname = {tmpdir} @ {snapshotname}
take_snapshot
else
// exists
// If snapshot is in data/, first copy to /tmp/ and then use
cp {{defdatadir} @ {snapshotname}} {tmpdir}
snapshotname = {tmpdir} @ {snapshotname}
// still run the simulation unless the voltage trace also exists
do_cip_run 0 1 1 2 {cellpath} {trialnum}
end
// Run CIP simulations starting from snapshot point
do_cip_run -100 0 1 2 {cellpath} {trialnum} {snapshotname}
do_cip_run 40 0 1 0.5 {cellpath} {trialnum} {snapshotname}
do_cip_run 100 0 1 2 {cellpath} {trialnum} {snapshotname}
do_cip_run 200 0 1 0.5 {cellpath} {trialnum} {snapshotname}
// No need to save snapshot. takes too much space and wastes time.
if (savesnapshot != 0)
time mv {snapshotname} {destdir}
// rm {snapshotname}
end
quit