Synchronicity of fast-spiking interneurons balances medium-spiny neurons (Damodaran et al. 2014)

 Download zip file 
Help downloading and running models
Accession:156260
This study investigates the role of feedforward and feedback inhibition in maintaining the balance between D1 and D2 MSNs of the striatum. The synchronized firing of FSIs are found to be critical in this mechanism and specifically the gap junction connections between FSIs.
Reference:
1 . Damodaran S, Evans RC, Blackwell KT (2014) Synchronized firing of fast-spiking interneurons is critical to maintain balanced firing between direct and indirect pathway neurons of the striatum. J Neurophysiol 111:836-48 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; Neostriatum fast spiking interneuron;
Channel(s):
Gap Junctions: Gap junctions;
Receptor(s): NMDA; Gaba;
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): Detailed Neuronal Models; Parkinson's;
Implementer(s): Blackwell, Avrama [avrama at gmu.edu]; Damodaran, Sriraman [dsriraman at gmail.com];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; NMDA; Gaba;
/
striatalnetwork
MScell
unusedChannels
CaL12_channel.g *
CaL12NOINACT_channel.g *
CaN_channel.g *
CaNNOINACT_channel.g *
CaQ_channel.g *
naP_channel.g *
                            
//genesis

/***************************		MS Model, Version 5.2	*********************
**************************** 	    	naP_channel.g 			*********************
		Tom Sheehan tsheeha2@gmu.edu	thsheeha@vt.edu	703-538-8361
******************************************************************************
******************************************************************************/



/* Na Persistent channel
 *	In the original program written by Johanes Hjorth a set of MatLab 
 *	routines in striatum/mspn/vectMakers opened a set of text (data) files in 
 *	striatum/mspn/tau_tables and used those to create a set of of text (data)
 * files in striatum/mspn/channels/vecs.
 * The product of this sequence was then opened by a set of genesis
 *	routines in striatum/mspn/channels to populate an approprite set of tabchannels
 * An example is as follows
 *		striatum/mspn/vectMakers/makeNaPtable.m reads:
 *				striatum/mspn/tau_tables/vtau_nap.txt
 *		and then writes:
 *				striatum/mspn/channels/vecs/nap_taum.txt	
 *				striatum/mspn/channels/vecs/nap_tauh.txt
 *				striatum/mspn/channels/vecs/nap_minf.txt
 *				striatum/mspn/channels/vecs/nap_hinf.txt
 *		Later in the running code control shifts to function make_NaP_channel
 *		(in striatum/mspn/channels/naP_channel.g). This function will read those 
 * 	same four files and use them to create the tabchannel NaP_channel
 *
 * In the rework by Kai_Du the MatLab files are remeoved but their product (the
 * four data files noted above are retained.
 *
 * This revision moves the MatLab calculations to the .g file that is creating
 * the tabchannel and removes the data files (four for each channel). In the example 
 * case given above directory vecs has been deleted which removes nap_taum.txt etc,
 * and function make_NaP_channel has been modified to calculate the data in those 
 * files and place it directly into the appropritate tabchannel 
 *************** Tom Sheehan 1/10/09	703-538-8361********************************/
 
function make_NaP_channel 

    /*reversal potential of sodium */   
    float Erev = 0.05 
    
    str path = "NaP_channel" 

    float xmin  = -0.1  /* minimum voltage we will see in the simulation */  
    float xmax  = 0.05  /* maximum voltage we will see in the simulation */ 
    int  xdivs = 14     /* the number of divisions between -0.1 and 0.04 */ 
    int xdivsFiner = 3000
    int c = 0
    float minf = 0
    float hinf = 0
    float htau = 0
    float mtau = 0
    
    /* Begin values from Hjorth: striatum/mspn/vectMakers/makeNaPtable.m */
    float mvhalf = -52.6	//(mV) Magistretti 1999, Fig 4 
    float mslope = -4.6		//(mV) Magistretti 1999, Fig 4 
    float mshift =  0.0	    	
    float hvhalf = -48.8	//(mV) Magistretti 1999, Fig 4 
    float hslope =  10.0	//(mV) Magistretti 1999, Fig 4 
    float hshift =  0.0	 
    /** End values from Hjorth: striatum/mspn/vectMakers/makeNaPtable.m **/
        
 	 /****** Begin vars used to enable genesis calculations ********/
    float increment = 0.05
    float x = -100.00
    float numerator = 0.0
    float denominator = 0.0
    float theta = 0.0
    float exp_theta = 0.0
    float neg_one = -1.0
 	 /****** End vars used to enable genesis calculations **********/    
	
    								
    								
    //make the table for the activation with a range of -100mV - +40mV
    //with an entry for every 10mV
    create tabchannel {path} 
    call {path} TABCREATE X {xdivsFiner} {xmin} {xmax} 
    call {path} TABCREATE Y {xdivsFiner} {xmin} {xmax} 

    // calculate values for minf, mtau, hinf and htau. Each iteration of the for
    // loop calculates those values using an x that begins with -100 and increments
    // by 0.05 with each loop     
    for(c = 0; c < {xdivsFiner} + 1; c = c + 1)
    
    	 	//The equation for htau is a basic fit of the original curve from Johanes
    	 	//Matlab function found in striatum/mspn/vectMakers/makeNaPtable.m
         htau = -3.4566e-008*x*x*x*x -4.7314e-007*x*x*x + 0.00025297*x*x -0.0087294*x + 0.77324
         
			//calculate Hodgkin Huxley hinf -> 1/(1 + exp(x - mvhalf + mshift)/mslope)
	 		numerator = x - hvhalf + hshift  	   	
	 		theta = numerator/hslope	 	 	
	 		exp_theta = {exp {theta}} 		 	 	
	 		denominator = 1.0 + exp_theta	 	
	 		hinf = 1.0/denominator
	 		
         //calculate Hodgkin Huxley minf -> 1/(1 + exp(x - mvhalf + mshift)/mslope)
	 		numerator = x - mvhalf + mshift  	   	
	 		theta = numerator/mslope	 	 	
	 		exp_theta = {exp {theta}} 		 	 	
	 		denominator = 1.0 + exp_theta	 	
	 		minf = 1.0/denominator
         
     	 	//The equation for mtau is an exact fit of the original curve from Johanes
    	 	//Matlab function found in striatum/mspn/vectMakers/makeNaPtable.m        
         if (c < 1410)
         	//mtau = (0.025 + 0.14*exp((x + 40.0) / 10))
         	numerator = x + 40.0    
         	theta = numerator/10
         	exp_theta = {exp {theta}}
         	mtau = 0.025 + 0.14 * {exp_theta}
         	mtau = 1e-3 * mtau      	
         else
         	//mtau = (0.02 + 0.145*exp( -(x + 40.0)) / 10))
         	numerator = x + 40.0
         	numerator = neg_one * numerator        	
         	theta = numerator/10
         	exp_theta = {exp {theta}}
         	mtau = 0.025 + 0.145 * {exp_theta}
         	mtau = 1e-3 * mtau
         end
         
         setfield {path} Y_A->table[{c}] {htau}	         
         setfield {path} Y_B->table[{c}] {hinf}                
         setfield {path} X_A->table[{c}] {mtau}
         setfield {path} X_B->table[{c}] {minf}
         
         x = x + increment
    end
  
    //Define the powers of m and h in the Hodgkin-Huxley equation
    setfield {path} Ek {Erev} Xpower 1 Ypower 1 


    //fill the tables with the values of A and B
    //calculated from tau and n_inf
    tweaktau {path} X 
    tweaktau {path} Y 
end




































Loading data, please wait...