Large scale model of the olfactory bulb (Yu et al., 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144570
The readme file currently contains links to the results for all the 72 odors investigated in the paper, and the movie showing the network activity during learning of odor k3-3 (an aliphatic ketone).
Reference:
1 . Yu Y, McTavish TS, Hines ML, Shepherd GM, Valenti C, Migliore M (2013) Sparse distributed representation of odors in a large-scale olfactory bulb circuit. PLoS Comput Biol 9:e1003014 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Channel/Receptor; Dendrite;
Brain Region(s)/Organism: Olfactory bulb;
Cell Type(s): Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell;
Channel(s): I Na,t; I A; I K;
Gap Junctions:
Receptor(s): NMDA; Glutamate; Gaba;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Pattern Recognition; Activity Patterns; Bursting; Temporal Pattern Generation; Oscillations; Synchronization; Active Dendrites; Detailed Neuronal Models; Synaptic Plasticity; Action Potentials; Synaptic Integration; Unsupervised Learning; Olfaction;
Implementer(s): Hines, Michael [Michael.Hines at Yale.edu]; Migliore, Michele [Michele.Migliore at Yale.edu];
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron granule MC GABA cell; NMDA; Glutamate; Gaba; I Na,t; I A; I K; Gaba; Glutamate;
/
YuEtAl2012
readme.html
ampanmda.mod
fi.mod
kamt.mod *
kdrmt.mod *
naxn.mod *
ThreshDetect.mod *
.hg_archival.txt
allsynhinton.hoc *
antest.ses *
clear.hoc *
connect.hoc
control.ses
default.hoc
granule.hoc *
hinton.hoc
init.hoc *
iterator.hoc *
lindgren.job
lptiter.hoc
mgrs.hoc
michele_movie.hoc
mitral.hoc
mosinit.hoc *
net.hoc
odors.txt
odors-forsim500-kensaku.txt
param.hoc
parinit.hoc
pattern.hoc
perfrun.hoc
record.hoc
show.hoc
showstim.hoc
showw.hoc
somesyn.hoc *
spike2file.hoc
spkdat2bin.hoc
split.hoc
start.hoc
start.ses *
stim-AB-rnd-500mt.hoc
stim-o11o12.hoc
stim-o14.hoc
stim-o26.hoc
stim-o26d1-mnoise5hz-gnoise-5s.hoc
stim-o5high-o6low.hoc
stim-odors-AB-seq.hoc
stim-pair.hoc
stim-seq-rnd.hoc
subset.hoc
subset_control.ses *
viewspikes.hoc
viewspikes1.hoc
weight_movie.hoc *
weightsave.hoc
                            
{load_file("nrngui.hoc")}
objectvar save_window_, rvp_
objectvar scene_vector_[9]
objectvar ocbox_, ocbox_list_, scene_, scene_list_
{ocbox_list_ = new List()  scene_list_ = new List()}
{pwman_place(0,0,0)}

//Begin ArtCellGUI[0]
{
load_file("netbild.hoc")
}
ocbox_ = new ArtCellGUI(1)
{object_push(ocbox_)}
{
tobj = new MechanismStandard("NetStim")
tobj.set("interval", 10, 0)
tobj.set("number", 1, 0)
tobj.set("start", -1, 0)
tobj.set("noise", 0, 0)
}
{append(tobj, "S")}
{
tobj = new MechanismStandard("NetStim")
tobj.set("interval", 50, 0)
tobj.set("number", 1000, 0)
tobj.set("start", 800, 0)
tobj.set("noise", 0, 0)
}
{append(tobj, "S2")}
{
tobj = new MechanismStandard("NetStim")
tobj.set("interval", 10, 0)
tobj.set("number", 50, 0)
tobj.set("start", 1, 0)
tobj.set("noise", 0, 0)
}
{append(tobj, "S1")}
{object_pop()}
{
ocbox_.map("ArtCellGUI[0]", 732, 27, 362.88, 244.8)
}
objref ocbox_
//End ArtCellGUI[0]


//Begin NetReadyCellGUI[0]
{
load_file("netbild.hoc")
}
{ocbox_ = new NetReadyCellGUI(1)}
{ocbox_.tobj = new CellBuild(1)}
{object_push(ocbox_.tobj)}
{
version(5.7)
continuous = 0
}
{object_push(topol)}
{
first = 0
slist.remove_all()
sname = "dend"
objref tobj
}
{
tobj = new CellBuildSection("soma",0, 0, tobj, 0) slist.append(tobj)
  tobj.position(0,0,15,0) tobj.lx=7.5 tobj.ly=0 tobj.i3d=0
all_init()
}
for i=0, slist.count-1 {slist.object(i).rdses()}
{object_pop()}
{
}
{object_push(subsets)}
{first = 0}
{ tobj = snlist.object(0)}
{consist()}
{object_pop()}
{
}
{object_push(geom)}
{
first = 0
tobj = new GeoSpec(4)
tobj.value = 100
bild.subsets.snlist.object(0).geo.append(tobj)
set_default()
}
{object_pop()}
{
}
{object_push(memb)}
{first=0}
{
tobj = new MechanismStandard("pas")
tobj.set("g_pas", 0.0001, 0)
tobj.set("e_pas", -65, 0)
tobj = new MStanWrap(tobj, 1)
bild.subsets.snlist.object(0).ml.append(tobj)
}
{object_pop()}
{
}
{object_push(manage)}
{
first = 0
classname = "Cell"
etop=1 esub=1 egeom=1 emem=1
itop=1 isub=0 igeom=0 imem=0
bild.topol.names_off = 0
bild.topol.circles_off = 0
output_index = 0  output_x = 1
thresh = -10
}
{object_pop()}
{
cexport()
}
{object_pop()}
{
save_window_=ocbox_.tobj.gtopol
save_window_.size(-200,200,-150,150)
scene_vector_[3] = save_window_
ocbox_.tobj.gtopol = save_window_
save_window_.save_name("ocbox_.tobj.gtopol")
}
{object_push(ocbox_)}
stgui = new SynTypeGUI(1)
{object_push(stgui)}
{
tobj = new MechanismStandard("AmpaNmda")
tobj.set("mg", 1, 0)
}
{append(tobj, "E")}
{
tobj = new MechanismStandard("FastInhib")
tobj.set("tau1", 1, 0)
tobj.set("tau2", 200, 0)
tobj.set("gmax", 0.003, 0)
tobj.set("e", -80, 0)
}
{append(tobj, "I")}
{object_pop()}
nrc = new NetReadyCell(tobj, stgui.stypelist)
nrc.name = "C"
tobj = nrc.cb.topol.slist.object(0)
{nrc.synlist.append(new SynTypeInstance(nrc.stype.object[0],tobj,0.5,0.5,-1))}
tobj = nrc.cb.topol.slist.object(0)
{nrc.synlist.append(new SynTypeInstance(nrc.stype.object[1],tobj,0.5,0.5,2))}
{g.size(-167.014,167.014,-38.2649,38.2649)}
{object_pop()}
{
ocbox_.map("NetReadyCellGUI[0]", 374, 30, 296.64, 128.64)
}
objref ocbox_
//End NetReadyCellGUI[0]


//Begin NetGUI[0]
{
load_file("netbild.hoc")
}
{ocbox_ = new NetGUI(1)}
{object_push(ocbox_)}
{mapold2new = new Vector()  missing = new List()}
original_type("C")
original_type("S")
original_type("S2")
original_type("S1")
newnode(0, 122, 9)
newnode(1, -60, 11)
newnode(2, -160, -56)
newnode(3, -160, 97)
newedge(1, 0, 0, 1, 1)
newedge(2, 1, 0, 1, 1)
newedge(3, 1, 0, 1, 1)
newedge(1, 0, 1, 1, 1)
{create_ = 1  create1()}
{g.size(-538.123,538.123,-510.21,510.21)}
{set_alias(0)}
{object_pop()}
{
ocbox_.map("NetGUI[0]", 326, 214, 410.88, 295.68)
}
objref ocbox_
//End NetGUI[0]


//Begin PointProcessManager
{
load_file("pointman.hoc")
}
{
C_Cell[0].soma ocbox_ = new PointProcessManager(0)
}
{object_push(ocbox_)}
{
mt.select("SEClamp") i = mt.selected()
ms[i] = new MechanismStandard("SEClamp")
ms[i].set("rs", 0.1, 0)
ms[i].set("dur1", 1e+09, 0)
ms[i].set("amp1", -65, 0)
ms[i].set("dur2", 0, 0)
ms[i].set("amp2", 0, 0)
ms[i].set("dur3", 0, 0)
ms[i].set("amp3", 0, 0)
mt.select("SEClamp") 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", 146, 565, 208.32, 326.4)
}
objref ocbox_
//End PointProcessManager


//Begin SpikePlot[0] for NetData[0]
{
load_file("netbild.hoc")
}
{ocbox_ = new SpikePlot(NetData[0],1)}
{object_push(ocbox_)}
mode = 1
spikeplotstyle= 0
marksize= 4
markcolor= 1
useline= 1
fwindow = 100
binwidth = 1
build()
subset_start=0
subset_end = 4
{g.size(0,3000,0,5)}
{object_pop()}
{
ocbox_.map("SpikePlot[0] for NetData[0]", 397, 563, 304.32, 333.12)
}
objref ocbox_
//End SpikePlot[0] for NetData[0]

{
save_window_ = new Graph(0)
save_window_.size(0,3000,8.73115e-11,0.0025)
scene_vector_[7] = save_window_
{save_window_.view(0, 8.73115e-11, 3000, 0.0025, 772, 332, 300.48, 200.32)}
graphList[2].append(save_window_)
save_window_.save_name("graphList[2].")
save_window_.addexpr("AmpaNmda[0].gampa", 1, 1, 0.410224, 0.952716, 2)
save_window_.addexpr("AmpaNmda[0].gnmda", 2, 1, 0.407029, 0.943131, 2)
}
{
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 = 1000
xvalue("Continue for","runStopIn", 1,"{continuerun(t + runStopIn) stoprun=1}", 1, 1 )
xbutton("Single Step","steprun()")
t = 3000
xvalue("t","t", 2 )
tstop = 3000
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
dt = 8.32887
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.2
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(6,269)
}

//Begin VariableTimeStep
{
ocbox_ = NumericalMethodPanel[0]
}
{object_push(ocbox_)}
{
atol_ = 1e-05  CVode[0].atol(atol_)
restore(301, 1)
}
{object_pop()}
{
ocbox_.map("VariableTimeStep", 21, 117, 272.64, 113.28)
}
objref ocbox_
//End VariableTimeStep

{
save_window_ = new Graph(0)
save_window_.size(0,3000,0,0.05)
scene_vector_[8] = save_window_
{save_window_.view(0, 0, 3000, 0.05, 771, 610, 300.48, 200.32)}
graphList[2].append(save_window_)
save_window_.save_name("graphList[2].")
save_window_.addvar("FastInhib[0].g", 1, 1, 0.451757, 0.952716, 2)
}
objectvar scene_vector_[1]
{doNotify()}