//addoutput.g
// function for saving parameter in ascii file.
//function is made and called in this file
//make function
function sav_disk_asc(diskpath,srcpath,field)
create asc_file /output/{diskpath}
setfield /output/{diskpath} flush 1 leave_open 1 append 1 \
float_format %0.6g
useclock /output/{diskpath} 0
setfield /output/{diskpath} filename output/{diskpath}
addmsg {srcpath} /output/{diskpath} SAVE {field}
call /output/{diskpath} OUT_OPEN
call /output/{diskpath} OUT_WRITE "time #1" //header
echo {diskpath}
end
//call function
/*******************save soma information****************************************************
//sav_disk_asc somaVm{subunit}{stimtype} {cellpath}/soma Vm
*******************************************************************************************/
/*******************save secondary dendrite parameters**************************************
//sav_disk_asc dendCa{subunit}{stimtype} {cellpath}/secdend3/{CalciumBuffer_3} Ca
//sav_disk_asc NMDACa{subunit}{stimtype} {cellpath}/secdend3/spine_1/head/buffer_NMDA Ca
//sav_disk_asc spineCa{subunit}{stimtype} {cellpath}/secdend3/spine_1/head/SpineCa Ca
//sav_disk_asc LspineCa{subunit}{stimtype} {cellpath}/secdend3/spine_1/head/SpineCaL Ca
//sav_disk_asc Ikblock{subunit}{stimtype} {cellpath}/secdend3/spine_1/head/{subunit}/block Ik
//sav_disk_asc spineVm{subunit}{stimtype} {cellpath}/secdend3/spine_1/head Vm
*******************************************************************************************/
/******************save tertiary dendrite information****************************************
sav_disk_asc dendCa{subunit}{stimtype}3 {cellpath}/tertdend3/{CalciumBuffer_3} Ca
// sav_disk_asc spineCa{subunit}{stimtype}3 {cellpath}/tertdend3/tert_dend5/spine_1/head/buffer_NMDA
// sav_disk_asc Ikblock{subunit}{stimtype}3 {cellpath}/tertdend3/tert_dend5/spine_1/head/{subunit}/block Ik Ca
// sav_disk_asc spineVm{subunit}{stimtype}3 {cellpath}/tertdend3/tert_dend5/spine_1/head Vm
// sav_disk_asc IkAMPA{stitype}3 {cellpath}/tertdend3/tert_dend5/spine_1/head/AMPA Ik
// sav_disk_asc IkAMPA{stitype}2 {cellpath}/tertdend3/tert_dend5/spine_1/head/AMPA Ik
*********************************************************************************************/
// this function allows you to put several columns in the same file and name them using the call function series below it.
function add_output_both
int ctr
str net_n="/SPnetwork/SPcell"
for(ctr = 0; ctr < 100; ctr = {ctr + 1})
create asc_file /output/CaSomaOutCell{ctr}
create asc_file /output/CaPrim2OutCell{ctr}
create asc_file /output/CaSec6OutCell{ctr}
create asc_file /output/CaTert12OutCell{ctr}
create asc_file /output/VmSec6OutCell{ctr}
create asc_file /output/VmTert12OutCell{ctr}
create asc_file /output/VmSomaOutCell{ctr}
setfield /output/CaSomaOutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/CaPrim2OutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/CaSec6OutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/CaTert12OutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/VmSec6OutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/VmTert12OutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
setfield /output/VmSomaOutCell{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
useclock /output/CaSomaOutCell{ctr} {CaOutDt}
useclock /output/CaPrim2OutCell{ctr} {CaOutDt}
useclock /output/CaSec6OutCell{ctr} {CaOutDt}
useclock /output/CaTert12OutCell{ctr} {CaOutDt}
useclock /output/VmSec6OutCell{ctr} {VmOutDt}
useclock /output/VmTert12OutCell{ctr} {VmOutDt}
useclock /output/VmSomaCell{ctr} {VmOutDt}
addmsg {net_n}[{ctr}]/soma/{CA_BUFF_3} /output/CaSec6OutCell{ctr} SAVE Ca //not hooked up?
addmsg {net_n}[{ctr}]/primdend2/{CA_BUFF_3} /output/CaTert12OutCell{ctr} SAVE Ca //not hooked up?
addmsg {net_n}[{ctr}]/secdend6/{CA_BUFF_3} /output/CaSec6OutCell{ctr} SAVE Ca //not hooked up?
addmsg {net_n}[{ctr}]/tertdend12/{CA_BUFF_3} /output/CaTert12OutCell{ctr} SAVE Ca //not hooked up?
addmsg {net_n}[{ctr}]/secdend6 /output/VmSec6OutCell{ctr} SAVE Vm //not hooked up?
addmsg {net_n}[{ctr}]/tertdend12 /output/VmTert12OutCell{ctr} SAVE Vm //not hooked up?
addmsg {net_n}[{ctr}]/soma /output/VmSomaOutCell{ctr} SAVE Vm
end
end
function check_input
int ctr, ctr2, count=0
float gaba
str network="/SPnetwork/SPcell", gc
for (ctr = 0;ctr< {getglobal numCells_SP}; ctr = {ctr+1})
create diffamp /SPnetwork/SPcell[{ctr}]/add
setfield /SPnetwork/SPcell[{ctr}]/add gain 1 saturation 30000
foreach gc ({el /SPnetwork/SPcell[{ctr}]/##[TYPE=compartment]/GABA})
addmsg {gc} /SPnetwork/SPcell[{ctr}]/add PLUS Gk
end
create asc_file /output/checkInput{ctr}
setfield /output/checkInput{ctr} flush 1 leave_open 1 append 1 float_format %0.6g
useclock /output/checkInput{ctr} 1e-3
addmsg /SPnetwork/SPcell[{ctr}]/add /output/checkInput{ctr} SAVE output
end
end
function add_output_sec
create xform /Cadata [265,50,400,460]
create xlabel /Cadata/label -hgeom 5% -label {graphlabel}
create xgraph /Cadata/Calevel -hgeom 80% -title "Ca2+ level sec3 Control" -bg white
setfield ^ XUnits sec YUnits M
setfield ^ xmax {tmax} ymin {1e-05} ymax {50e-05}
//makegraphscale /Cadata/Calevel
addmsg /SPnetwork/SPcell[0]/secdend6/{CA_BUFF_3} /Cadata/Calevel PLOTSCALE \
Ca *"1 " *black 1 0
/*
addmsg /SPnetwork/SPcell[1]/secdend3/{CA_BUFF_3} /Cadata/Calevel PLOTSCALE \
Ca *"2 " *red 1 0
addmsg /SPnetwork/SPcell[2]/secdend3/{CA_BUFF_3} /Cadata/Calevel PLOTSCALE \
Ca *"3 " *blue 1 0
addmsg /SPnetwork/SPcell[3]/secdend3/{CA_BUFF_3} /Cadata/Calevel PLOTSCALE \
Ca *"4 " *green 1 0
*/
xshow /Cadata
end
function add_output_tert
create xform /Cadata2 [265,50,400,460]
create xlabel /Cadata2/label -hgeom 5% -label {graphlabel}
create xgraph /Cadata2/Calevel -hgeom 80% -title "Ca2+ level tert1 Control" -bg white
setfield ^ XUnits sec YUnits M
setfield ^ xmax {tmax} ymin {1e-05} ymax {50e-05}
//makegraphscale /Cadata2/Calevel
addmsg /SPnetwork/SPcell[0]/tertdend12/{CA_BUFF_3} /Cadata2/Calevel PLOTSCALE \
Ca *"1 " *black 1 0
/*
addmsg /SPnetwork/SPcell[1]/tertdend1/{CA_BUFF_3} /Cadata2/Calevel PLOTSCALE \
Ca *"2 " *red 1 0
addmsg /SPnetwork/SPcell[2]/tertdend1/{CA_BUFF_3} /Cadata2/Calevel PLOTSCALE \
Ca *"3 " *blue 1 0
addmsg /SPnetwork/SPcell[3]/tertdend1/{CA_BUFF_3} /Cadata2/Calevel PLOTSCALE \
Ca *"4 " *green 1 0
*/
xshow /Cadata2
end
/*
function add_output_tert
create asc_file /output/plot_out
setfield /output/plot_out flush 1 leave_open 1 append 1 \
float_format %0.6g
useclock /output/plot_out 1
addmsg {cellpath}/tertdend3/tert_dend3/{CA_BUFF_3} /output/plot_out SAVE Ca //not hooked up?
addmsg {cellpath}/tertdend3/tert_dend3/spine_1/head/buffer_NMDA /output/plot_out SAVE Ca
//addmsg {cellpath}/tertdend3/tert_dend3/tert_dend5/spine_1/head/{subunit}/block /output/plot_out SAVE Ik
addmsg {cellpath}/tertdend3/tert_dend3/spine_1/head/spineCaL /output/plot_out SAVE Ca
addmsg {cellpath}/tertdend3/tert_dend3/spine_1/head/spineCa /output/plot_out SAVE Ca
//addmsg {cellpath}/tertdend3/tert_dend3/spine_1/head /output/plot_out SAVE Vm
addmsg {cellpath}/soma /output/plot_out SAVE Vm
call /output/plot_out OUT_OPEN
call /output/plot_out OUT_WRITE "time CaDend CaNMDA SpineLtype SpineCa SomaVm" //header
end
*/
/*this part goes in a sim file and calls the add_ouput file above.
str diskpath
add_output_sec
// open file for 1AP, then run sim
stimtype="1APnegsec"
diskpath=(subunit)@(stimtype)@".txt"
echo {diskpath}
setfield /output/plot_out filename output/{diskpath}
call /output/plot_out OUT_OPEN
call /output/plot_out OUT_WRITE "time -20"
reset
include 1APnegsec.g
*/
|