Cerebellar purkinje cell (De Schutter and Bower 1994)

 Download zip file 
Help downloading and running models
Accession:7176
Tutorial simulation of a cerebellar Purkinje cell. This tutorial is based upon a GENESIS simulation of a cerebellar Purkinje cell, modeled and fine-tuned by Erik de Schutter. The tutorial assumes that you have a basic knowledge of the Purkinje cell and its synaptic inputs. It gives visual insight in how different properties as concentrations and channel conductances vary and interact within a real Purkinje cell.
Reference:
1 . De Schutter E, Bower JM (1994) An active membrane model of the cerebellar Purkinje cell. I. Simulation of current clamps in slice. J Neurophysiol 71:375-400 [PubMed]
2 . De Schutter E, Bower JM (1994) An active membrane model of the cerebellar Purkinje cell II. Simulation of synaptic responses. J Neurophysiol 71:401-19 [PubMed]
3 . Staub C, De Schutter E, Knöpfel T (1994) Voltage-imaging and simulation of effects of voltage- and agonist-activated conductances on soma-dendritic voltage coupling in cerebellar Purkinje cells. J Comput Neurosci 1:301-11 [PubMed]
4 . De Schutter E, Bower JM (1994) Simulated responses of cerebellar Purkinje cells are independent of the dendritic location of granule cell synaptic inputs. Proc Natl Acad Sci U S A 91:4736-40 [PubMed]
5 . De Schutter E (1998) Dendritic voltage and calcium-gated channels amplify the variability of postsynaptic responses in a Purkinje cell model. J Neurophysiol 80:504-19 [PubMed]
6 . Jaeger D, De Schutter E, Bower JM (1997) The role of synaptic and voltage-gated currents in the control of Purkinje cell spiking: a modeling study. J Neurosci 17:91-106 [PubMed]
7 . de Schutter E (1994) Modelling the cerebellar Purkinje cell: experiments in computo. Prog Brain Res 102:427-41 [PubMed]
8 . De Schutter E (1997) A new functional role for cerebellar long-term depression. Prog Brain Res 114:529-42 [PubMed]
9 . Steuber V, Mittmann W, Hoebeek FE, Silver RA, De Zeeuw CI, Häusser M, De Schutter E (2007) Cerebellar LTD and pattern recognition by Purkinje cells. Neuron 54:121-36 [PubMed]
Citations  Citation Browser
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): Cerebellum Purkinje GABA cell;
Channel(s): I Na,p; I Na,t; I T low threshold; I p,q; I A; I K; I M; I K,Ca; I Sodium; I Calcium; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): Activity Patterns; Dendritic Action Potentials; Active Dendrites; Detailed Neuronal Models; Tutorial/Teaching; Synaptic Integration;
Implementer(s): Cornelis, Hugo [hugo at bbf.uia.ac.be]; Airong, Dong [tard at fimmu.com];
Search NeuronDB for information about:  Cerebellum Purkinje GABA cell; I Na,p; I Na,t; I T low threshold; I p,q; I A; I K; I M; I K,Ca; I Sodium; I Calcium; I Potassium;
//genesis
//
// $Id: stack.g 1.3 Thu, 04 Apr 2002 11:55:56 +0200 hugo $
//

//////////////////////////////////////////////////////////////////////////////
//'
//' Purkinje tutorial
//'
//' (C) 1998-2002 BBF-UIA
//'
//' see our site at http://www.bbf.uia.ac.be/ for more information regarding
//' the Purkinje cell and genesis simulation software.
//'
//'
//' functional ideas ... Erik De Schutter, erik@bbf.uia.ac.be
//' genesis coding ..... Hugo Cornelis, hugo@bbf.uia.ac.be
//'
//' general feedback ... Reinoud Maex, Erik De Schutter
//'
//////////////////////////////////////////////////////////////////////////////


// stack.g : a simple stack implementation

int include_stack

if ( {include_stack} == 0 )

	include_stack = 1


include utility.g


extern StackCreate
extern StackPop
extern StackPush
extern StackTopElement
extern StackTop


///
/// SH:	StackCreate
///
/// PA:	path..:	path to contain stack elements ending in '/'
///
/// DE:	Create a stack
///

function StackCreate(path)

str path

	//- create stack container

	create neutral {path}stack

	//- add field for number of elements

	addfield {path}stack \
		elements -description "Number of elements -1 in stack"

	//- initialize field

	setfield {path}stack elements -1
end


///
/// SH:	StackDelete
///
/// PA:	path..:	path with stack elements ending in '/'
///
/// DE:	Delete stack
///

function StackDelete(path)

str path

	//- delete stack container

	delete {path}stack
end


///
/// SH:	StackNumberOfElements
///
/// PA:	path..:	path with stack elements ending in '/'
///
/// RE: number of values in stack
///
/// DE:	Get number of values in stack
///

function StackNumberOfElements(path)

str path

	return {{getfield {path}stack elements} + 1}
end


///
/// SH:	StackPop
///
/// PA:	path..:	path with stack elements ending in '/'
///
/// RE: value of previous top of stack
///
/// DE:	Pop value onto stack
///

function StackPop(path)

str path

	str top
	str val

	//- get number of elements in stack

	int iElements = {StackNumberOfElements {path}}

	//- if no underflow

	if (iElements > 0)

		//- get stack top

		top = {StackTopElement {path}}

		//- get value of stacktop

		val = {getfield {top} value}

		//- delete top

		delete {top}

		//- adjust element count

		setfield {path}stack \
			elements {{getfield {path}stack elements} - 1}

	//- else

	else
		//- set empty result

		val = ""
	end

	//- return value

	return {val}
end


///
/// SH:	StackPush
///
/// PA:	path..:	path with stack elements ending in '/'
///	val...: value to push
///
/// DE:	Push value onto stack
///

function StackPush(path,val)

str path
str val

	//- get stack top

	str top = {StackTopElement {path}}

	//- create new element 

	str new = {{top} @ "/1"}

	create neutral {new}

	//- set value

	addfield {new} value

	setfield {new} value {val}

	//- adjust element count

	setfield {path}stack \
		elements {{getfield {path}stack elements} + 1}
end


///
/// SH:	StackTopElement
///
/// PA:	path..:	path with stack elements ending in '/'
///
/// RE: top of stack
///
/// DE:	Get top of stack
///

function StackTopElement(path)

str path

	//- get stack top

	str top = {LastArgument {el {path}##}}

	//- return element

	return {top}
end


///
/// SH:	StackTop
///
/// PA:	path..:	path with stack elements ending in '/'
///
/// RE: value of top of stack
///
/// DE:	Get top value of stack
///

function StackTop(path)

str path

	//- get stack top

	str top = {StackTopElement {path}}

	//- get value of stacktop

	str val = {getfield {top} value}

	//- return value

	return {val}
end


end