A set of reduced models of layer 5 pyramidal neurons (Bahl et al. 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:146026
These are the NEURON files for 10 different models of a reduced L5 pyramidal neuron. The parameters were obtained by automatically fitting the models to experimental data using a multi objective evolutionary search strategy. Details on the algorithm can be found at http://www.g-node.org/emoo and in Bahl et al. (2012).
Reference:
1 . Bahl A, Stemmler MB, Herz AV, Roth A (2012) Automated optimization of a reduced layer 5 pyramidal cell model based on experimental data. J Neurosci Methods 210:22-34 [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; Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Neocortex U1 L5B pyramidal pyramidal tract GLU cell;
Channel(s): I Na,p; I Na,t; I K; I M; I h; I K,Ca; I Calcium; I A, slow;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Parameter Fitting; Simplified Models; Active Dendrites; Detailed Neuronal Models; Action Potentials; Methods; Calcium dynamics;
Implementer(s): Bahl, Armin [bahl at neuro.mpg.de];
Search NeuronDB for information about:  Neocortex U1 L5B pyramidal pyramidal tract GLU cell; I Na,p; I Na,t; I K; I M; I h; I K,Ca; I Calcium; I A, slow;
{load_file("nrngui.hoc")}
objectvar save_window_, rvp_
objectvar scene_vector_[5]
objectvar ocbox_, ocbox_list_, scene_, scene_list_
{ocbox_list_ = new List()  scene_list_ = new List()}
{pwman_place(0,0,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", 100, 0)
ms[i].set("dur", 5, 0)
ms[i].set("amp", 1, 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", 668, 381, 208.32, 326.4)
}
objref ocbox_
//End PointProcessManager


//Begin PointProcessManager
{
load_file("pointman.hoc")
}
{
tuft ocbox_ = new PointProcessManager(0)
}
{object_push(ocbox_)}
{
mt.select("IClamp") i = mt.selected()
ms[i] = new MechanismStandard("IClamp")
ms[i].set("del", 105, 0)
ms[i].set("dur", 3, 0)
ms[i].set("amp", 1.5, 0)
mt.select("AlphaSynapse") i = mt.selected()
ms[i] = new MechanismStandard("AlphaSynapse")
ms[i].set("onset", 105, 0)
ms[i].set("tau", 1, 0)
ms[i].set("gmax", 0.1, 0)
ms[i].set("e", 0, 0)
mt.select("ExpSyn") i = mt.selected()
ms[i] = new MechanismStandard("ExpSyn")
ms[i].set("tau", 0.5, 0)
ms[i].set("e", 0, 0)
mt.select("Exp2Syn") i = mt.selected()
ms[i] = new MechanismStandard("Exp2Syn")
ms[i].set("tau1", 0.1, 0)
ms[i].set("tau2", 10, 0)
ms[i].set("e", 0, 0)
mt.select("AlphaSynapse") i = mt.selected() maction(i)
hoc_ac_ = 0.75
sec.sec move() d1.flip_to(0)
}
{object_pop() doNotify()}
{
ocbox_ = ocbox_.v1
ocbox_.map("PointProcessManager", 376, 238, 279.36, 467.52)
}
objref ocbox_
//End PointProcessManager

{
xpanel("RunControl", 0)
v_init = -65
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 = 300
xvalue("t","t", 2 )
tstop = 300
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
dt = 9.10232
xvalue("dt","dt", 1,"setdt()", 0, 1 )
steps_per_ms = 40
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 = 0.0599999
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(77,170)
}
{
save_window_ = new Graph(0)
save_window_.size(43.4833,265.316,-160.2,137.8)
scene_vector_[4] = save_window_
{save_window_.view(43.4833, -160.2, 221.833, 298, 665, 0, 651.84, 430.72)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("v(.5)", 1, 3, 0.8, 0.9, 2)
save_window_.addexpr("tuft.v(0.5)", 2, 3, 0.794744, 0.867056, 2)
save_window_.addexpr("apical.v(0.5)", 3, 3, 0.794109, 0.940119, 2)
}

//Begin VariableTimeStep
{
ocbox_ = NumericalMethodPanel[0]
}
{object_push(ocbox_)}
{
atol_ = 0.001  CVode[0].atol(atol_)
restore(301, 1)
}
{object_pop()}
{
ocbox_.map("VariableTimeStep", 71, 583, 277.44, 113.28)
}
objref ocbox_
//End VariableTimeStep

objectvar scene_vector_[1]
{doNotify()}