Pyramidal neurons with mutated SCN2A gene (Nav1.2) (Ben-Shalom et al 2017)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:223955
Model of pyramidal neurons that either hyper or hypo excitable due to SCN2A mutations. Mutations are taken from patients with ASD or Epilepsy
Reference:
1 . Ben-Shalom R, Keeshen CM, Berrios KN, An JY, Sanders SJ, Bender KJ (2017) Opposing Effects on NaV1.2 Function Underlie Differences Between SCN2A Variants Observed in Individuals With Autism Spectrum Disorder or Infantile Seizures. Biol Psychiatry 82:224-232 [PubMed]
Citations  Citation Browser
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): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Na,t; I Sodium; I K;
Gap Junctions:
Receptor(s):
Gene(s): Nav1.2 SCN2A;
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Epilepsy; Autism spectrum disorder;
Implementer(s): Ben-Shalom, Roy [rbenshalom at ucdavis.edu];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; I Na,t; I K; I Sodium;
/
SCN2A_ASD
Excitability
YoungD82GRed
Cad.mod *
CaH.mod *
CaT.mod *
charge.mod *
h.mod *
Kca.mod *
Kv.mod *
Kv1_axonal.mod *
Kv7.mod *
na8st.mod *
na8st1.mod *
nax8st.mod *
nax8st1.mod *
28_04_10_num19.hoc *
Cell parameters.hoc *
charge.hoc *
mosinit.hoc *
scn2aExps.hoc
                            
