Olfactory bulb cluster formation (Migliore et al. 2010)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:127995
Functional roles of distributed synaptic clusters in the mitral-granule cell network of the olfactory bulb.
Reference:
1 . Migliore M, Hines ML, McTavish TS, Shepherd GM (2010) Functional roles of distributed synaptic clusters in the mitral-granule cell network of the olfactory bulb. Front Integr Neurosci 4:122 [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: 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 K;
Gap Junctions:
Receptor(s): AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Short-term Synaptic Plasticity; 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; AMPA; I Na,t; I K;
/
migliore2010
README
ampanmda.mod
fi.mod
kamt.mod *
kdrmt.mod *
naxn.mod *
ThreshDetect.mod *
.hg_archival.txt
6.2.3.2203.spk
allsynhinton.hoc *
clear.hoc *
connect.hoc
granule.hoc
iterator.hoc
lptiter.hoc
mgrs.hoc
mitral.hoc
mosinit.hoc
net-5mt-100-900.hoc
odors.txt
parinit.hoc
pattern.hoc
perfrun.hoc
show.hoc
somesyn.hoc *
start.hoc
start.ses *
stim-odors-AB-seq.hoc
weight_movie.hoc *
weight-forfig3-bulb1.dat
weightsave.hoc
                            
// movie for the mitral and granule synapse weights associated with
// the mitral or granule cell gid
create w_movie_section
w_movie_section {delete_section()}
objref keepsyn, movie_ncl, w_grph_, w_grph_handle_, w_box_
{load_file("pattern.hoc")}
w_clear_ignore = 0

proc clear_weight_movie() {
	if (w_clear_ignore) { return }
	objref w_box_, w_grph_handle_, w_grph_, movie_ncl, keepsyn
	if (section_exists("w_movie_section")) {
		w_movie_section { delete_section() }
	}	
}

proc synonly() {local i  localobj mg, syn, nc, nil
	clear_weight_movie()
	create w_movie_section
	w_movie_section { insert pas g_pas = 1e9 e_pas = -65 }
	keepsyn = new List()
	movie_ncl = new List()
    if (argtype(1) == 0) {
	for i=0, mgrs_list.count-1 {
		mg = mgrs_list.object(i)
		if ($1 == -1 || mg.mitral_gid == $1 || mg.granule_gid == $1) {
			w_movie_section mg.fi.loc(.5)
			keepsyn.append(mg.fi)
			w_movie_section mg.ampanmda.loc(.5)
			keepsyn.append(mg.ampanmda)
		}
	}
    }else{ // synsel list
	for i=0, $o1.count-1 {
		mg = $o1.object(i)
		w_movie_section mg.fi.loc(.5)
		keepsyn.append(mg.fi)
		w_movie_section mg.ampanmda.loc(.5)
		keepsyn.append(mg.ampanmda)
	}
	$o1.remove_all()
    }
	mg = nil
	w_clear_ignore = 1
	clear()
	w_clear_ignore = 0
	for i=0, keepsyn.count-1 {
		syn = keepsyn.object(i)
		nc = pc.gid_connect(syn.srcgid, syn)
		nc.weight[0] = 1
		nc.delay = 1
		movie_ncl.append(nc)
	}
}

proc weight_movie() {localobj s
	synonly($1)
	w_box_ = new VBox()
	w_box_.intercept(1)
	w_grph_ = new Graph()
	w_grph_handle_ = new FInitializeHandler("cvode.event(0, \"show_weight()\")")
	s = new String()
	if ($1 < nmitral) {
		w_use_x = 1
		sprint(s.s, "Synapses associated with Mitral gid %d\n", $1)
	}else{
		w_use_x = 0
		sprint(s.s, "Synapses associated with Granule gid %d\n", $1)
	}
	w_grph_.size(0, w_use_x*len + (1 - w_use_x)*(nmitral-1), 0, 1)
	w_box_.intercept(0)
	w_box_.map(s.s, 400, 250, 700, 250)
	stdinit()
}

proc show_weight() {local i, x, w  localobj g
	g = w_grph_
	g.erase()
	for i=0, movie_ncl.count-1 {
		if (w_use_x) {
			x = keepsyn.object(i).x
		}else{
			x = keepsyn.object(i).mgid
		}
		w = movie_ncl.object(i).weight[2]
		if (i%2) {
			g.mark(x, w, "S", 8, 2, 1)
		}else{
			g.mark(x, w, "s", 10, 3, 2)
		}
	}
	cvode.event(t+100, "show_weight()")
}

{load_file("allsynhinton.hoc")}
proc allsyn() {
	synonly(-1)
	w_box_ = new AllSynHinton(movie_ncl)
	stdinit()
}

{load_file("somesyn.hoc")}
proc somesyn() {
	synonly($o1)
	w_box_ = new SomeSyn(movie_ncl)
	stdinit()
}