Classic model of the Tritonia Swim CPG (Getting, 1989)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:93326
Classic model developed by Petter Getting of the 3-cell core CPG (DSI, C2, and VSI-B) mediating escape swimming in Tritonia diomedea. Cells use a hybrid integrate-and-fire scheme pioneered by Peter Getting. Each model cell is reconstructed from extensive physiological measurements to precisely mimic I-F curves, synaptic waveforms, and functional connectivity. **However, continued physiological measurements show that Getting may have inadvertently incorporated modulatory and or polysynaptic effects -- the properties of this model do *not* match physiological measurements in rested preparations.** This simulation reconstructs the Getting model as reported in: Getting (1989) 'Reconstruction of small neural networks' In Methods in Neural Modeling, 1st ed, p. 171-196. See also, an earlier version of this model reported in Getting (1983). Every attempt has been made to replicate the 1989 model as precisely as possible.
Reference:
1 . Getting PA (1989) Reconstruction of small neural networks. Methods in Neuronal Modeling: From Synapses to Networks., Koch C:Segev I, ed. pp.171
2 . Getting PA (1983) Mechanisms of pattern generation underlying swimming in Tritonia. II. Network reconstruction. J Neurophysiol 49:1017-35 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Tritonia;
Cell Type(s): Tritonia swim interneuron dorsal; Tritonia cerebral cell; Tritonia swim interneuron ventral;
Channel(s): I A;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Bursting; Oscillations; Invertebrate;
Implementer(s): Calin-Jageman, Robert [rcalinjageman at gsu dot edu];
Search NeuronDB for information about:  I A;
objectvar save_window_, rvp_
objectvar scene_vector_[8]
objectvar ocbox_, ocbox_list_, scene_, scene_list_
{ocbox_list_ = new List()  scene_list_ = new List()}

//Begin I/V Clamp Electrode
{
load_file("electrod.hoc")
}
{
ocbox_=new Electrode(0)
execute("can_locate=1 sec=\"DSIType[0].soma\" xloc=0.5 locate(0)", ocbox_)
execute("vc.dur[0]=0.1 vc.amp[0]=-65", ocbox_)
execute("vc.dur[1]=2.5 vc.amp[1]=10", ocbox_)
execute("vc.dur[2]=100 vc.amp[2]=-65", ocbox_)
execute("stim.del=0 stim.dur=600000 stim.amp=-0.05", ocbox_)
execute("vcsteps=5", ocbox_)
execute("samp=stim.amp  store_vclamp() glyph()", ocbox_)
ocbox_ = ocbox_.v1
ocbox_.map("I/V Clamp Electrode", 397, 702, 243.9, 533.7)
}
objref ocbox_
//End I/V Clamp Electrode

