load_file("nrngui.hoc")
objectvar ocbox_, ocbox_list_, scene_, scene_list_
objref sph
{ocbox_list_ = new List() scene_list_ = new List()}
vplot=1
gplot=0
if (passive==0) stateplot=1
shapeplot=0
syngrp=0
//open RunControl and set defaults
{
xpanel("RunControl", 0)
xvalue("Init","v_init", 1,"stdinit()", 1, 1 )
xbutton("Init & Run","run()")
xbutton("Stop","stoprun=1")
xvalue("Continue til","runStopAt", 1,"{continuerun(runStopAt) stoprun=1}", 1, 1 )
xvalue("Continue for","runStopIn", 1,"{continuerun(t + runStopIn) stoprun=1}", 1, 1 )
xbutton("Single Step","steprun()")
xvalue("t","t", 2 )
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
xvalue("dt","dt", 1,"setdt()", 0, 1 )
xvalue("Points plotted/ms","steps_per_ms", 1,"setdt()", 0, 1 )
xvalue("Scrn update invl","screen_update_invl", 1,"", 0, 1 )
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(680,8)
}
load_file("pointgrp.hoc")
objref ms
//Begin PointProcessGroupManager
if (syngrp == 1) {
if (verbosity > 1) printf("this should not happen\n")
ocbox_ = new PointProcessGroupManager(0)
object_push(ocbox_)
ms = new MechanismStandard("AlphaSynapse")
ms.set("onset", 150, 0)
ms.set("tau", 0.1, 0)
ms.set("gmax", 0, 0)
ms.set("e", 0, 0)
mnews("AlphaSynapse", ms)
select(0)
execute("Tines[510] ocbox_.move(0.5)")
ms = new MechanismStandard("AlphaSynapse")
ms.set("onset", 50, 0)
ms.set("tau", 0.1, 0)
ms.set("gmax", 0, 0)
ms.set("e", 0, 0)
mnews("AlphaSynapse", ms)
select(1)
execute("Tines[510] ocbox_.move(0.5)")
object_pop() doNotify()
ocbox_ = ocbox_.v1
ocbox_.map("PointProcessGroupManager", 989, 29, 556.8, 295.68)
objref ocbox_
} //End PointProcessGroupManager
objref grph0
objref scene_vector_[8]
if (vplot) {
grph0 = new Graph(0)
scene_vector_[5] = grph0
{grph0.view(0, -69, 500, 40, 800, 400, 800, 350)}
//(mleft, mbottom, mwidth, mheight, wleft,wtop, wwidth, wheight)
// in a window with user-specified location (5th and 6th args) and size (last 2 args)
graphList[0].append(grph0)
//addplot(g,0)
//g.size(0, 500, -80, -50) // specify coordinate system for the canvas drawing area
//g.simgraph()
//g.family(1)
grph0.addvar("Axon[20].v(0.5)", 4,1)
grph0.addvar("Tines[621].v(0.5)", 2,1)
grph0.addvar("Handle[10].v(0.5)", 1,1)
grph0.addvar("FieldC[22].v(0.5)", 7,1)
grph0.addvar("FieldB[28].v(0.5)", 5,1)
grph0.addvar("MainTrunk[0].v(0.5)", 3,1)
// grph0.addvar("Tines[786].v(0.5)", 4,1)
grph0.addvar("soma.v(0.5)", 6,1)
}
if (gplot) {
grph0 = new Graph(0)
scene_vector_[4] = grph0
{grph0.view(0, 0, 500, 0.001, 50, 400, 700, 350)}
//(mleft, mbottom, mwidth, mheight, wleft,wtop, wwidth, wheight)
// in a window with user-specified location (5th and 6th args) and size (last 2 args)
graphList[0].append(grph0)
grph0.addvar("Tines[621].g_h(0.5)", 2,1)
grph0.addvar("Tines[786].g_h(0.5)", 4,1)
grph0.addvar("Tines[621].g_KD(0.5)", 2,1)
grph0.addvar("Tines[786].g_KD(0.5)", 4,1)
}
if (stateplot) {
grph0 = new Graph(0)
scene_vector_[6] = grph0
{grph0.view(0, 0, 500, 1, 50, 400, 700, 350)}
//(mleft, mbottom, mwidth, mheight, wleft,wtop, wwidth, wheight)
// in a window with user-specified location (5th and 6th args) and size (last 2 args)
graphList[0].append(grph0)
if (synCa<3) {
grph0.addvar("Tines[621].n_h(0.5)", 1,1)
} else if (synCa == 3) {
grph0.addvar("Tines[621].n_hcn(0.5)", 1,1)
} else {
grph0.addvar("Tines[621].m_h_ca(0.5)", 1,1)
}
{Tines[621] tmp = ismembrane("NaP")}
if (tmp) grph0.addexpr("Tines[621].g_NaP(0.5)/Tines[621].gmax_NaP(0.5)", 5,1)
//if (synCa) grph0.addexpr("Tines[621].g_KCa(0.5)/Tines[621].gmax_KCa(0.5)", 1,1)
//grph0.addvar("Tines[786].l_KD_ca2(0.5)", 2,1)
//grph0.addvar("Tines[786.n_KD_ca2(0.5)", 5,1)
//grph0.addexpr("Handle[0].cai(0.5)*100", 9, 1)
grph0.addexpr("Handle[15].g_KCa/Handle[15].gmax_KCa", 9,1)
Handle[15] if (ismembrane("CaT")) grph0.addexpr("Handle[15].g_CaT/Handle[15].gmax_CaT", 3,1)
Handle[15] if (ismembrane("CaS")) grph0.addexpr("Handle[15].g_CaS/Handle[15].gmax_CaS", 1,1)
grph0.addexpr("Handle[15].g_M/Handle[15].gmax_M", 6,1)
if (synCa==1) {
grph0.addexpr("Tines[621].g_KD_ca2(0.5)/Tines[621].gmax_KD_ca2(0.5)", 2,1)
grph0.addexpr("Tines[786].g_KD_ca2(0.5)/Tines[786].gmax_KD_ca2(0.5)", 4,1)
grph0.addexpr("Tines[614].g_KD_ca2(0.5)/Tines[614].gmax_KD_ca2(0.5)", 6,1)
grph0.addexpr("Tines[380].g_KD_ca2(0.5)/Tines[380].gmax_KD_ca2(0.5)", 9,1)
} else if (synCa==2){
grph0.addexpr("Tines[621].g_KD_cn(0.5)/Tines[621].gmax_KD_cn(0.5)", 2,1)
grph0.addexpr("Tines[786].g_KD_cn(0.5)/Tines[786].gmax_KD_cn(0.5)", 4,1)
grph0.addexpr("Tines[614].g_KD_cn(0.5)/Tines[614].gmax_KD_cn(0.5)", 6,1)
grph0.addexpr("Tines[380].g_KD_cn(0.5)/Tines[380].gmax_KD_cn(0.5)", 9,1)
} else if (synCa==3){
//grph0.addexpr("Tines[621].g_KD_ca3(0.5)/Tines[621].gmax_KD_ca3(0.5)", 2,1)
grph0.addexpr("Tines[786].g_KD_ca3(0.5)/Tines[786].gmax_KD_ca3(0.5)", 4,1)
} else if (synCa>3){
grph0.addexpr("Tines[621].g_KD_cn2(0.5)/Tines[621].gmax_KD_cn2(0.5)", 2,1)
grph0.addexpr("Tines[786].g_KD_cn2(0.5)/Tines[786].gmax_KD_cn2(0.5)", 4,1)
//grph0.addexpr("Tines[614].g_KD_cn2(0.5)/Tines[614].gmax_KD_cn2(0.5)", 6,1)
//grph0.addexpr("Tines[380].g_KD_cn2(0.5)/Tines[380].gmax_KD_cn2(0.5)", 9,1)
} else if (synCa==0){
grph0.addexpr("Tines[621].g_KD/Tines[621].gmax_KD", 4,1)
// grph0.addexpr("Tines[621].g_KA/Tines[621].gmax_KA", 2,1)
// grph0.addexpr("Tines[614].g_KD(0.5)/Tines[614].gmax_KD(0.5)", 6,1)
// grph0.addexpr("Tines[380].g_KD(0.5)/Tines[380].gmax_KD(0.5)", 4,1)
}
}
proc FieldAShapePlot() {local l,h
// FieldAShapePlot(variable, scale max, scale min)
sph = new PlotShape(0)
sph.size(60.6917,540.608,62.739,324.261)
sph.variable($s1)
l=0
h=2e-3
if (numarg()>1) h=$2
if (numarg()>2) l=$3
sph.scale(l,h)
sph.show(0)
sph.observe(FieldA)
scene_vector_[3] = sph
{sph.view(66, 100, 420, 230, 960, 10, 640, 350)}
fast_flush_list.append(sph)
sph.save_name("fast_flush_list.")
sph.rotate(0,0,0,0.7,0,0)
sph.exec_menu("Shape Plot")
}
proc FieldCShapePlot() {local l,h
// FieldCShapePlot(variable, scale max, scale min)
sph = new PlotShape(0)
sph.size(60.6917,540.608,62.739,324.261)
// .size(mleft, mright, mbottom, mtop)
sph.variable($s1)
l=0
h=1e-3
if (numarg()>1) h=$2
if (numarg()>2) l=$3
sph.scale(l,h)
sph.show(0)
sph.observe(Ctines)
scene_vector_[2] = sph
{sph.view(65, 295, 140, 140, 60, 350, 420, 420)}
//.view(mleft, mbottom, mwidth, mheight, sleft, stop, swidth, sheight)
// m* are model coordinates, s* are screen pixel coordinates where 0,0 is the top left corner of screen
fast_flush_list.append(sph)
sph.save_name("fast_flush_list.")
sph.exec_menu("Shape Plot")
}
if (shapeplot) {
FieldAShapePlot("cai",2e-3,0)
}
// dt = 0.02
// steps_per_ms = 25
// screen_update_invl = 0.1
/*0 white
1 black
2 red
3 blue
4 green
5 orange
6 brown
7 violet
8 yellow
9 gray*/
/*
objectvar gi
gi = new Graph(0)
scene_vector_[6] = gi
{gi.view(-10, 0, 500, 0, 100, 300, 700, 300)}
graphList[0].append(gi)
gi.addvar("Tines[786].g_KD( 0.5 )", 1, 1, 0.8, 0.9, 2)
gi.addvar("Tines[786].g_h( 0.5 )", 3, 1, 0.8, 0.9, 2)
*/