Controlling KCa channels with different Ca2+ buffering models in Purkinje cell (Anwar et al. 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:138382
In this work, we compare the dynamics of different buffering models during generation of a dendritic Ca2+ spike in a single compartment model of a Purkinje cell dendrite. The Ca2+ buffering models used are 1) a single Ca2+ pool, 2) two Ca2+ pools respectively for the fast and slow transients, 3) a detailed calcium model with buffers, pump (Schmidt et al., 2003), and diffusion and 4) a calcium model with buffers, pump and diffusion compensation. The parameters of single pool and double pool are tuned, using Neurofitter (Van Geit et al., 2007), to approximate the behavior of detailed calcium dynamics over range of 0.5 µM to 8 µM of intracellular calcium. The diffusion compensation is modeled using a buffer-like mechanism called DCM. To use DCM robustly for different diameter compartments, its parameters are estimated, using Neurofitter (Van Geit et al., 2007), as a function of compartment diameter (0.8 µm-20 µm).
Reference:
1 . Anwar H, Hong S, De Schutter E (2012) Controlling Ca2+-activated K+ channels with models of Ca2+ buffering in Purkinje cells. Cerebellum 11:681-93 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Cerebellum Purkinje GABA cell;
Channel(s): I K,Ca; I Calcium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Calcium dynamics;
Implementer(s):
Search NeuronDB for information about:  Cerebellum Purkinje GABA cell; I K,Ca; I Calcium;
load_file("stdgui.hoc")
load_file("morphology_mechanisms_DM.hoc")
xopen("BuffersNPumps.ses")

objref pulse, pulse1, pulse2

objref InjectMatrix

objref InjectFile, InjectVector0, InjectVector
InjectFile = new File("CaSpikeProtocol.dat")
InjectFile.ropen()

InjectMatrix = new Matrix()
InjectMatrix.scanf(InjectFile,500001,2)
InjectVector = new Vector(500001)
for(i=0; i<InjectVector.size-1; i = i+1){
	if(i>=InjectMatrix.nrow){
		InjectVector.x[i] = -95
	}else{
		InjectVector.x[i]=InjectMatrix.x[i][1]
	}
}
tstop = InjectVector.size
dt = 0.02
tstop = 2000

proc init_VClamp() {
	access dend[0]
	 pulse = new SEClamp(0.5)
	pulse.dur1 = tstop
	InjectVector.play(&pulse.amp1,dt)
}

proc init_VClamp1() {
        access dend[1]
         pulse1 = new SEClamp(0.5)
        pulse1.dur1 = tstop
        InjectVector.play(&pulse1.amp1,dt)
}

proc init_VClamp2() {
        access dend[2]
         pulse2 = new SEClamp(0.5)
        pulse2.dur1 = tstop
        InjectVector.play(&pulse2.amp1,dt)
}


Vrest = -90
celsius = 24 //degrees
v_init = Vrest
steps_per_ms = 1/dt
t = 0                   // simulation starts at t = 0 ms

finitialize()
init_VClamp()
init_VClamp1()
init_VClamp2()
run()




Loading data, please wait...