Synthesis of spatial tuning functions from theta cell spike trains (Welday et al., 2011)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:129067
A single compartment model reproduces the firing rate maps of place, grid, and boundary cells by receiving inhibitory inputs from theta cells. The theta cell spike trains are modulated by the rat's movement velocity in such a way that phase interference among their burst pattern creates spatial envelope function which simulate the firing rate maps.
Reference:
1 . Welday AC, Shlifer IG, Bloom ML, Zhang K, Blair HT (2011) Cosine directional tuning of theta cell burst frequencies: evidence for spatial coding by oscillatory interference. J Neurosci 31:16157-76 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell; Entorhinal cortex stellate cell;
Channel(s): I Na,p;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Synchronization; Envelope synthesis; Grid cell; Place cell/field;
Implementer(s): Blair, Hugh T.;
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell; GabaA; AMPA; I Na,p; Gaba; Glutamate;
/
Welday_et_al
Welday_et_al_Fig9AB
README.txt
ampa.mod *
Nap.mod *
vecevent.mod *
lintrack25_1.dat
lintrack25_2.dat
lintrack25_3.dat
lintrack25_4.dat
lintrack25_5.dat
lintrack25_6.dat
lintrack25_7.dat
lintrack25_8.dat
lintrackB25_1.dat
lintrackB25_2.dat
lintrackB25_3.dat
lintrackB25_4.dat
lintrackB25_5.dat
lintrackB25_6.dat
lintrackB25_7.dat
lintrackB25_8.dat
lintrackC25_1.dat
lintrackC25_2.dat
lintrackC25_3.dat
lintrackC25_4.dat
lintrackC25_5.dat
lintrackC25_6.dat
lintrackC25_7.dat
lintrackC25_8.dat
lintrackD25_1.dat
lintrackD25_2.dat
lintrackD25_3.dat
lintrackD25_4.dat
lintrackD25_5.dat
lintrackD25_6.dat
lintrackD25_7.dat
lintrackD25_8.dat
placetrack_GABAinputs_Fig9A.ses
placetrack_GABAinputs_Fig9B.ses
placetrack_vecstims_Fig9A.ses
placetrack_vecstims_Fig9B.ses
read_thetaspikes_Fig9A.hoc
read_thetaspikes_Fig9B.hoc
RUNSIM_FIG9A.hoc
RUNSIM_FIG9B.hoc
savespikes.hoc *
savevm.hoc
                            
:  Vector stream of events

NEURON {
	ARTIFICIAL_CELL VecStim
}

ASSIGNED {
	index
	etime (ms)
	space
}

INITIAL {
	index = 0
	element()
	if (index > 0) {
		net_send(etime - t, 1)
	}
}

NET_RECEIVE (w) {
	if (flag == 1) {
		net_event(t)
		element()
		if (index > 0) {
			net_send(etime - t, 1)
		}
	}
}

VERBATIM
extern double* vector_vec();
extern int vector_capacity();
extern void* vector_arg();
ENDVERBATIM

PROCEDURE element() {
VERBATIM	
  { void* vv; int i, size; double* px;
	i = (int)index;
	if (i >= 0) {
		vv = *((void**)(&space));
		if (vv) {
			size = vector_capacity(vv);
			px = vector_vec(vv);
			if (i < size) {
				etime = px[i];
				index += 1.;
			}else{
				index = -1.;
			}
		}else{
			index = -1.;
		}
	}
  }
ENDVERBATIM
}

PROCEDURE play() {
VERBATIM
	void** vv;
	vv = (void**)(&space);
	*vv = (void*)0;
	if (ifarg(1)) {
		*vv = vector_arg(1);
	}
ENDVERBATIM
}
        


Loading data, please wait...