{WindowMenu[0].ses_gid(1, 0, 1, "unnamed Window Group")}
{
save_window_ = new Graph(0)
save_window_.size(0,105000,-80,40)
scene_vector_[3] = save_window_
{save_window_.view(0, -80, 105000, 120, 768, 24, 300.6, 200.8)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addvar("C2.sthold.thresh", 1, 1, 0.8, 0.9, 2)
save_window_.addvar("C2.soma.v( 0.5 )", 1, 1, 0.8, 0.9, 2)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
xpanel("RunControl", 0)
v_init = -47.5
xvalue("Init","v_init", 1,"stdinit()", 1, 1 )
xbutton("Init & Run","run()")
xbutton("Stop","stoprun=1")
runStopAt = 5
xvalue("Continue til","runStopAt", 1,"{continuerun(runStopAt) stoprun=1}", 1, 1 )
runStopIn = 1
xvalue("Continue for","runStopIn", 1,"{continuerun(t + runStopIn) stoprun=1}", 1, 1 )
xbutton("Single Step","steprun()")
t = 7000
xvalue("t","t", 2 )
tstop = 105000
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
dt = 0.5
xvalue("dt","dt", 1,"setdt()", 0, 1 )
steps_per_ms = 1
xvalue("Points plotted/ms","steps_per_ms", 1,"setdt()", 0, 1 )
xcheckbox("Quiet",&stdrun_quiet,"")
realtime = 7
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(18,204)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
save_window_ = new Graph(0)
save_window_.size(0,105000,-80,40)
scene_vector_[4] = save_window_
{save_window_.view(0, -80, 105000, 120, 852, 480, 300.6, 200.8)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addvar("DSI.soma.v( 0.5 )", 1, 1, 0.8, 0.9, 2)
save_window_.addvar("DSI.sthold.thresh", 1, 1, 0.8, 0.9, 2)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
save_window_ = new Graph(0)
save_window_.size(0,105000,-62,-30)
scene_vector_[5] = save_window_
{save_window_.view(0, -62, 105000, 32, 354, 362, 354.6, 185.5)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addvar("VSI.soma.v( 0.5 )", 1, 1, 0.8, 0.9, 2)
save_window_.addvar("VSI.sthold.thresh", 1, 1, 0.8, 0.9, 2)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
xpanel("thold[0] at C2Type[0].soma(0.5)", 0)
xlabel("thold[0] at C2Type[0].soma(0.5)")
C2Type[0].sthold.steadystate = 100
xvalue("steadystate","C2Type[0].sthold.steadystate", 1,"", 0, 1 )
C2Type[0].sthold.reset = -10
xvalue("reset","C2Type[0].sthold.reset", 1,"", 0, 1 )
C2Type[0].sthold.decaytc = 100
xvalue("decaytc","C2Type[0].sthold.decaytc", 1,"", 0, 1 )
C2Type[0].sthold.lastspike = 0
xvalue("lastspike","C2Type[0].sthold.lastspike", 1,"", 0, 1 )
C2Type[0].sthold.thresh = 0
xvalue("thresh","C2Type[0].sthold.thresh", 1,"", 0, 1 )
C2Type[0].sthold.spikecount = 0
xvalue("spikecount","C2Type[0].sthold.spikecount", 1,"", 0, 1 )
C2Type[0].sthold.prior2spike = 0
xvalue("prior2spike","C2Type[0].sthold.prior2spike", 1,"", 0, 1 )
C2Type[0].sthold.burstmaxint = 1000
xvalue("burstmaxint","C2Type[0].sthold.burstmaxint", 1,"", 0, 1 )
C2Type[0].sthold.burstminsize = 3
xvalue("burstminsize","C2Type[0].sthold.burstminsize", 1,"", 0, 1 )
C2Type[0].sthold.bursting = 0
xvalue("bursting","C2Type[0].sthold.bursting", 1,"", 0, 1 )
C2Type[0].sthold.burstcount = 0
xvalue("burstcount","C2Type[0].sthold.burstcount", 1,"", 0, 1 )
C2Type[0].sthold.burststart = 0
xvalue("burststart","C2Type[0].sthold.burststart", 1,"", 0, 1 )
C2Type[0].sthold.burstno = 0
xvalue("burstno","C2Type[0].sthold.burstno", 1,"", 0, 1 )
C2Type[0].sthold.freq = 0
xvalue("freq","C2Type[0].sthold.freq", 1,"", 0, 1 )
xpanel(1252,564)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
xpanel("thold[1] at DSIType[0].soma(0.5)", 0)
xlabel("thold[1] at DSIType[0].soma(0.5)")
DSIType[0].sthold.steadystate = -48
xvalue("steadystate","DSIType[0].sthold.steadystate", 1,"", 0, 1 )
DSIType[0].sthold.reset = 0
xvalue("reset","DSIType[0].sthold.reset", 1,"", 0, 1 )
DSIType[0].sthold.decaytc = 50
xvalue("decaytc","DSIType[0].sthold.decaytc", 1,"", 0, 1 )
DSIType[0].sthold.lastspike = 0
xvalue("lastspike","DSIType[0].sthold.lastspike", 1,"", 0, 1 )
DSIType[0].sthold.thresh = 0
xvalue("thresh","DSIType[0].sthold.thresh", 1,"", 0, 1 )
DSIType[0].sthold.spikecount = 0
xvalue("spikecount","DSIType[0].sthold.spikecount", 1,"", 0, 1 )
DSIType[0].sthold.prior2spike = 0
xvalue("prior2spike","DSIType[0].sthold.prior2spike", 1,"", 0, 1 )
DSIType[0].sthold.burstmaxint = 1000
xvalue("burstmaxint","DSIType[0].sthold.burstmaxint", 1,"", 0, 1 )
DSIType[0].sthold.burstminsize = 3
xvalue("burstminsize","DSIType[0].sthold.burstminsize", 1,"", 0, 1 )
DSIType[0].sthold.bursting = 0
xvalue("bursting","DSIType[0].sthold.bursting", 1,"", 0, 1 )
DSIType[0].sthold.burstcount = 0
xvalue("burstcount","DSIType[0].sthold.burstcount", 1,"", 0, 1 )
DSIType[0].sthold.burststart = 0
xvalue("burststart","DSIType[0].sthold.burststart", 1,"", 0, 1 )
DSIType[0].sthold.burstno = 0
xvalue("burstno","DSIType[0].sthold.burstno", 1,"", 0, 1 )
DSIType[0].sthold.freq = 0
xvalue("freq","DSIType[0].sthold.freq", 1,"", 0, 1 )
xpanel(1166,668)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
xpanel("thold[2] at VSIType[0].soma(0.5)", 0)
xlabel("thold[2] at VSIType[0].soma(0.5)")
VSIType[0].sthold.steadystate = 100
xvalue("steadystate","VSIType[0].sthold.steadystate", 1,"", 0, 1 )
VSIType[0].sthold.reset = -30
xvalue("reset","VSIType[0].sthold.reset", 1,"", 0, 1 )
VSIType[0].sthold.decaytc = 10
xvalue("decaytc","VSIType[0].sthold.decaytc", 1,"", 0, 1 )
VSIType[0].sthold.lastspike = 0
xvalue("lastspike","VSIType[0].sthold.lastspike", 1,"", 0, 1 )
VSIType[0].sthold.thresh = 0
xvalue("thresh","VSIType[0].sthold.thresh", 1,"", 0, 1 )
VSIType[0].sthold.spikecount = 0
xvalue("spikecount","VSIType[0].sthold.spikecount", 1,"", 0, 1 )
VSIType[0].sthold.prior2spike = 0
xvalue("prior2spike","VSIType[0].sthold.prior2spike", 1,"", 0, 1 )
VSIType[0].sthold.burstmaxint = 1000
xvalue("burstmaxint","VSIType[0].sthold.burstmaxint", 1,"", 0, 1 )
VSIType[0].sthold.burstminsize = 3
xvalue("burstminsize","VSIType[0].sthold.burstminsize", 1,"", 0, 1 )
VSIType[0].sthold.bursting = 0
xvalue("bursting","VSIType[0].sthold.bursting", 1,"", 0, 1 )
VSIType[0].sthold.burstcount = 0
xvalue("burstcount","VSIType[0].sthold.burstcount", 1,"", 0, 1 )
VSIType[0].sthold.burststart = 0
xvalue("burststart","VSIType[0].sthold.burststart", 1,"", 0, 1 )
VSIType[0].sthold.burstno = 0
xvalue("burstno","VSIType[0].sthold.burstno", 1,"", 0, 1 )
VSIType[0].sthold.freq = 0
xvalue("freq","VSIType[0].sthold.freq", 1,"", 0, 1 )
xpanel(1250,19)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
{
save_window_ = new Graph(0)
save_window_.size(0,105000,0,1)
scene_vector_[7] = save_window_
{save_window_.view(0, 0, 105000, 1, 460, 531, 300.6, 200.8)}
graphList[2].append(save_window_)
save_window_.save_name("graphList[2].")
save_window_.addvar("DSI.sthold.freq", 1, 1, 0.8, 0.9, 2)
}
{WindowMenu[0].ses_gid(0, 0, 1, "unnamed Window Group")}
objectvar scene_vector_[1]
{doNotify()}