objref ff
proc ch() { local i,j,fac, pos, chAll,chDe,chAp,chSo,chCol,chAis,chMy,chNo, chAllA,chDeA,chApA,chSoA,chColA,chAisA,chMyA,chNoA


	//all
	chAll=0
	chAllA=0
	ff=new File()
	ff.wopen("exportOverlAll.tmp")
	forall {
		for j=1,nseg {
			ff.printf("%e\n",overl_charge_(j/nseg))
			pos=0.5/nseg+(j-1)/nseg
			chAll = chAll + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
			chAllA = chAllA + area(pos)
		}
	}
	ff.close()

	//dend
	chDe=0
	chDeA=0
	ff=new File()
	ff.wopen("exportOverlDend.tmp")
	for i=0,dendNum-1 {
		dend[i] {
			for j=1,nseg {
				ff.printf("%e\n",overl_charge_(j/nseg))
				pos=0.5/nseg+(j-1)/nseg
				chDe = chDe + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
				chDeA = chDeA + area(pos)
			}
		}
	}
	ff.close()


	//apic
	chAp=0
	chApA=0
	ff=new File()
	ff.wopen("exportOverlApic.tmp")
	for i=0,apicNum-1 {
		apic[i] {
			for j=1,nseg {
				ff.printf("%e\n",overl_charge_(j/nseg))
				pos=0.5/nseg+(j-1)/nseg
				chAp = chAp + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
				chApA = chApA + area(pos)	
			}
		}
	}
	ff.close()

	//soma
	chSo=0
	chSoA=0
	ff=new File()
	ff.wopen("exportOverlSoma.tmp")
	soma {
		for j=1,nseg {
			ff.printf("%e\n",overl_charge_(j/nseg))
			pos=0.5/nseg+(j-1)/nseg
			chSo = chSo + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
			chSoA = chSoA + area(pos)
		}
	}
	ff.close()

	//collaterals
	chCol=0
	chColA=0
	ff=new File()
	ff.wopen("exportOverlAxon.tmp")
	for i=1,axonNum-1 {					//axon[0] is AIS
		axon[i] {
			for j=1,nseg {
				ff.printf("%e\n",overl_charge_(j/nseg))
				pos=0.5/nseg+(j-1)/nseg
				chCol = chCol + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
				chColA = chColA + area(pos)
			}
		}
	}
	ff.close()

	//ais
	chAis=0
	chAisA=0
	ff=new File()
	ff.wopen("exportOverlAxon.tmp")
	axon[0] {
		for j=1,nseg {
			ff.printf("%e\n",overl_charge_(j/nseg))
			pos=0.5/nseg+(j-1)/nseg
			chAis = chAis + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
			chAisA = chAisA + area(pos)
		}
	}
	ff.close()



	//myelin
	chMy=0
	chMyA=0
	ff=new File()
	ff.wopen("exportOverlMyelin.tmp")
	for i=0,myNum-1 {
		my[i] {
			for j=1,nseg {
				ff.printf("%e\n",overl_charge_(j/nseg))
				pos=0.5/nseg+(j-1)/nseg
				chMy = chMy + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
				chMyA = chMyA + area(pos)
			}
		}
	}
	ff.close()

	//node
	chNo=0
	chNoA=0
	ff=new File()
	ff.wopen("exportOverlNode.tmp")
	for i=0,nodeNum-1 {
		node[i]  {
			for j=1,nseg {
				ff.printf("%e\n",overl_charge_(j/nseg))
				pos=0.5/nseg+(j-1)/nseg
				chNo = chNo + area(pos)*na_ch_charge_(pos)	//mA/cm^2 * um^2
				chNoA = chNoA + area(pos)
			}
		}
	}
	ff.close()


	
	fac=-10^-3*10^4*10^-12*dt*10^-3*6.24*10^18*(1/3)
		// (current (mA) / area (cm^2) ) * area (um^2) * dt in ms   
		//	10^-3          10^4           10^-12        10^-3
		//                         => A*s
		//and:
		//     A*s * number of elementary charges per Coulomb * 3 Na per 1 ATP
		//                   6.24*10^18=1/e=1/1.6*10^19              1/3


	
	printf("--------------------------------------------------------------------------------------\n")
	printf("The Na influx was analyzed from %f to %f ms\n",tStart_charge_,tEnd_charge_)
	printf("Required ATP molecules to pump Na ions out:\n")
	printf("Total: %e\n",fac*chAll)
	printf("Soma: %e\n",fac*chSo)
	printf("Basal dendrite: %e\n",fac*chDe)
	printf("Apical dendrite: %e\n",fac*chAp)
	printf("Axon Initial Segment: %e\n",fac*chAis)
	printf("Axon collaterals: %e\n",fac*chCol)
	printf("Myelin: %e\n",fac*chMy)
	printf("Node: %e\n",fac*chNo)
	printf("--------------------------------------------------------------------------------------\n")
	printf("--------------------------------------------------------------------------------------\n")
	printf("Required ATP molecules to pump Na ions out per um^2:\n")
	printf("Total: %e\n",fac*chAll/chAllA)
	printf("Soma: %e\n",fac*chSo/chSoA)
	printf("Basal dendrite: %e\n",fac*chDe/chDeA)
	printf("Apical dendrite: %e\n",fac*chAp/chApA)
	printf("Axon Initial Segment: %e\n",fac*chAis/chAisA)
	printf("Axon collaterals: %e\n",fac*chCol/chColA)
	printf("Myelin: %e\n",fac*chMy/chMyA)
	printf("Node: %e\n",fac*chNo/chNoA)
	printf("--------------------------------------------------------------------------------------\n")
	printf("Total area (um^2): %e\n",chAllA)
	printf("Soma area (um^2): %e\n",chSoA)
	printf("--------------------------------------------------------------------------------------\n")

	


	//export
	ff=new File()
	ff.wopen("exportChargeNames.tmp")

	ff.printf("%s\n","Total:")
	ff.printf("%s\n","Soma:")
	ff.printf("%s\n","Basal dendrite:")
	ff.printf("%s\n","Apical dendrite:")
	ff.printf("%s\n","Axon Initial Segment: ")
	ff.printf("%s\n","Axon collaterals: ")
	ff.printf("%s\n","Myelin:")
	ff.printf("%s\n","Node: ")

	ff.printf("%s\n","TotalA:")
	ff.printf("%s\n","SomaA:")
	ff.printf("%s\n","Basal dendriteA:")
	ff.printf("%s\n","Apical dendriteA:")
	ff.printf("%s\n","Axon Initial SegmentA: ")
	ff.printf("%s\n","Axon collateralsA: ")
	ff.printf("%s\n","MyelinA:")
	ff.printf("%s\n","NodeA: ")

	ff.close()


	ff=new File()
	ff.wopen("exportChargeValues.tmp")

	ff.printf("%e\n",fac*chAll)
	ff.printf("%e\n",fac*chSo)
	ff.printf("%e\n",fac*chDe)
	ff.printf("%e\n",fac*chAp)
	ff.printf("%e\n",fac*chAis)
	ff.printf("%e\n",fac*chCol)
	ff.printf("%e\n",fac*chMy)
	ff.printf("%e\n",fac*chNo)

	ff.printf("%e\n",fac*chAll/chAllA)
	ff.printf("%e\n",fac*chSo/chSoA)
	ff.printf("%e\n",fac*chDe/chDeA)
	ff.printf("%e\n",fac*chAp/chApA)
	ff.printf("%e\n",fac*chAis/chAisA)
	ff.printf("%e\n",fac*chCol/chColA)
	ff.printf("%e\n",fac*chMy/chMyA)
	ff.printf("%e\n",fac*chNo/chNoA)


	ff.close()

}