GC model (Beining et al 2017)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:231818
A companion modeldb entry (NEURON only) to modeldb accession number 231862.
Reference:
1 . Beining M, Mongiat LA, Schwarzacher SW, Cuntz H, Jedlicka P (2017) T2N as a new tool for robust electrophysiological modeling demonstrated for mature and adult-born dentate granule cells eLife
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 A; I Calcium; I h; I K; I K,Ca; I K,leak; I Na,t; I M; Kir2 leak;
Gap Junctions:
Receptor(s):
Gene(s): Cav1.2 CACNA1C; Cav1.3 CACNA1D; Cav2.2 CACNA1B; Cav3.2 CACNA1H; HCN1; Nav1.2 SCN2A; Nav1.6 SCN8A; Kir2.1 KCNJ2; Kv1.1 KCNA1; Kv1.4 KCNA4; Kv2.1 KCNB1; Kv3.3 KCNC3; Kv3.4 KCNC4; Kv4.2 KCND2; KCa1.1 KCNMA1; KCa2.2 KCNN2;
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Methods; Neurogenesis; Conductance distributions;
Implementer(s): Beining, Marcel [beining at fias.uni-frankfurt.de];
Search NeuronDB for information about:  Dentate gyrus granule GLU cell; I Na,t; I A; I K; I K,leak; I M; I h; I K,Ca; I Calcium; Kir2 leak;
/
BeiningEtAl2017nrn
lib_genroutines
fixnseg.hoc
genroutines.hoc
pasroutines.hoc
                            
begintemplate Temperature
	external strf, cellList
	public init, reset, correct

	proc init() {
		q10_g_pas  =  1.98  // simulations. Passive membrane parameters (Ra, cm, g_pas) 
		q10_Ra     =  0.80  // have no built-in temperature dependence. Instead, they
		q10_cm     =  0.96  // will be scaled when calling membrane.hoc using Q10 values
					// according to:
                    // Trevelyan AJ, Jack JJB (2002), J Physiol 539:623-636
                    // Note that these Q10 values have been obtained for LII/III
                    // pyramidal cells, not for granule cells.
                    // defaults:
                    // celsius    = 24    (our recording temperature)
                    // q10_g_pas  =  1.98 
                    // q10_Ra     =  0.80 
                    // q10_cm     =  0.96 
	/*if (strf.is_name("celsius_init")) {
		celsius = celsius_init
	}else{
		celsius    =  25    // This is to roughly account for the effects of temperature on
	}*/
	}
proc reset() { local CELLINDEX
	for CELLINDEX = 0,cellList.count()-1 {
		if (cellList.o(CELLINDEX).is_artificial == 0) {
			forsec cellList.o(CELLINDEX).allreg {
				if (ismembrane("pas")) {
					g_pas 	= g_pas / q10_g_pas^((celsius-24)/10)
					Ra 		= Ra / q10_Ra^((celsius-24)/10)
					cm 		= cm / q10_cm^((celsius-24)/10)
				}
			}
		}	
	}
}

proc correct() { local CELLINDEX
	//forsec reg_tree_all {
	celsius = $1
	for CELLINDEX = 0,cellList.count()-1 {
		if (cellList.o(CELLINDEX).is_artificial == 0) {
			forsec cellList.o(CELLINDEX).allreg {
				if (ismembrane("pas")) {
					g_pas 	= g_pas * q10_g_pas^((celsius-24)/10)
					Ra 		= Ra * q10_Ra^((celsius-24)/10)
					cm 		= cm * q10_cm^((celsius-24)/10)
				}
			}
		}
	}
}

endtemplate Temperature

proc addsurf_spines() {
	for CELLINDEX = 0,cellList.count()-1 {
			if (cellList.o(CELLINDEX).is_artificial == 0) {
				forsec cellList.o(CELLINDEX).allreg {
					if (ismembrane("spines")) {
						if (scale_spines > 0) {
							g_pas 	= g_pas * scale_spines
							cm 		= cm * scale_spines
							/*if (ismembrane("Kir32")) {
								gkbar_Kir32 = gkbar_Kir32 * scale_spines
							}
							if (ismembrane("ichan3")) {
								gkabar_ichan3 = gkabar_ichan3 * scale_spines
							}
							*/
							
							
						}else{
							if (density_spines > 0) {
								x1 = arc3d(0)
								for i=1, n3d()-1 {
										x1 += arc3d(i)
								}
								g_pas = g_pas * (1 + density_spines * x1 * 1.2 / area(0.5) )
								cm = cm * (1 + density_spines * x1 * 1.2 / area(0.5) )
								print  "spine factor: ", 1+ density_spines * x1 * 1.2 / area(0.5) 
							}else{
								if (count_spines > 0) {
									cm = cm * (1 + count_spines * 1.2 / area(0.5) )
									g_pas = g_pas * (1 + count_spines * 1.2 / area(0.5) )
									print  "spine factor: ", 1+ count_spines * 1.2 / area(0.5) 
									}
							}
						}
					}
				}
			}
	}
}

Loading data, please wait...