DG adult-born granule cell: nonlinear a5-GABAARs control AP firing (Lodge et al, 2021)

 Download zip file 
Help downloading and running models
Accession:267106
GABA can depolarize immature neurons close to the action potential (AP) threshold in development and adult neurogenesis. Nevertheless, GABAergic synapses effectively inhibit AP firing in newborn granule cells of the adult hippocampus as early as 2 weeks post mitosis. Parvalbumin and dendrite-targeting somatostatin interneurons activate a5-subunit containing GABAA receptors (a5-GABAARs) in young neurons, which show a voltage dependent conductance profile with increasing conductance around the AP threshold. The present computational models show that the depolarized GABA reversal potential promotes NMDA receptor activation. However, the voltage-dependent conductance of a5-GABAARs in young neurons is crucial for inhibition of AP firing to generate balanced and sparse firing activity.
Reference:
1 . Lodge M, Hernandez MC, Schulz JM, Bischofberger J (2021) Sparsification of AP firing in adult-born hippocampal granule cells via voltage-dependent a5-GABAA receptors Cell Reports [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: Dentate gyrus;
Cell Type(s): Dentate gyrus granule GLU cell;
Channel(s): I K; I Krp; I Na,t;
Gap Junctions:
Receptor(s): AMPA; GabaA; NMDA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Action Potentials; Detailed Neuronal Models; Development; Neurogenesis; Pattern Separation; Synaptic Integration;
Implementer(s): Schulz, Jan M [j.schulz at unibas.ch]; Bischofberger, Josef;
Search NeuronDB for information about:  Dentate gyrus granule GLU cell; GabaA; AMPA; NMDA; I Na,t; I K; I Krp; Gaba; Glutamate;
//****************************************
// GC-Ball.hoc         Josef Bischofberger
// modified by JM Schulz 2020
//****************************************
// simple model of a young DG granule cell 
// Passive parameters from Heigele et al. 2016, Nature Neuroscience 19:263-70
// Cap = 25 pF
// Rin = 4 GOhm with Rm = 100000 Ohm cm^2
// 

debug_mode = 0

load_file("fixnseg.hoc")

somaSurface = 0
denSurface= 0
proxSurface = 0
midSurface = 0
distSurface = 0
axonSurface = 0
totalSurface = 0

axonGC = 1

denSomaL = 10 	//  um
somaLongL = 15
somaShortL = 10
axonL = 20		//  50 um

denD0 = 2.5	// um soma border
denD1 = 1.5 	// proximal diam um
denD2 = 1.5	// mid
denD3 = 1.2	// dist
denD4 = 0.75

fA1=0.4		// fraction of prox dendritic membrane
fA2=0.3		// mid
fA3=0.3		// distal

gen1 = ndend	// number of prox branches
gen2 = 2		// mid
gen3 = 2		// distal

//*********************************************
//			Topology
//*********************************************
//dendrites: prox +  middle   +   distal 
objref proxDen, middleDen, distalDen //, periSoma

//periSoma = new SectionList()
proxDen = new SectionList()
middleDen = new SectionList()
distalDen = new SectionList()
nSections =  gen1 + gen1*gen2 + gen1*gen2*gen3

create soma[4], dendrite[nSections],axon, AIS 

soma[0] connect soma[1](0), 1
soma[1] connect soma[2](0), 1
soma[2] connect soma[3](0), 1

//for (i=0; i<4; i=i+1){soma[i] periSoma.append()}

// proximal dendrites connect to soma
for i =0,gen1-1 {soma[3] connect dendrite[i](0), 1
			dendrite[i] proxDen.append() 
}

// middle dendrites
for i =0,gen1-1 {
	for j =0, gen2-1{ dendrite[i] connect dendrite[gen1+(gen2*i)+j](0), 1
				  dendrite[gen1+(gen2*i)+j] 	middleDen.append() 	
	}
}

// distal dendrites
for i =0, (gen1*gen2 -1) {
	for j =0, gen3-1{ dendrite[i+gen1] connect dendrite[gen1+gen1*gen2+(gen3*i)+j](0), 1
				 dendrite[gen1+gen1*gen2+(gen3*i)+j] distalDen.append() 	
	}
}

/*print "prox"
forsec proxDen print secname()
print "middle"
forsec middleDen print secname()
print "distal"
forsec distalDen print secname()*/

soma[0] connect AIS(0), 0
AIS connect axon(0), 1


//forall{Ra = Rint }
//*************************************************************
//         		Geometry
//**************************************************************
// mature cell: dendrite 250 µm, diam 1.5:0.7, AIS nseg= 11, axon nseg = 101
// Cap = 100 ms/ 4GOhm = 25 pF => 2500 um^2 => ;  L = 79.61 um
// Cm = 1 uF/cm^2 = 0.01 uF/mm^2 = 0.01 pF/um^2
// lenght Cylinder = Area / 2PI r 


proc adjustL() {
 denMemArea=0  
 somMemArea=0 

 //*************** soma ****************
 firstDiam =0
 lastDiam =0
 soma[1]  {
	pt3dclear()
 	for i = -99, 97{
 	   yi = sqrt(1-i*i/10000)  //circle x^2 + y^2 = 1
 	   pt3dadd(somaLongL/2*i/100,0,0,yi*somaShortL )
 	}
	firstDiam = sqrt(1-99*99/10000)*somaShortL
	lastDiam = yi*somaShortL 
 	nseg=11  	               
 }
 soma[0]  {nseg=1 L = 0.1    		diam(0:1) = firstDiam:firstDiam} //2.3  
 soma[2]  {nseg=3 L = 3   			diam(0:1) = lastDiam:denD0}
 soma[3]  {nseg=11 L = denSomaL		diam(0:1) = denD0:denD1}

 if (axonGC) {
 	AIS {nseg=11  L = 32  	diam(0:0.3) = firstDiam:1   //1.2
				 		diam(0.3:1) = 1:0.3	} 
	axon  {nseg=11 L = axonL	diam = 0.3} 
 }else{
 	AIS  {nseg =1 L=0.01 diam = 0.3}
	axon {nseg =1 L=0.01 diam = 0.3}
 }
 // to do : axon surface
 if (axonGC) {
 	AIS		{axonSurface = secArea() }
 	axon		{axonSurface = axonSurface + secArea()}
 }

 somaSurface  = 0
 for i = 0,3 {	soma[i] {	somaSurface = somaSurface +secArea()}
 }


 //*************** dendrites **************
 //CylinderL = (1-propDendrite)*100*Cap/(12.00 *PI)  //Length of a 12um Cylinder
 //calculate dendritic Area after substracting a constant soma-dend compartment

 denMemArea = 100*Cap - somaSurface - axonSurface 
 
  
 L1 = fA1*denMemArea/(PI*(denD1+denD2)/2) /gen1
 L2 = fA2*denMemArea/(PI*(denD2+denD3)/2) /(gen1*gen2)
 L3 = fA3*denMemArea/(PI*(denD3+denD4)/2) /(gen1*gen2*gen3)

 TDL = denSomaL + gen1*L1 + gen1*gen2*L2 + gen1*gen2*gen3*L3
// check better:
// TDL = 0
// forall {TDL=TDL+L}


 forsec proxDen   {nseg=11 L = L1 diam(0:1) = denD1 :denD2}
 forsec middleDen {nseg=11 L = L2 diam(0:1) = denD2 :denD3}
 forsec distalDen {nseg=11 L = L3 diam(0:1) = denD3 :denD4}
 //if (mature == 1){geom_nseg_shared()} // readjust nseg according to d_lambda(1kHz)

 denSurface= 0

 forsec proxDen   {proxSurface = proxSurface + secArea()
			   //print secname()
			   //print "Area =",  secArea()
 }
 print "prox denSurface = ", proxSurface

 forsec middleDen {midSurface = midSurface + secArea()}
 print "middle denSurface = ", midSurface

 forsec distalDen {distSurface= distSurface+ secArea()}
 print "distal denSurface = ", distSurface

 denSurface= proxSurface + midSurface + distSurface
 totalSurface = somaSurface+ axonSurface + denSurface 

 access soma[1]

 print ""
 print "relative contribution of dendrites to Cell membrane = ", denSurface/totalSurface 
 print ""
 printf("Dendrites L1=%.2f um, L2=%.2f um, L3=%.2f um, TDL=%.2f um \n", L1, L2, L3, TDL)

 print "\nmeasured  Surface of Dendrites = ", denSurface, "um^2" 
 print   "predicted Surface of Dendrites = ", denMemArea, "um^2" 

 if (axonGC) {
   print "measured  Surface of axon      = ", axonSurface, "um^2" 
 }
 print "\nmeasured Cell Surface = ", totalSurface , "um^2" 
 print   "required total Cap    = ", Cap, "pF" 

}

adjustL() // initialize Morphology which is updated later 




Loading data, please wait...