CA1 oriens alveus interneurons: signaling properties (Minneci et al. 2007)

 Download zip file 
Help downloading and running models
The model supports the experimental findings showing that the dynamic interaction between cells with various firing patterns could differently affect GABAergic signaling, leading to a wide range of interneuronal communication within the hippocampal network.
1 . Minneci F, Janahmadi M, Migliore M, Dragicevic N, Avossa D, Cherubini E (2007) Signaling properties of stratum oriens interneurons in the hippocampus of transgenic mice expressing EGFP in a subset of somatostatin-containing cells. Hippocampus 17:538-53 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 interneuron oriens alveus GABA cell;
Channel(s): I A; I Sodium; I Potassium;
Gap Junctions: Gap junctions;
Receptor(s): Gaba;
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Bursting; Active Dendrites; Detailed Neuronal Models; Action Potentials; Signaling pathways;
Implementer(s): Migliore, Michele [Michele.Migliore at];
Search NeuronDB for information about:  Hippocampus CA1 interneuron oriens alveus GABA cell; Gaba; I A; I Sodium; I Potassium;
begintemplate Gap
public src, target, g, valid, pr, set_gm, gm, cm
objref srcsec, targetsec, cm, gm, y, b, xvec, sl, lm, this, fih
strdef tstr

proc init(){
	g_ = 10
	valid_ = 0
	cm = new Matrix(2,2,2)
	gm = new Matrix(2,2)
	y = new Vector(2)
	b = new Vector(2)
	xvec = new Vector(2)

func src() {
	srcsec = new SectionRef()
	xvec.x[0] = $1
	valid_ = 0
	return valid()

func target() {
	targetsec = new SectionRef()
	xvec.x[1] = $1
	valid_ = 0
	return valid()

func g() {
	if (numarg() > 0) {
		g_ = $1
		if (valid_) {
	return g_

proc set_gm() { local us, a// conductance in nanosiemens
	if (valid_ == 0) { return }
	us = .001*g_
	srcsec.sec { a = 100/area(xvec.x[0]) }
	gm.x[0][0] = us*a
	gm.x[0][1] = -us*a
	targetsec.sec { a = 100/area(xvec.x[1]) }
	gm.x[1][1] = us*a
	gm.x[1][0] = -us*a

func valid() {
	if (valid_ == 0) {
		if (object_id(srcsec) && object_id(targetsec)) {
	return valid_

proc mkgap() {
	sl = new SectionList()
	srcsec.sec sl.append()
	targetsec.sec sl.append()
	valid_ = 1
	lm = new LinearMechanism(cm, gm, y, b, sl, xvec)
	// only necessary because we anticpate changes in diameter
	// fih = new FInitializeHandler(0, "set_gm()")
	// unfortunately up through the  5.6 2004/02/09 Main (44)
	// version there is an error in parsing the third arg, so
	sprint(tstr, "%s.set_gm()", this)
	fih = new FInitializeHandler(0, tstr)

proc pr() {
	if (valid_) {
srcsec.sec printf("%s %s(%g)", this, secname(), xvec.x[0])
targetsec.sec printf("---%s(%g) \tg = %g (ns)\n", secname(), xvec.x[1], g())
		printf("%s not used\n", this)
endtemplate Gap

Loading data, please wait...