Impact of dendritic atrophy on intrinsic and synaptic excitability (Narayanan & Chattarji, 2010)

 Download zip file 
Help downloading and running models
Accession:147867
These simulations examined the atrophy induced changes in electrophysiological properties of CA3 pyramidal neurons. We found these neurons change from bursting to regular spiking as atrophy increases. Region-specific atrophy induced region-specific increases in synaptic excitability in a passive dendritic tree. All dendritic compartments of an atrophied neuron had greater synaptic excitability and a larger voltage transfer to the soma than the control neuron.
Reference:
1 . Narayanan R, Chattarji S (2010) Computational analysis of the impact of chronic stress on intrinsic and synaptic excitability in the hippocampus. J Neurophysiol 103:3070-83 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Synapse; Dendrite;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA3 pyramidal GLU cell;
Channel(s): I Na,t; I L high threshold; I N; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium; I_AHP;
Gap Junctions:
Receptor(s): AMPA;
Gene(s):
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Active Dendrites; Influence of Dendritic Geometry; Detailed Neuronal Models; Action Potentials; Conductance distributions;
Implementer(s): Narayanan, Rishikesh [rishi at iisc.ac.in];
Search NeuronDB for information about:  Hippocampus CA3 pyramidal GLU cell; AMPA; I Na,t; I L high threshold; I N; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium; I_AHP; Glutamate;
/
CA3Atrophy
Input
README.html
ampa.mod
borgkm.mod *
cadiv.mod *
cagk.mod *
cal2.mod *
can2.mod *
cat.mod *
h.mod
kad.mod
kahp.mod *
kap.mod
kdr.mod *
nahh.mod *
0.png
25.png
35.png
75.png
Fig1D.hoc
Fig2D-E.hoc
Fig2F-G.hoc
Menu.png
mosinit.hoc
neuron.que
Neurons.inp
                            
load_file("nrngui.hoc")
create soma[1]
objectvar st
objectvar sh
strdef str1

tstop = 50
steps_per_ms = 40
ra     = 200			
rm     = 60000
c_m       = 0.75

v_init    = -65
celsius   = 30

t = 0.025

proc setpassive() {
	forall {
	  	insert pas
	  	cm = c_m 
	  	e_pas = v_init
		Ra=ra
		g_pas=1/rm
	}
}

proc load_3dcell() {
	xopen(str1)
	setpassive()
	forall { 
		soma area(0.5)
		nseg = (int((L/(0.1*lambda_f(100))+.9)/2)*2 + 1)
		totcomp=totcomp+nseg
	}
	setpassive()
	access soma[0]
}	

/*****************************************************************/

objref netlist, s, ampasyn, f1, DEND, sapamp, somavec, sampvec
strdef  str2

proc find_epsp_amplitudes() {
	nmdaamparat=0.25
	atrise=2.0
	atau=3
	ntrise=5
	ntau=50

    netlist=new List()

	
    ropen("neuron.que")
	f1=new File()
	nneu=fscan()
	stdel=5
	tstop=50
    Gstart=1e-5
    Gend=0.5
	SET=0
	while (nneu > 0){
    	getstr(str1,1)
		load_3dcell(str1)
		sprint(str2, "%s.sco",str1)
		wopen(str2)
		
		soma[2] s = new NetStim(0.5)
    	s.interval=1   // ms (mean) time between spikes
    	s.number=1     // (average) number of spikes
    	s.start=2   // ms (mean) start time of first spike
    	s.noise=0      // range 0 to 1. Fractional randomness.
		
		DEND = new SectionList()
		forsec "basal" { 
			DEND.append()
		}
		forsec "apical"{
			DEND.append()
		}
		access soma[2]
		distance()

		forsec DEND {
			for (x) {
    			G=0.004
				ampasyn=new AMPA(x)
				ampasyn.TRise=atrise
				ampasyn.tau=atau
				ampasyn.gmax=G
    			netlist.append(new NetCon(s,ampasyn,1,0,0))

				SOMAMAX=-70
				DENDMAX=-70
        		update_init()
				while (t <tstop){
                   	fadvance()
					if(v(x)>DENDMAX) {
						DENDMAX=v(x)
					}	
					if(soma[2].v(0.5)>SOMAMAX) {
						SOMAMAX=soma[2].v(0.5)
					}	
        		}
				print secname(), " ", x, " ", distance(x), " ", 65+DENDMAX, " ", 65+SOMAMAX
            	fprint("%f\t%f\t%f\n", distance(x), 65+SOMAMAX, 65+DENDMAX)
			}
		}	
    	wopen()
		nneu=nneu-1
	}
}

/*****************************************************************/
proc update_init(){
    finitialize(v_init)
    fcurrent()
}	

/*****************************************************************/
somax=-2.68892  
somay=13.0872  
somaz=1.07191
double distances[200]

proc compute_distances() {
    ropen("neuron.que")
	f1=new File()
	nneu=fscan()

	count=0
	
	while (nneu > 0){
    	getstr(str1,1)
		sprint(str2, "%s.dis",str1)
		wopen(str2)
		load_3dcell(str1)
		access soma[2]
		distance()
		
		DEND = new SectionList()
		forsec "basal" { 
			DEND.append()
		}
		forsec "apical"{
			DEND.append()
		}

		forsec DEND {
			distn0=distance(0)
			distances[0]=0
			sum=0

			for i=1,n3d()-1 {
				xx=(x3d(i)-x3d(i-1))*(x3d(i)-x3d(i-1))
				yy=(y3d(i)-y3d(i-1))*(y3d(i)-y3d(i-1))
				zz=(z3d(i)-z3d(i-1))*(z3d(i)-z3d(i-1))
				sum=sum+sqrt(xx+yy+zz)
				distances[i]=sum
			}

			for (x) {

// Amoung the various pt3d's find which one matches the distance of
// current x closely

				distn=distance(x)
				match=distn-distn0
				matchptdist=100000
				for i=0,n3d()-1 {		
					matptdist=(match-distances[i])*(match-distances[i])
					if(matchptdist>matptdist){
						matchptdist=matptdist
						matchi=i
					}
				}

			//print "Match for ", x, " is ", matchi, " XDIST ", match, " MATCH ", distances[matchi], " ERROR ", sqrt(matchptdist)

			
// Find the distance of the closely matched point to the somatic
// centroid and use that as the distance for this BPAP measurement			

				xx=(x3d(matchi)-somax)*(x3d(matchi)-somax)
				yy=(y3d(matchi)-somay)*(y3d(matchi)-somay)
				zz=(z3d(matchi)-somaz)*(z3d(matchi)-somaz)
				raddist=sqrt(xx+yy+zz)

				fprint("%s\t%f\n", secname(), raddist) 
				print secname(), x, raddist
				count=count+1
			}	
		}
		wopen()
		nneu=nneu-1
	}
}

/*****************************************************************/

find_epsp_amplitudes()
//compute_distances()


Loading data, please wait...