State and location dependence of action potential metabolic cost (Hallermann et al., 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144526
With this model of a layer 5 pyramidal neuron the state and location dependence of the ATP usage and the metabolic efficiency of action potentials can be analyzed. Model parameters were constrained by direct subcellular recordings at dendritic, somatic and axonal compartments.
Reference:
1 . Hallermann S, de Kock CP, Stuart GJ, Kole MH (2012) State and location dependence of action potential metabolic cost in cortical pyramidal neurons. Nat Neurosci 15:1007-14 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Na,t; I K;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Action Potentials;
Implementer(s): Hallermann, Stefan [hallermann at medizin.uni-leipzig.de]; Kole, Maarten [m.kole at nin.knaw.nl];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; I Na,t; I K;
/
HallermannEtAl2012
readme.txt *
Cad.mod *
CaH.mod *
CaT.mod *
charge.mod *
h.mod *
Kca.mod *
Kv.mod *
Kv1_axonal.mod *
Kv7.mod *
na8st.mod
nax8st.mod
28_04_10_num19.hoc *
all_28_04_10_num19.ses *
Cell parameters.hoc
charge.hoc *
mosinit.hoc *
                            
{load_file("nrngui.hoc")}
objectvar save_window_, rvp_
objectvar scene_vector_[19]
objectvar ocbox_, ocbox_list_, scene_, scene_list_
{ocbox_list_ = new List()  scene_list_ = new List()}
{pwman_place(707,1065,0)}

//Begin PointProcessManager
{
load_file("pointman.hoc")
}
{
soma ocbox_ = new PointProcessManager(0)
}
{object_push(ocbox_)}
{
mt.select("IClamp") i = mt.selected()
ms[i] = new MechanismStandard("IClamp")
ms[i].set("del", 515, 0)
ms[i].set("dur", 3, 0)
ms[i].set("amp", 2.5, 0)
mt.select("IClamp") i = mt.selected() maction(i)
hoc_ac_ = 0.5
sec.sec move() d1.flip_to(0)
}
{object_pop() doNotify()}
{
ocbox_ = ocbox_.v1
ocbox_.map("PointProcessManager", 270, 82, 220, 325)
}
objref ocbox_
//End PointProcessManager

{
xpanel("RunControl", 0)
v_init = -85
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 = 540
xvalue("t","t", 2 )
tstop = 540
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
dt = 0.01
xvalue("dt","dt", 1,"setdt()", 0, 1 )
steps_per_ms = 100
xvalue("Points plotted/ms","steps_per_ms", 1,"setdt()", 0, 1 )
screen_update_invl = 0.05
xvalue("Scrn update invl","screen_update_invl", 1,"", 0, 1 )
realtime = 52.14
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(11,83)
}
{
xpanel("charge (Globals)", 0)
tStart_charge_ = 517
xvalue("tStart_charge_","tStart_charge_", 1,"", 0, 0 )
tEnd_charge_ = 535
xvalue("tEnd_charge_","tEnd_charge_", 1,"", 0, 0 )
peak_tolerance_charge_ = 0.01
xvalue("peak_tolerance_charge_","peak_tolerance_charge_", 1,"", 0, 0 )
peak_lowest_charge_ = -60
xvalue("peak_lowest_charge_","peak_lowest_charge_", 1,"", 0, 0 )
xpanel(813,34)
}
{
save_window_ = new Graph(0)
save_window_.size(-1600,900,1.2,2.7)
scene_vector_[3] = save_window_
{save_window_.view(-1600, 1.2, 2500, 1.5, 819, 168, 304, 122)}
flush_list.append(save_window_)
save_window_.save_name("flush_list.")
objectvar rvp_
rvp_ = new RangeVarPlot("na_ch_excess_ratio_charge_")
apic[56] rvp_.begin(1)
my[9] rvp_.end(0)
rvp_.origin(17.5097)
save_window_.addobject(rvp_, 1, 1, 0.8, 0.9)
}
{
save_window_ = new Graph(0)
save_window_.size(-1677.25,970.25,0.182,1.222)
scene_vector_[4] = save_window_
{save_window_.view(-1677.25, 0.182, 2647.5, 1.04, 826, 319, 296, 111)}
flush_list.append(save_window_)
save_window_.save_name("flush_list.")
objectvar rvp_
rvp_ = new RangeVarPlot("overl_charge_")
apic[56] rvp_.begin(1)
my[9] rvp_.end(0)
rvp_.origin(17.5097)
save_window_.addobject(rvp_, 1, 1, 0.8, 0.9)
}
{
save_window_ = new Graph(0)
save_window_.size(517,522,-76,2)
scene_vector_[5] = save_window_
{save_window_.view(517, -76, 5, 78, 256, 678, 196, 183)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("apic[18].v(.9)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(517,524,-74,-30)
scene_vector_[6] = save_window_
{save_window_.view(517, -74, 7, 44, 32, 675, 201, 190)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("apic[36].v(.2)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(517,524,-0.046,0.002)
scene_vector_[7] = save_window_
{save_window_.view(517, -0.046, 7, 0.048, 32, 446, 199, 200)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addexpr("apic[36].ina(.2)", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("apic[36].ik(.2)", 3, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(517,522,-0.76,0.06)
scene_vector_[8] = save_window_
{save_window_.view(517, -0.76, 5, 0.82, 257, 447, 191, 205)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addexpr("apic[18].ina(.9)", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("apic[18].ik(.9)", 3, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(516,520,-80,30)
scene_vector_[9] = save_window_
{save_window_.view(516, -80, 4, 110, 484, 686, 199, 174)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("v(.5)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(516,520,-1.2,0.7)
scene_vector_[10] = save_window_
{save_window_.view(516, -1.2, 4, 1.9, 480, 450, 199, 209)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addexpr("soma.ina(.5)", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("soma.ik(.5)", 3, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(516,520,-80,40)
scene_vector_[11] = save_window_
{save_window_.view(516, -80, 4, 120, 712, 685, 188, 172)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("axon[0].v(.9)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(516,520,-16,8)
scene_vector_[12] = save_window_
{save_window_.view(516, -16, 4, 24, 711, 460, 189, 190)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addexpr("axon[0].ina(.9)", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("axon[0].ik(.9)", 3, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(518,522,-100,20)
scene_vector_[13] = save_window_
{save_window_.view(518, -100, 4, 120, 1121, 689, 176, 169)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("axon[8].v(.5)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(518,522,-1.2,0.8)
scene_vector_[14] = save_window_
{save_window_.view(518, -1.2, 4, 2, 1117, 458, 180, 195)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addexpr("axon[8].ina(.5)", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("axon[8].ik(.5)", 3, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(517,521,-100,40)
scene_vector_[15] = save_window_
{save_window_.view(517, -100, 4, 140, 923, 687, 183, 163)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("node[6].v(.5)", 1, 1, 0.8, 0.9, 2)
}
{
save_window_ = new Graph(0)
save_window_.size(517,521,-14,6)
scene_vector_[16] = save_window_
{save_window_.view(517, -14, 4, 20, 923, 461, 178, 194)}
graphList[1].append(save_window_)
save_window_.save_name("graphList[1].")
save_window_.addvar("node[6].ina( 0.5 )", 2, 1, 0.8, 0.9, 2)
save_window_.addexpr("node[6].ik( 0.5 )", 3, 1, 0.8, 0.9, 2)
}
{
ocbox_ = new VBox()
ocbox_list_.prepend(ocbox_)
ocbox_.intercept(1)
}
{
save_window_ = new PlotShape(0)
save_window_.size(-679.903,1036.8,-954.47,1350.14)
save_window_.variable("overl_charge_")
scene_vector_[17] = save_window_
{save_window_.view(-679.903, -954.47, 1716.7, 2304.61, 500, 20, 292, 392)}
fast_flush_list.append(save_window_)
save_window_.save_name("fast_flush_list.")
}
{
ocbox_ = ocbox_list_.object(0)
ocbox_.intercept(0)
ocbox_.map("Shape plot", 500, 20, 300, 400)
}
objref ocbox_
{
ocbox_ = new VBox()
ocbox_list_.prepend(ocbox_)
ocbox_.intercept(1)
}
{
save_window_ = new PlotShape(0)
save_window_.size(-679.903,1036.79,-954.47,1350.14)
save_window_.variable("overl_charge_")
scene_vector_[18] = save_window_
{save_window_.view(-679.903, -954.47, 1716.7, 2304.61, 500, 20, 292, 392)}
fast_flush_list.append(save_window_)
save_window_.save_name("fast_flush_list.")
}
{
ocbox_ = ocbox_list_.object(0)
ocbox_.intercept(0)
ocbox_.map("Shape plot", 500, 20, 300, 400)
}
objref ocbox_
objectvar scene_vector_[1]
{doNotify()}