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 cell; Olfactory bulb main interneuron granule MC 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 cell; Olfactory bulb main interneuron granule MC 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
                            
begintemplate Mitral

// ls - long secondary dendrites 

public soma, priden, secden, tuftden, hillock, initialseg
public dendritic, somatic, second, somden, synodor
public dampa
public position, x, y, z


create soma, priden, secden[2], tuftden, hillock, initialseg

forall {Ra = 150}

objref dendritic, somatic, somden, synodor
objref dampa

proc init() {

dendritic = new SectionList()
forsec "priden" dendritic.append()
forsec "secden" dendritic.append()
forsec "tuftden" dendritic.append()

somatic = new SectionList()
soma somatic.append
hillock somatic.append

somden = new SectionList()
forsec somatic somden.append()
forsec dendritic somden.append()

topol()
segments()
geometry()
memb()
	x = y = z = 0 // only change via position
}


proc topol() {local i
	connect secden[0](0), soma(.5)
	connect secden[1](0), soma(.5)
	connect priden(0), soma(1)
	connect tuftden(0), priden(1)

	connect hillock(0), soma(0)
	connect initialseg(0), hillock(1)
}

proc segments() {local i
	soma.nseg= 1
	priden.nseg = 5
	forsec "tuftden" nseg = 10
	forsec "secden" nseg = 50
	initialseg.nseg = 3
	hillock.nseg = 3
}

proc geometry() {local i
	basic_shape()
	soma { L = 25  diam = 20 }
	priden { L = 300  diam = 3 }
	forsec "tuftden" {rallbranch=20 L=300  diam(0:1)=.4:.4 }
	forsec "secden" { L=1000  diam=2 }
	initialseg{ L=30  diam=1.5}
	hillock { L=5  diam(0:1) = soma.diam(0) : initialseg.diam(0) }
	define_shape()
}
	
proc basic_shape() {
  soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, 1, 0, 1)}
  priden {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, 1, 0, 1)}
  tuftden {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, 1, 0, 1)}
  secden[0] {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(1, 0, 0, 1)}
  secden[1] {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(-1, 0, 0, 1)}
  hillock {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, -1, 0, 1)}
  initialseg {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(0, -1, 0, 1)}
}

proc memb() {
	forall {insert pas }
	forsec somden {
		insert nax  insert kamt insert kdrmt
		ek = -90
		ena = 50
		gbar_nax = 0.04 sh_nax=10
	 	gbar_kdrmt = 0.0001
		gbar_kamt = 0.004
		}

	forall {Ra = 150}

	totarea=0
	forall {
		for (x) {totarea=totarea+area(x)}
		cm = 1.8
		g_pas = 1/12000
		e_pas = -65
	}

	initialseg {
		insert nax  insert kamt insert kdrmt
		ek = -90
		ena = 50
	        g_pas = 1/1000
	        gbar_nax = 0.8
		sh_nax = 0
	        gbar_kamt = 0.08
	        gbar_kdrmt = 0.0001
	}       

  
	tuftden {
	synodor = new Exp2Syn(.2)
	synodor.e=0
	synodor.tau1 = 20
	synodor.tau2 = 200

}

}

proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}

endtemplate Mitral