ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/187604.

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

 Download zip file 
Help downloading and running models
Accession:187604
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
References:
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;
Gene(s):
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()
sprint(cmdstr,"../datasets/phasic_%g.dat", PhasicData)
f2.ropen(cmdstr)		// 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()
	f2.scanstr(pptype[i].s)
	fmax[i] = f2.scanvar
	noise[i] = f2.scanvar
	depth[i] = f2.scanvar
	phase[i] = f2.scanvar
	print pptype[i].s, ": ", fmax[i], " Hz, ", phase[i], " phase"
}
f2.close()


period = Onint + Offint		// Oscillation period in ms

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 &&  strcmp(cellType[celltype].technicalType, "sintrain")==0 ) {
				idx = celltype 
				for pcitr(&reli, &typei, &jgid, cellType[idx].cellStartGid, cellType[idx].cellEndGid) {
					if (pc.gid_exists(jgid)) {

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

						//mod_params
						cellType[idx].CellList[typei].period(period)
						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
						cellType[idx].CellList[typei].phase(phase[ppi]*period/360)
						
						{ranstimlist.object(reli).r.negexp(1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1
						{cellType[idx].CellList[typei].setnoiseFromRandomNS(ranstimlist.object(reli).r)}
						
						{raninitlist.object(reli).r.uniform(0,1)}// Set up the generator to pick a uniform dist of numbers between 0 and 1
						{cellType[idx].CellList[typei].setnoiseFromRandomPP(raninitlist.object(reli).r)}
					}
				}
			}
		}
	}
}
ppSin()

Loading data, please wait...