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

 Download zip file   Auto-launch 
Help downloading and running models
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.
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;
Simulation Environment: NEURON;
Model Concept(s): Detailed Neuronal Models; Connectivity matrix; Laminar Connectivity;
Implementer(s): Bezaire, Marianne [mariannejcase at];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; GabaA; Glutamate; I Sodium; I Calcium; I Potassium;
proc init() { local dtsav, temp, secsav, secondordersav	// Redefine the proc that initializes the
														//  simulation so that it includes a "pre-run" of the
														//  simulation to reach steady state prior to the start
														//  of the simulation at time t = 0 ms.
														// WARNING: Any time you redefine the init function, you
														//  risk not completely initializing everything that needs
														//  to be initialized. Read the Initialization section of
														//  the NEURON Book and see this NEURON forum post to make
														//  sure that you are initializing everything correctly:
														//  http://...

	dtsav = dt						// Save the desired dt value to reset it after temporarily
									//  changing dt to a large time step for the "pre-run" to 
									//  reach steady state
	secondordersav = secondorder	// Save the desired secondorder value to reset it after
									//  temporarily changing secondorder for the "pre-run"

	finitialize(v_init)	// Call finitialize from within the custom init proc, just as the default
						//  init proc does. Note that finitialize will call the INITIAL block for
						//  all mechanisms and point processes inserted in the sections and set the
						//	initial voltage to v_init for all sections

	t = -200			// Set the start time for "pre-run" to -200 ms to allow the network to
						// reach steady state before t = 0, when the real simulation begins
	dt= 10				// Set dt to a large value so that the presimulation runs quickly
	secondorder = 0		// Set secondorder to 0 to set the solver to the default fully implicit backward
						//  euler for numerical integration (see NEURON ref)
	temp=			// Check whether cvode, a type of solver, is on
	if (temp!=0) {}	// If cvode is on, turn it off for the "pre-run"
	while(t<-100) { fadvance() if (PrintTerminal>1) {print t}}	// Run the presimulation from t = -500
															//  to t = -100 to let the network and all
															//  its components reach  steady state.
															//  Integrate all section equations over
															//  the interval dt, increment t by dt, and
															//	repeat until t at -100
	if (temp!=0) {}	// If cvode was on and then turned off, turn it back on now
	t = tstart 						// Set t to the start time of the real simulation
	dt = dtsav						// Reset dt to the specified value for the simulation
	secondorder = secondordersav	// Reset secondorder to the specified value for the simulation
	if ({
		cvode.re_init()				// If cvode is active, initialize the integrator
	} else {
		fcurrent()					// If cvode is not active, make all assigned variables
									//	 (currents, conductances, etc) consistent with the
									//   values of the states
	frecord_init() 					// Because we used fadvance() during the pre-run, we now need to
									//  reinitialize the recorder count. This can be done by calling 
									//  frecord_init(), though some other functions will also accomplish
									//  this task by calling frecord_init themselves. See NEURON forum post:
									//  http://...