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 ;
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
net
durand.hoc *
groucho.hoc
groucho_gapbld.hoc *
groucho_gapbld_mix.hoc *
network_specification_interface.hoc *
serial_or_par_wrapper.hoc *
synaptic_compmap_construct.hoc *
synaptic_map_construct.hoc *
                            
objref map, x

obfunc synaptic_map_construct (){ localobj f, s, tmpmap
	/* $1 thisno,
	$2 num_presynaptic_cells,
	$3 num_postsynaptic_cells,
	// no more $o4 map(i,j), Matrix object = cell # of ith presyn input to jth postsyn cell
	$4 num_presyninputs_perpostsyn_cell, 
	$5 display
	$s6 map file base name
	*/

	// Construct a map of presynaptic cells of one type to postsyn.
	//  cells of some type. 
	// display is an integer flag.  If display = 1, print gjtable

	//        INTEGER thisno, num_presynaptic_cells,
	//     &   num_postsynaptic_cells,
	//     &   num_presyninputs_perpostsyn_cell,
	//     &   map (num_presyninputs_perpostsyn_cell,
	//     &          num_postsynaptic_cells) 
	//        INTEGER i,j,k,l,m,n,o,p
	//       INTEGER display

	//        double precision seed, x(1)
	thisno = $1
	num_presynaptic_cells = $2
	num_postsynaptic_cells = $3
	objref map
	//map = $o4 // dosen't matter
	num_presyninputs_perpostsyn_cell = $4
	display = $5
	// objref seed
	seed = new Vector()
	seed.append(297.e0)
	map = new Matrix( num_presyninputs_perpostsyn_cell+1, num_postsynaptic_cells+1 )

  if (!use_p2c_net_connections) {
	k = 1

	for ii = 1, num_postsynaptic_cells {
	//	print " Constructing map for cell #",ii
		for j = 1, num_presyninputs_perpostsyn_cell {
	        	x = durand (seed, k, x)
			// This defines a presynaptic cell
		
		        LL = int ( x.x(0) * num_presynaptic_cells ) + 1
		        if (LL > num_presynaptic_cells) {
				print " unnexpected boundary issue in synaptic_map_construct()"
				LL = num_presynaptic_cells
			}

		        map.x[j][ii] = LL
	
		}
	}

	// Possibly print out map when done.
	if ((display == 1) && (thisno == 0)) {
		print "SYNAPTIC MAP"
	        for i = 1, num_postsynaptic_cells {
         		printf("%6d %6d %6d \n",map.x(1,i), map.x(2,i), \
			map.x(num_presyninputs_perpostsyn_cell,i))
		}
	}
  }else{
	// read from file created by port2colossus
	s = new String()
	sprint(s.s, "../../p2c/map/%s.dat", $s6)
//printf("%s %d %d\n", s.s, map.nrow-1, map.ncol-1)
	f = new File()
	f.ropen(s.s)
	tmpmap = new Matrix(map.nrow-1, map.ncol-1)
	tmpmap.scanf(f, map.nrow-1, map.ncol-1)
	tmpmap.bcopy(0,0,map.nrow-1, map.ncol-1, 1, 1, map)
  }
	return map
}