A single column thalamocortical network model (Traub et al 2005)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:45539
To better understand population phenomena in thalamocortical neuronal ensembles, we have constructed a preliminary network model with 3,560 multicompartment neurons (containing soma, branching dendrites, and a portion of axon). Types of neurons included superficial pyramids (with regular spiking [RS] and fast rhythmic bursting [FRB] firing behaviors); RS spiny stellates; fast spiking (FS) interneurons, with basket-type and axoaxonic types of connectivity, and located in superficial and deep cortical layers; low threshold spiking (LTS) interneurons, that contacted principal cell dendrites; deep pyramids, that could have RS or intrinsic bursting (IB) firing behaviors, and endowed either with non-tufted apical dendrites or with long tufted apical dendrites; thalamocortical relay (TCR) cells; and nucleus reticularis (nRT) cells. To the extent possible, both electrophysiology and synaptic connectivity were based on published data, although many arbitrary choices were necessary.
Reference:
1 . Traub RD, Contreras D, Cunningham MO, Murray H, LeBeau FE, Roopun A, Bibbig A, Wilent WB, Higley MJ, Whittington MA (2005) Single-column thalamocortical network model exhibiting gamma oscillations, sleep spindles, and epileptogenic bursts. J Neurophysiol 93:2194-232 [PubMed]
2 . Traub RD, Contreras D, Whittington MA (2005) Combined experimental/simulation studies of cellular and network mechanisms of epileptogenesis in vitro and in vivo. J Clin Neurophysiol 22:330-42 [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: Neocortex; Thalamus;
Cell Type(s): Thalamus geniculate nucleus/lateral principal GLU cell; Thalamus reticular nucleus GABA cell; Neocortex U1 L6 pyramidal corticalthalamic GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell; Neocortex fast spiking (FS) interneuron; Neocortex spiking regular (RS) neuron; Neocortex spiking low threshold (LTS) neuron;
Channel(s): I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium; I A, slow;
Gap Junctions: Gap junctions;
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; FORTRAN;
Model Concept(s): Activity Patterns; Bursting; Temporal Pattern Generation; Oscillations; Simplified Models; Epilepsy; Sleep; Spindles;
Implementer(s): Traub, Roger D [rtraub at us.ibm.com];
Search NeuronDB for information about:  Thalamus geniculate nucleus/lateral principal GLU cell; Thalamus reticular nucleus GABA cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell; Neocortex U1 L6 pyramidal corticalthalamic GLU cell; GabaA; AMPA; NMDA; I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium; I A, slow;
Files displayed below are from the implementation
/
nrntraub
cells
dat
hoc
mod
net
README
balanal.hoc *
balcomp.hoc *
cell_templates.hoc *
clear.hoc *
finit.hoc *
fortmap.hoc *
gidcell.hoc *
gidcell.ses *
init.hoc
manage_setup.hoc
mosinit.hoc *
onecell.hoc *
onecell.ses *
prcellstate.hoc *
printcon.hoc *
savestatetest.sh
spkplt.hoc *
vclampg.hoc *
vcompclamp.hoc *
vcompsim.hoc *
                            
objref vmat, fvmat, voutlist, vinlist, fvoutlist, tout, tin
proc vcompclamp() { local i, j, numcomp  localobj vv, f, s, clist, c, rsav, cdvdt
	s = new String()
	voutlist = new List()
	vinlist = new List()
	fvoutlist = new List()
	clist = new List()

	f = new File()
	numcomp=0 forsec cell.all numcomp += 1
	vmat = new Matrix(100*100-1, numcomp+1)
	classname(cell, s.s)
	sprint(s.s, "../p2c/state/v_%s.dat", s.s)
	f.ropen(s.s)
	vmat.scanf(f, vmat.nrow, vmat.ncol)

	fvmat = new Matrix(100*100-1, numcomp+1)
	classname(cell, s.s)
	sprint(s.s, "../p2c/state/fv_%s.dat", s.s)
	f.ropen(s.s)
	fvmat.scanf(f, vmat.nrow, vmat.ncol)

	i = 1
	tout = new Vector()
	cell.comp[1] {tout.record(&t)}
	tin = vmat.getcol(0)
	rsav = new Vector()
	for i=1, vmat.ncol-1 cell.comp[i] {
		rsav.append(Ra)
		Ra = 1e9
		c = new SEClamp(.5)
		c.dur1 = 1e9
		c.rs = .01
		clist.append(c)

		vv = new Vector()
		vv.record(&c.i)
		fvoutlist.append(vv)

		vv = new Vector()
		vv.record(&v(.5))
		voutlist.append(vv)

		vv = vmat.getcol(i)
		vv.play(&c.amp1, tin, 1)
		vinlist.append(vv)
	}
	stdinit()
	continuerun(100)
	for i=1, vmat.ncol-1 cell.comp[i] {
		cdvdt = voutlist.object(i-1).c.deriv(dt,2)
		fvoutlist.object(i-1).div(cm*area(.5)/100).add(cdvdt)
	}
	for i=1, vmat.ncol-1 cell.comp[i] {
		Ra = rsav.x[i-1] // but no longer is traub_exact
	}
	seefv(2)
}
proc seefv() {localobj s
   s = new String()
   gg.erase_all()
   seewhich = $1
   if (seewhich > fvoutlist.count) {seewhich = fvoutlist.count}
   if (seewhich < 1) { seewhich = 1 }
   cell.comp[seewhich] { sprint(s.s,"%s(.5) clamp current", secname()) }
   gg.label(.5,.8,s.s,2,1,0,0,1)
   fvmat.getcol(seewhich).line(gg, tin, 2, 1)
   fvoutlist.object(seewhich-1).line(gg, tout) 
}	

proc mkseefv() {
	xpanel("compare compartment currents")
	xvalue("which", "seewhich", 1, "seefv(seewhich)")
	xpanel()
}