Hippocampal CA1 NN with spontaneous theta, gamma: full scale & network clamp (Bezaire et al 2016)

 Download zip file 
Help downloading and running models
This model is a full-scale, biologically constrained rodent hippocampal CA1 network model that includes 9 cells types (pyramidal cells and 8 interneurons) with realistic proportions of each and realistic connectivity between the cells. In addition, the model receives realistic numbers of afferents from artificial cells representing hippocampal CA3 and entorhinal cortical layer III. The model is fully scaleable and parallelized so that it can be run at small scale on a personal computer or large scale on a supercomputer. The model network exhibits spontaneous theta and gamma rhythms without any rhythmic input. The model network can be perturbed in a variety of ways to better study the mechanisms of CA1 network dynamics. Also see online code at http://bitbucket.org/mbezaire/ca1 and further information at http://mariannebezaire.com/models/ca1
1 . Bezaire MJ, Raikov I, Burk K, Vyas D, Soltesz I (2016) Interneuronal mechanisms of hippocampal theta oscillations in a full-scale model of the rodent CA1 circuit. Elife [PubMed]
2 . Bezaire M, Raikov I, Burk K, Armstrong C, Soltesz I (2016) SimTracker tool and code template to design, manage and analyze neural network model simulations in parallel NEURON bioRxiv
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA1 interneuron oriens alveus GABA cell; Hippocampus CA1 basket cell; Hippocampus CA1 stratum radiatum interneuron; Hippocampus CA1 bistratified cell; Hippocampus CA1 axo-axonic cell; Hippocampus CA1 PV+ fast-firing interneuron;
Channel(s): I Na,t; I K; I K,leak; I h; I K,Ca; I Calcium;
Gap Junctions:
Receptor(s): GabaA; GabaB; Glutamate; Gaba;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON; NEURON (web link to model);
Model Concept(s): Oscillations; Methods; Connectivity matrix; Laminar Connectivity; Gamma oscillations;
Implementer(s): Bezaire, Marianne [mariannejcase at gmail.com]; Raikov, Ivan [ivan.g.raikov at gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; Hippocampus CA1 interneuron oriens alveus GABA cell; GabaA; GabaB; Glutamate; Gaba; I Na,t; I K; I K,leak; I h; I K,Ca; I Calcium; Gaba; Glutamate;
f2 = new File()
f2.ropen("../stimulation/sintrainparams.hoc")		// Open the celltype

numppTypes = f2.scanvar			// Scan the first line, which contains a number giving the

objref pptype[numppTypes]
double fmax[numppTypes], noise[numppTypes], depth[numppTypes], phase[numppTypes]

for i=0, numppTypes-1 {
	pptype[i] = new String()
	fmax[i] = f2.scanvar
	noise[i] = f2.scanvar
	depth[i] = f2.scanvar
	phase[i] = f2.scanvar

period = Onint + Offint		// Interval of no stimulation

proc ppSin() { local ppi, i, wgt, reli, typei, jgid, celltype, counter, jstart, jend, jtot localobj mycell		// Connect the perforant path cells to the model cells
	// find ppecsin index
	for ppi=0, numppTypes-1 {
		for celltype=0, numCellTypes-1 {
			if (strcmp(cellType[celltype].cellType_string, pptype[ppi].s)==0) {
				idx = celltype 
		if (idx>-1) {
			for pcitr(&reli, &typei, &jgid, cellType[idx].cellStartGid, cellType[idx].cellEndGid) {
				if (pc.gid_exists(jgid)) {
					//mycell = pc.gid2cell(jgid)

					xpos=xpos_algorithm(jgid,cellType[idx].numCells,cellType[idx].cellStartGid,cellType[idx].dentateXBins,cellType[idx].dentateYBins*cellType[idx].dentateZBins,cellType[idx].dentateXBinSize)	// Algorithmically generate cell position
					ypos=ypos_algorithm(jgid,cellType[idx].numCells,cellType[idx].cellStartGid,cellType[idx].dentateYBins,cellType[idx].dentateZBins,cellType[idx].dentateYBinSize)	// Algorithmically generate cell position
					zpos=zpos_algorithm(jgid,cellType[idx].numCells,cellType[idx].cellStartGid,cellType[idx].dentateZBins,cellType[idx].dentateZBinSize,cellType[idx].layerflag)	// Algorithmically generate cell position
					cellType[idx].CellList[typei].position(xpos,ypos,zpos)	// Record cell position in cell object

					cellType[idx].CellList[typei].fmax(fmax[ppi]) // max freq

					cellType[idx].CellList[typei].number(1e9) // number of periods - last to the end of the simulation
					cellType[idx].CellList[typei].depth(depth[ppi]) // this should be argument 7 instead of noise, since we know diff inrns modulated diff'ly
					{ranNSlist.object(reli).r.negexp(1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1
					{ranPPlist.object(reli).r.uniform(0,1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1

Loading data, please wait...