Correcting space clamp in dendrites (Schaefer et al. 2003 and 2007)

 Download zip file 
Help downloading and running models
Accession:22203
In voltage-clamp experiments, incomplete space clamp distorts the recorded currents, rendering accurate analysis impossible. Here, we present a simple numerical algorithm that corrects such distortions. The method enabled accurate retrieval of the local densities, kinetics, and density gradients of somatic and dendritic channels. The correction method was applied to two-electrode voltage-clamp recordings of K currents from the apical dendrite of layer 5 neocortical pyramidal neurons. The generality and robustness of the algorithm make it a useful tool for voltage-clamp analysis of voltage-gated currents in structures of any morphology that is amenable to the voltage-clamp technique.
References:
1 . Schaefer AT, Helmstaedter M, Sakmann B, Korngreen A (2003) Correction of conductance measurements in non-space-clamped structures: 1. Voltage-gated K+ channels. Biophys J 84:3508-28 [PubMed]
2 . Schaefer AT, Helmstaedter M, Schmitt AC, Bar-Yehuda D, Almog M, Ben-Porat H, Sakmann B, Korngreen A (2007) Dendritic voltage-gated K+ conductance gradient in pyramidal neurones of neocortical layer 5B from rats. J Physiol 579:737-52 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Neocortex M1 L5B pyramidal pyramidal tract GLU cell;
Channel(s): I K; I K,leak; I M; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Parameter Fitting; Influence of Dendritic Geometry; Detailed Neuronal Models;
Implementer(s): Schaefer, Andreas T [andreas.schaefer at crick.ac.uk];
Search NeuronDB for information about:  Neocortex M1 L5B pyramidal pyramidal tract GLU cell; I K; I K,leak; I M; I Potassium;
COMMENT

modified from 
k_fast.mod  with the purpose to "symbolify"...   A.S.Nov 99

voltage gated potassium channel, Hodgkin-Huxley style kinetics.  

Kinetics were fit to data from recordings of nucleated patches derived 
from pyramidal neurons. Data recordings and fits from Alon Korngreen 

Inactivation time constant is 4 times faster then data.

I left the voltage shift option untouched. It originally belonged to the 
template of this program. The vshift is set equal to zero. 

Author of the template (na.mod): Zach Mainen, Salk Institute, 1994, 
zach@salk.edu

Author: Alon Korngreen, MPImF Cell Physiology, 1998,
bergling@mpimf-heidelberg.mpg.de

Last modified by AK 17.1.1999

ENDCOMMENT

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
	SUFFIX kvfast
	USEION k READ ek WRITE ik
	RANGE  a, b, gkvfast, gbar
	RANGE  ainf, taua, binf, taub
:	GLOBAL ainf, taua, binf, taub
	GLOBAL a0, a1, a2, a3, a4, a5, a6
	GLOBAL b0, b1, b3, b4, b5, b6
	GLOBAL q10, temp, tadj, vmin, vmax, vshift
}

PARAMETER {
	gbar = 0   	(pS/um2)	: 
	vshift = 0	(mV)		: voltage shift (affects all)
									
	a0   =  3.4  	(1/ms)		: activation alpha   
	a1   =  10 	(mV)		:      see below
	a2   =  30 	(mV)		:      see below 

	a3   = 0.7 	(1/ms)		: activation beta
	a4   = 6    	(mV)		:   
	a5   = 180  	(mV)		:      see below
	a6   = -0.45 	(1/ms)		:      see below 

	b0   = 0.0001          (1/ms)		:  inactivation alpha
	b1   = 0.06	(1/mV)		:      see below
	


	b3   = 0.12    (1/ms)		:   inactivation beta
	b4   = -50      (mV)
	b5   = 8         (mV)
	b6   = 0.002  (1/ms)
	

	temp = 21	(degC)		: original temp 
	q10  = 2.3			: temperature sensitivity

	v 		(mV)
	dt		(ms)
	celsius		(degC)
	vmin = -120	(mV)
	vmax = 100	(mV)
}

UNITS {
	(mA) = (milliamp)
	(mV) = (millivolt)
	(pS) = (picosiemens)
	(um) = (micron)
} 

ASSIGNED {
	ik 		(mA/cm2)
	gkvfast		(pS/um2)
	ek		(mV)
	ainf 		
	binf
	taua (ms)	
	taub (ms)	
	tadj
}
 

STATE { a b }

INITIAL { 
	trates(v+vshift)
	a = ainf
	b = binf 
}

BREAKPOINT {
        SOLVE states
        gkvfast = tadj*gbar*a*a*a*a*b
	ik = (1e-4) * gkvfast * (v - ek)
} 

LOCAL aexp, bexp, z 

PROCEDURE states() {   		:	Computes state variables a and b
        trates(v+vshift) 	:       at the current v and dt.
        a = a + aexp*(ainf-a)
        b = b + bexp*(binf-b)
        VERBATIM
        return 0;
        ENDVERBATIM
}

PROCEDURE trates(v) { 
                      
    LOCAL tinc

    TABLE ainf, binf, aexp, bexp, taua, taub
	DEPEND dt, celsius, temp, q10, a0, a1, a2, a3, a4, a5,a6, b0, b1, b3, b4, b5, b6
	FROM vmin TO vmax WITH 199

	rates(v): not consistently executed from here if usetable == 1

        tadj = 1 :  q10^((celsius - temp)/10)
        tinc = -dt * tadj

        aexp = 1 - exp(tinc/taua)
        bexp = 1 - exp(tinc/taub)
}



PROCEDURE rates(vm) {  

	LOCAL alphaA, betaA,AlphaI,BetaI
	
	alphaA=a0/(1+exp(-(vm-a1)/a2))
	betaA=a3*exp(-(vm-a4)/a5)+a6
    	taua = 1/(alphaA+betaA)
	ainf = alphaA/(alphaA+betaA)


	AlphaI=b0*exp(-b1*vm)
	BetaI=b3/(1+exp(-(vm-b4)/b5))+b6
    	taub = 0.25/(AlphaI+BetaI)
	binf = AlphaI/(AlphaI+BetaI)
}



Loading data, please wait...