Parvalbumin-positive basket cells differentiate among hippocampal pyramidal cells (Lee et al. 2014)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:153280
This detailed microcircuit model explores the network level effects of sublayer specific connectivity in the mouse CA1. The differences in strengths and numbers of synapses between PV+ basket cells and either superficial sublayer or deep sublayer pyramidal cells enables a routing of inhibition from superficial to deep pyramidal cells. At the network level of this model, the effects become quite prominent when one compares the effect on firing rates when either the deep or superficial pyramidal cells receive a selective increase in excitation.
Reference:
1 . Lee SH, Marchionni I, Bezaire M, Varga C, Danielson N, Lovett-Barron M, Losonczy A, Soltesz I (2014) Parvalbumin-positive basket cells differentiate among hippocampal pyramidal cells. Neuron 82:1129-44 [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: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA1 basket cell;
Channel(s): I Sodium; I Calcium; I Potassium;
Gap Junctions:
Receptor(s): GabaA; Glutamate;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Detailed Neuronal Models; Connectivity matrix; Laminar Connectivity;
Implementer(s): Bezaire, Marianne [mariannejcase at gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; GabaA; Glutamate; I Sodium; I Calcium; I Potassium;
objref f2								// Define object reference for the cells2include file

objref celltypestring[1], techstring[1], cellType[1]	// Define placeholder objects with a size of one, then
										//  redefine them with the correct size in the proc

double cellnumvar[1], cellLayerflag[1], cellArtflag[1], numCellTypes[1]	// Define placeholder doubles with a size
														//   of one, then redefine them with the
														//   correct size in the proc
objref pnmtmp, pctmp, nil
proc loadCellCategoryInfo() {local i, startpos, tmpct	// Load celltype info into a CellCategoryInfo
												//  object (one object per cell type)
	f2 = new File()
	sprint(cmdstr, "../datasets/cellnumbers_%g.dat", NumData)
	f2.ropen(cmdstr)		// Open the celltype
	
	numCellTypes = f2.scanvar			// Scan the first line, which contains a number giving the
										// # cell types, including stimulating (artificial) cells (still?)

	// Define variables to temporarily hold data scanned from file
	objref celltypestring[numCellTypes], techstring[numCellTypes], cellType[numCellTypes]
	double cellnumvar[numCellTypes], cellLayerflag[numCellTypes], cellArtflag[numCellTypes]

// LEFT OFF HERE WITH FIXING THE DOCUMENTATION!!!
tmpct=0 //## added for now
	for i=0, numCellTypes-1 {
		celltypestring[i]= new String()
		techstring[i] = new String()
		f2.scanstr(celltypestring[i].s)				// Scan in the cell name
		f2.scanstr(techstring[i].s)
		cellnumvar[i]=f2.scanvar					// Scan in the initial (before sclerosis) number of each cell type
		cellLayerflag[i]=f2.scanvar					// Scan the layer flag (hilar=2, granular=1, molecular=0), where hilar cells
													//	are subject to sclerosis
		cellArtflag[i]=f2.scanvar					// Scan the artificial flag, 1 = artificial cell, 0 = real cell
		
		if (cellLayerflag[i]==0) {	// For cell types that are susceptible to death (sclerosis)
			cellnumvar[i] = int(cellnumvar[i] * ((100-PercentCellDeath)/100))	// Calculate the # of cells after sclerosis
		}
		cellnumvar[i]=int(cellnumvar[i]/Scale + .5)	// Account for the scaled model size
		if (cellnumvar[i]<1) {
			cellnumvar[i]=1 // If all cells of a type are killed or cell size is scaled to less than 1, add 1 back
		}		

		tmpct = tmpct + cellnumvar[i] //## added for now
	}
	f2.close()

	startpos=0
	for i=0, numCellTypes-1 {
	cellType[i] = new CellCategoryInfo(i)	// Make one object for each cell type to store cell type info
	cellType[i].setCellTypeParams(celltypestring[i].s, techstring[i].s, startpos, cellnumvar[i], cellLayerflag[i], cellArtflag[i])	// Set parameters
	cellType[i].numCons = new Vector(numCellTypes,0)
	cellType[i].setCellTypeDist	// Load distribution file
	startpos = startpos + cellnumvar[i]		// Increment the startGid for the next cell type's call to setCellTypeParams
	}
}
loadCellCategoryInfo()