Global structure, robustness, and modulation of neuronal models (Goldman et al. 2001)

 Download zip file 
Help downloading and running models
"The electrical characteristics of many neurons are remarkably robust in the face of changing internal and external conditions. At the same time, neurons can be highly sensitive to neuromodulators. We find correlates of this dual robustness and sensitivity in a global analysis of the structure of a conductance-based model neuron. ..."
1 . Goldman MS, Golowasch J, Marder E, Abbott LF (2001) Global structure, robustness, and modulation of neuronal models. J Neurosci 21:5229-38 [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: Stomatogastric ganglion;
Cell Type(s):
Channel(s): I Na,t; I L high threshold; I T low threshold; I A; I K; I K,Ca; I Potassium;
Gap Junctions:
Simulation Environment: C or C++ program;
Model Concept(s): Bursting; Temporal Pattern Generation; Phase Response Curves;
Implementer(s): Goldman, Mark [msgoldman at];
Search NeuronDB for information about:  I Na,t; I L high threshold; I T low threshold; I A; I K; I K,Ca; I Potassium;
//****CNeuron.h:  header file ****

#define m_Compart(a) ((CCompartment*)m_CompartArray[a])
#define ERROR_TOLERANCE (1.0e-10)

//CNeuron class stuff

class CNeuron : public CObject
// Construction

	//double m_gTot; //sum of the individual channel conductances
	//double m_ITotal; //sum of all channel currents + injection (=-capacitive current) 
	CObArray m_CompartArray; //Array of compartments
	double** m_B; //matrix of conductances/capacitance -- diagonal elements are total
											  //compartmental conductances; off-diagonal=intercompart
	double** m_S; //change of basis matrix--columns are eigenvects of B
	double** m_SInverse; //change of basis matrix to eigencoords
	double m_lambda[_MAX_COMPARTS]; //eigenvalues of B
	double m_V[_MAX_COMPARTS]; //Array of voltages
	double m_VEigen[_MAX_COMPARTS]; //Array of voltages converted to eigencoords
	double m_D2[_MAX_COMPARTS]; //D = -I_inject + E.g/C for each compartment, equals m_D of compartment class minus I_inject
	double m_D2Eigen[_MAX_COMPARTS]; //Array of D's converted to eigencoords

	void ComputeMe(double* I_inject, double dt); //calls compartments

// Overrides
	// ClassWizard generated virtual function overrides
	void Serialize(CArchive& ar);

// Implementation
	virtual ~CNeuron();


Loading data, please wait...