Nonlinear dendritic processing in barrel cortex spiny stellate neurons (Lavzin et al. 2012)

 Download zip file 
Help downloading and running models
This is a multi-compartmental simulation of a spiny stellate neuron which is stimulated by a thalamocortical (TC) and cortico-cortical (CC) inputs. No other cells are explicitly modeled; the presynaptic network activation is represented by the number of active synapses. Preferred and non –preferred thalamic directions thus correspond to larder/smaller number of TC synapses. This simulation revealed that randomly activated synapses can cooperatively trigger global NMDA spikes, which involve participation of most of the dendritic tree. Surprisingly, we found that although the voltage profile of the cell was uniform, the calcium influx was restricted to ‘hot spots’ which correspond to synaptic clusters or large conductance synapses
1 . Lavzin M, Rapoport S, Polsky A, Garion L, Schiller J (2012) Nonlinear dendritic processing determines angular tuning of barrel cortex neurons in vivo. Nature 490:397-401 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Synapse; Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Neocortex spiny stellate cell;
Channel(s): I Sodium; I Potassium; Ca pump;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Active Dendrites; Detailed Neuronal Models; Synaptic Integration; Calcium dynamics; Direction Selectivity; Whisking;
Implementer(s): Polsky, Alon [alonpol at];
Search NeuronDB for information about:  GabaA; AMPA; NMDA; I Sodium; I Potassium; Ca pump; Gaba; Glutamate;
: Calcium ion accumulation with radial diffusion
	USEION ca READ cao, cai, ica WRITE cai, ica
	RANGE ica_pmp
	GLOBAL vrat, TotalBuffer, TotalPump

DEFINE Nannuli 4

	(molar) = (1/liter)
	(mM) = (millimolar)
	(um) = (micron)
	(mA) = (milliamp)
	FARADAY = (faraday) (10000 coulomb)
	PI = (pi) (1)
 	(nA) 	= (nanoamp)

CONSTANT { volo = 1e10 (um2) }
	DCa = 0.6 (um2/ms)
	k1buf = 100 (/mM-ms) : Yamada et al. 1989
	k2buf = 0.1 (/ms)
	TotalBuffer = 0.003 (mM)
	k1 = 1 (/mM-ms)
	k2 = 0.005 (/ms)
	k3 = 1 (/ms)
	k4 = 0.005 (/mM-ms)
	: to eliminate pump, set TotalPump to 0 in hoc
	TotalPump = 1e-13(mol/cm2): 1e-12: 1e-14
	diam (um)
	ica (mA/cm2)
	cai (mM)
	vrat[Nannuli] : numeric value of vrat[i] equals the volume
	: of annulus i of a 1um diameter cylinder
	: multiply by diam^2 to get volume per um length
	Kd (/mM)
	B0 (mM)
	cao (mM)
	ica_pmp (mA/cm2)
	parea (um)
	: ca[0] is equivalent to cai
	: ca[] are very small, so specify absolute tolerance
	ca[Nannuli] (mM) <1e-10>
	CaBuffer[Nannuli] (mM)
	Buffer[Nannuli] (mM)
	pump (mol/cm2)
	pumpca (mol/cm2)
	SOLVE state METHOD sparse
	ica = ica_pmp
LOCAL factors_done
	parea = PI*diam
	if (factors_done == 0) {
		factors_done = 1
	Kd = k1buf/k2buf
	B0 = TotalBuffer/(1 + Kd*cai)
	FROM i=0 TO Nannuli-1 {
		ca[i] = cai
		Buffer[i] = B0
		CaBuffer[i] = TotalBuffer - B0
	pump = TotalPump/(1 + (cai*k1/k2))
	pumpca = TotalPump - pump

LOCAL frat[Nannuli] : scales the rate constants for model geometry
PROCEDURE factors() {
	LOCAL r, dr2
	r = 1/2 : starts at edge (half diam)
	dr2 = r/(Nannuli-1)/2 : full thickness of outermost annulus,
	: half thickness of all other annuli
	vrat[0] = 0
	frat[0] = 2*r
	FROM i=0 TO Nannuli-2 {
		vrat[i] = vrat[i] + PI*(r-dr2/2)*2*dr2 : interior half
		r = r - dr2
		frat[i+1] = 2*PI*r/(2*dr2) : outer radius of annulus
		: div by distance between centers
		r = r - dr2
		vrat[i+1] = PI*(r+dr2/2)*2*dr2 : outer half of annulus
LOCAL dsq, dsqvol 	: can't define local variable in KINETIC block
				: or use in COMPARTMENT statement
KINETIC state {
	COMPARTMENT i, diam*diam*vrat[i] {ca CaBuffer Buffer}
	COMPARTMENT (1e10)*parea {pump pumpca}
	COMPARTMENT volo {cao}
	~ ca[0] + pump <-> pumpca (k1*parea*(1e10), k2*parea*(1e10))
	~ pumpca <-> pump + cao (k3*parea*(1e10), k4*parea*(1e10))
	CONSERVE pump + pumpca = TotalPump * parea * (1e10)
	ica_pmp = 2*FARADAY*(f_flux - b_flux)/parea

	: all currents except pump
	~ ca[0] << (-(ica)*PI*diam/(2*FARADAY)) : ica is Ca efflux
	FROM i=0 TO Nannuli-2 {
		~ ca[i] <-> ca[i+1] (DCa*frat[i+1], DCa*frat[i+1])
	dsq = diam*diam
	FROM i=0 TO Nannuli-1 {
		dsqvol = dsq*vrat[i]
		~ ca[i] + Buffer[i] <-> CaBuffer[i] (k1buf*dsqvol, k2buf*dsqvol)
	cai = ca[0]

Loading data, please wait...