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: bounds.g 1.3.1.2 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
//'
//////////////////////////////////////////////////////////////////////////////


// bounds.g : boundaries for xcell and xgraph

int include_bounds

if ( {include_bounds} == 0 )

	include_bounds = 1


//v last read boundary file

str boundsLastFile = ""


///
/// SH:	BoundsInit
///
/// PA:	path..:	boundary file
///
/// DE:	Initialize boundaries for xcell and xgraph
///	boundaries are set as specified in {path}
///	{path} is registered in boundsLastFile if successfull
///

function BoundsInit(path)

str path

	//- give diagnostics

	echo "Setting up boundaries from file "{path}

	//- create neutral container

	create neutral /bounds

	//- make it the current element

	pushe /bounds

	//! create the boundary tab file if it does not exist

	//sh "touch bounds.tab"

	//- open the tab file

	openfile {path} r

	//- read first line from file

	str line = {readfile {path} -line}

	//- loop over all lines in the file

	//! I do not know when EOF is read (undocumented), but this seems to
	//! work

	while (line != "")

		//- extract element name

		str element = {getarg {arglist {line}} -arg 1}

		//- if element does not start with comment char

		if ({substring {element} 0 0} != "#")

			//- create element for absolute boundaries

			create neutral {element}_abs

			//- addfields for minima and maxima

			addfield {element}_abs \
				xcellmin -description \
					"XCell minimum, absolute mode"
			addfield {element}_abs \
				xcellmax -description \
					"XCell maximum, absolute mode"
			addfield {element}_abs \
				xgraphmin -description \
					"XGraph minimum, absolute mode"
			addfield {element}_abs \
				xgraphmax -description \
					"XGraph maximum, absolute mode"

			//- set the fields for maxima and minima as in the file

			setfield {element}_abs \
				xcellmin {getarg {arglist {line}} -arg 2} \
				xcellmax {getarg {arglist {line}} -arg 3} \
				xgraphmin {getarg {arglist {line}} -arg 4} \
				xgraphmax {getarg {arglist {line}} -arg 5}

			//- create element for normalized values

			create neutral {element}_norm

			//- addfields for minima and maxima

			addfield {element}_norm \
				xcellmin -description \
					"XCell minimum, normalized mode"
			addfield {element}_norm \
				xcellmax -description \
					"XCell maximum, normalized mode"
			addfield {element}_norm \
				xgraphmin -description \
					"XGraph minimum, normalized mode"
			addfield {element}_norm \
				xgraphmax -description \
					"XGraph maximum, normalized mode"

			//- set the fields for maxima and minima as in the file

			setfield {element}_norm \
				xcellmin {getarg {arglist {line}} -arg 6} \
				xcellmax {getarg {arglist {line}} -arg 7} \
				xgraphmin {getarg {arglist {line}} -arg 8} \
				xgraphmax {getarg {arglist {line}} -arg 9}
		end

		//- read next line from the file

		line = {readfile {path} -line}
	end

	//- register last boundary file

	boundsLastFile = {path}

	//- close the tab file

	closefile {path}

	//- pop previous current element

	pope
end


///
/// SH:	BoundElementName
///
/// PA:	source:	subelement of compartment
///	value.:	field of subelement
///	iMode.:	4 : absolute channel mode
///		5 : normalized channel mode
///
/// RE:	name of boundary element
///
/// DE:	Give the name for a boundary element in the given context
///

function BoundElementName(source,value,iMode)

str source
str value
int iMode

	//v name of boundary element

	str bound

	//- if chanmode is 4

	if (iMode == 4)
	
		//- construct element name with boundaries for absolute mode

		bound = "/bounds/" \
				@ {source} \
				@ "_" \
				@ {value} \
				@ "_abs"

	//- else if chanmode is 5

	elif (iMode == 5)

		//- construct element name with boundaries for normalized mode

		bound = "/bounds/" \
				@ {source} \
				@ "_" \
				@ {value} \
				@ "_norm"
	//- else

	else
		//- give diagnostics

		echo "Illegal chanmode for boundary name creation ("{iMode}")"

		//- set result : empty

		bound = ""
	end

	//- return result

	return {bound}
end


///
/// SH:	BoundsReread
///
/// DE:	Reread the boundary file registered in {boundsLastFile}
///

function BoundsReread

	//- delete root boundary element

	delete /bounds

	//- read registered boundary file

	BoundsInit {boundsLastFile}
end


end