CA1 pyramidal neuron: as a 2-layer NN and subthreshold synaptic summation (Poirazi et al 2003)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:20212
We developed a CA1 pyramidal cell model calibrated with a broad spectrum of in vitro data. Using simultaneous dendritic and somatic recordings, and combining results for two different response measures (peak vs. mean EPSP), two different stimulus formats (single shock vs. 50 Hz trains), and two different spatial integration conditions (within vs. between-branch summation), we found the cell's subthreshold responses to paired inputs are best described as a sum of nonlinear subunit responses, where the subunits correspond to different dendritic branches. In addition to suggesting a new type of experiment and providing testable predictions, our model shows how conclusions regarding synaptic arithmetic can be influenced by an array of seemingly innocuous experimental design choices.
References:
1 . Poirazi P, Brannon T, Mel BW (2003) Arithmetic of subthreshold synaptic summation in a model CA1 pyramidal cell. Neuron 37:977-87 [PubMed]
2 . Poirazi P, Brannon T, Mel BW (2003) Pyramidal neuron as two-layer neural network. Neuron 37:989-99 [PubMed]
3 . Poirazi P, Brannon T, Mel BW (2003ab-sup) Online Supplement: About the Model Neuron 37 Online:1-20
4 . Polsky A, Mel BW, Schiller J (2004) Computational subunits in thin dendrites of pyramidal cells. Nat Neurosci 7:621-7 [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:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium;
Gap Junctions:
Receptor(s): GabaA; GabaB; NMDA; Glutamate;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Activity Patterns; Dendritic Action Potentials; Active Dendrites; Influence of Dendritic Geometry; Detailed Neuronal Models; Action Potentials; Depression; Delay;
Implementer(s): Poirazi, Panayiota [poirazi at imbb.forth.gr];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; GabaA; GabaB; NMDA; Glutamate; I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium;
/
CA1_multi
mechanism
not-currently-used
abbott.mod
abbott_nmda.mod
borgkm.mod
ca.mod
cachan.mod
cacum.mod
cad_trunk.mod
cad3.mod
cadecay.mod *
cadifusl.mod
cagk.mod
cal.mod
calH.mod
can2.mod
canKev.mod
capump.mod
cat.mod
h.mod
hh3.mod
hh3_flei.mod
hha.mod
ht.mod
ican.mod
iq.mod
it.mod
it1.mod
ITGHK.mod *
kad.mod *
kap.mod *
kc.mod
kca.mod
kdr.mod
kdr_inac.mod
kdrca1.mod
kv.mod *
My_cal.mod
My_can.mod
My_cat.mod
my_kca.mod
Myca.mod
Mykca.mod
na.mod *
na3.mod
namir.mod
nax.mod
ourca_old.mod
vkca.mod
abbott.o
abbott_nmda.c
h.pl
ITGHK.o
mod_func.c
test.hoc
test2.hoc
testh.hoc
VClamp.omod *
                            
COMMENT

This .mod file MUST use the euler method of differentiation. Other
methods make numerous calls to the check() block within a single
timestep and hence do unintuitive things to the state variables there.

ENDCOMMENT

:INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

UNITS {
      (umho) = (micromho)
        (nA) = (nanoamp)
        (mA) = (milliamp)
        (mV) = (millivolt)
}

NEURON {
	POINT_PROCESS abbott
	POINTER vpre
	NONSPECIFIC_CURRENT i
	RANGE d, s
	RANGE tauD, tauS, taug, G
	RANGE erev, thresh
}

STATE {
	D 
	S
	g 		(umho)		: conductance
}

PARAMETER {
	v    (mV)
	erev = 0 (mV)
	thresh = 0.5 (mV) : useful for 0-1 files
	d = 0.4
	s = 1.0
	tauD = 300 (ms)
	tauS = 20e3 (ms)
	taug = 2 (ms)
	G    = 10e-12 (umho)
}	

ASSIGNED {

	i     (nA)
	firing
	vpre  (mV)
}

INITIAL {
	firing = 0
	D = 1
	S = 1
	g = 0
}

BREAKPOINT {

   SOLVE depression METHOD euler : so now we're clinical psychiatrists
   aux()
}

DERIVATIVE depression {
   check()
   D' = (1/tauD) * ( 1 - D ) 
   S' = (1/tauS) * ( 1 - S )
   g' = (1/taug) * (-g) 
:   printf("D: %f, S: %f, g: %f\n", D, S, g)
}

PROCEDURE aux() {
	i = (g * (v - erev))
}

PROCEDURE check() {
:	  printf ("--------------------------------------------------\n")
:	  printf ("t: %f\n", t)


	if (firing && (vpre < thresh)) {
		firing = 0
		}
	if ((vpre >= thresh) && !firing) {
		firing = 1
		D = d * D
		S = s * S
		g = g + G * D * S
:		printf(" **** firing: %f \n", firing)
		}

:	  printf("vpre: %f, firing: %f\n", vpre, firing)
}

PROCEDURE check2() {
VERBATIM
	if ((v >= thresh) && !firing) {
		firing = 1;
	}
	if (firing && (v < thresh)) {
		firing = 0;
	}
	return 0;
ENDVERBATIM
}

Loading data, please wait...