Double cable myelinated axon (Layer 5 pyramidal neuron; Cohen et al 2020)

 Download zip file 
Help downloading and running models
Accession:260967
The periaxonal space in myelinated axons is conductive (~50 ohm cm). Together with a rapidly charging myelin sheath and relatively sealed paranodes, periaxonal conduction shapes the saltating voltage profiles of transaxonal (Vm), transmyelin (Vmy) and transfibre (Vmym) potentials. This model exemplifies double cable saltatory conduction across both time and space, and is the same cell (#6) as seen in Movie S4 of Cohen et al. 2020. This model version allows one to visualize and manipulate the controlling parameters of a propagating action potential. Further notes: The corresponding potentials in NEURON to those named above are v, vext (or vext[0]) and v+vext, respectively. The loaded biophysical parameters were those optimized for this cell (Cohen et al. 2020).
Reference:
1 . Cohen CCH, Popovic MA, Klooster J, Weil M, Möbius W, Nave K, Kole MHP (2020) Saltatory Conduction along Myelinated Axons Involves a Periaxonal Nanocircuit Cell
Model Information (Click on a link to find other models with that property)
Model Type: Axon; Channel/Receptor; Dendrite; Extracellular; Glia; Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Neocortex L5/6 pyramidal GLU cell; Myelinated neuron;
Channel(s): Ca pump; I Calcium; I h; I K,Ca; I K,leak; I L high threshold; I T low threshold; I M; I Na,p; I Na,t; I Sodium; I Potassium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potentials; Active Dendrites; Axonal Action Potentials; Conductance distributions; Conductances estimation; Detailed Neuronal Models; Electrotonus; Extracellular Fields; Membrane Properties; Multiple sclerosis; Parameter sensitivity; Double cable;
Implementer(s): Cohen, Charles CH [c.cohen at gmx.com]; Kole, Maarten [m.kole at nin.knaw.nl];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; I Na,p; I Na,t; I L high threshold; I T low threshold; I K,leak; I M; I h; I K,Ca; I Sodium; I Calcium; I Potassium; Ca pump;
// nFit
// (c) Charles CH Cohen, 2014-present
// this software is released to the public under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 
// International license (CC BY-NC-ND 4.0, in English).
// for any questions, please email c.cohen@gmx.com



// average spine density in apical and basal compartments.
// may depende on species and cell type or location.
// L5tt, mouse, S1, dens_sp = 0.45 (Knott et al. 2006)
// L5tt, rat, V1, dens_sp = 1.65 (Larkman 1991)	
// L5tt, rat, S1, dens_sp = 0.5 (age-adjusted, Romand et al. 2011)
dens_sp = 0.5

// avg surface area of avg spine. 
// L2/3, mouse, S1, asp = 0.99 (Knott et al. 2006)
// L2/3, human, TeAC, asp = 3.9 (Eyal et al 2016)
// L5tt, mouse, S1, asp = 1.44 (Knott et al. 2006)
asp = 2

// dependence of spine location from soma
// L2/3, rat, V1, basal/oblique 20um, apical trunk 75um (Larkman 1991)
// L2/3, human, TeAC, basal/oblique 60um, apical trunk 100 um (Benavides-Piccione et al. 2013)
// L5tt, rat, V1, basal/oblique 20um, apical trunk 100um (Larkman 1991)
distbas_sp = 20
distapic_sp = 20
distaptrunk_sp = 100
	
// Get basal and apical length and area to which spinescaling applies.
lbas_sp = 0
lapic_sp = 0

abas_sp = 0
aapic_sp = 0

// for the remainder of apical after removal of trunk
objref xaptrunk

proc defsps() {local iNseg, seg, l, lsec
	
	// get applicable abas
	forsec basal {
		
		iNseg = nseg
		for seg = 1, iNseg {
			soma distance(0, 0.5)
			l = distance((2*seg-1)/(2*iNseg))
			if (l > distbas_sp) {
				abas_sp += area((2*seg-1)/(2*iNseg))
			}
		}
	}

	// get applicable lbas
	forsec basal {
		
		iNseg = nseg
		for seg = 1,iNseg {
			soma distance(0, 0.5)
			l = distance((2*seg-1)/(2*iNseg))
			if (l > distbas_sp) {
				seg = iNseg
				lsec = distance((2*seg-1)/(2*iNseg))
				lbas_sp += lsec - l
			}
		}
	}

	// ensure aptrunk is at least 100 um
	ltrunk = 0
	forsec aptrunk ltrunk += L
	if (ltrunk < distaptrunk_sp) print "apical trunk SectionList too short. Consider reducing distaptrunk_sp."

	// create sectionlist ex-aptrunk
	xaptrunk = new SectionList()
	// xaptrunk.append(apical)
	// xaptrunk.remove(aptrunk)
	forsec apical { xaptrunk.append() }
	forsec aptrunk { xaptrunk.remove() }
	
	if (ltrunk >= distaptrunk_sp) {

		// get applicable abas
		forsec apical {
				
			ifsec aptrunk {

				iNseg = nseg
				for seg = 1,iNseg {
				
					soma distance(0, 0.5)
					l = distance((2*seg-1)/(2*iNseg))
				
					if (l > distaptrunk_sp) {
						aapic_sp += area((2*seg-1)/(2*iNseg))
					}
				}
			}

				
			ifsec xaptrunk {

				iNseg = nseg
				for seg = 1,iNseg {
					
					soma distance(0, 0.5)
					l = distance((2*seg-1)/(2*iNseg))				
					
					if (l > distapic_sp) {
						aapic_sp += area((2*seg-1)/(2*iNseg))
					}
				}
			}
		}


		// get applicable lapic
		forsec apical {

			ifsec aptrunk {

				iNseg = nseg
				for seg = 1,iNseg {
				
					soma distance(0, 0.5)
					l = distance((2*seg-1)/(2*iNseg))
				
					if (l > distaptrunk_sp) {
				
						seg = iNseg
						lsec = distance((2*seg-1)/(2*iNseg))
						lapic_sp += lsec - l
					}
				}
			}

			
			ifsec xaptrunk {

				iNseg = nseg
				for seg = 1,iNseg {
				
					soma distance(0, 0.5)
					l = distance((2*seg-1)/(2*iNseg))
				
					if (l > distapic_sp) {
						seg = iNseg
						lsec = distance((2*seg-1)/(2*iNseg))
						lapic_sp += lsec - l
					}
				}
			}
		}
	}
}

Loading data, please wait...