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]
Citations  Citation Browser
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
channels
ampa_channel.g *
BKKchannel.g *
CaL12inact_channel.g *
CaL13_channel.g *
CaNinact_channel.g *
CaR_channel.g *
CaT_channel.g *
gaba_channel.g *
K_DR_channel.g *
kAf_chanRE.g *
kAs_chanRE.g *
kIR_chanKD.g *
naF_chanOg.g *
naF_chanOg.g~
nmda_channel.g *
SKchannelCaDep.g *
synaptic_channel.g *
tabchanforms.g *
                            
//genesis

function make_KIR_channel

 float Erev       = -0.09      // V

    
    str path = "KIR_channel" 

    float xmin  = -0.15  /* minimum voltage we will see in the simulation */     // V
    float xmax  = 0.05  /* maximum voltage we will see in the simulation */      // V
    int xdivsFiner = 4000
    int c = 0


 	 /****** Begin vars used to enable genesis calculations ********/
   float increment = (xmax - xmin)*1e3/xdivsFiner  // mV
   echo "KIR increment:" {increment} "mV"
   float x = -150.00 
   float minf       = 0
   float hinf       = 0
   float mvhalf     = -52.0      // mV
   float mshift     = 50.0      // 30, mV
   float mslope     = 13.0      // mV
   float taum       = 0         // ms
   float tauh       = 0         //  ms
  	 /****** End vars used to enable genesis calculations **********/ 	 
  	 
  	  
    create tabchannel {path} 
    call {path} TABCREATE X {xdivsFiner} {xmin} {xmax}  // activation   gate
//    call {path} TABCREATE Y {xdivsFiner} {xmin} {xmax}  // inactivation gate, no longer used


 float qfactor = 0.5    // to match in vitro data, Wolf,et.al.2005
 create table  kir_taum                    // ms
 call  kir_taum  TABCREATE 20 {xmin} {xmax}
//the table corresponds to -150 mV to 50 mV, digitally extracted from JE Steephen,et.al. 2008, fig1
 setfield kir_taum table->table[0] 0.2    \
                    table->table[1] 0.2    \
                    table->table[2] 0.2    \
                    table->table[3] 0.2    \
                    table->table[4] 0.2    \
                    table->table[5] 0.38   \
                    table->table[6] 0.97   \
                    table->table[7] 1.486  \
                    table->table[8] 5.3763 \
                    table->table[9] 6.0606 \
                    table->table[10] 6.8966 \
                    table->table[11] 7.6923 \
                    table->table[12] 7.1429 \
                    table->table[13] 5.8824 \
                    table->table[14] 4.4444 \
                    table->table[15] 4.0   \
                    table->table[16] 4.0   \
                    table->table[17] 4.0   \
                    table->table[18] 4.0   \
                    table->table[19] 4.0   \
                    table->table[20] 4.0
  call  kir_taum  TABFILL  {xdivsFiner} 2

 // table for hinf 
 // In  Steephen's paper, there are only three hinf values, corresponding to -120,-90 and -50 mV.
// to expand table from -150 mV to +50 mV, I set hinf(<-120mV) = hinf(-120mV), hinf(-50 mV) = hinf(>-50mV)

/*  We might not need inactivation gate now
 create table kir_hinf 
 call  kir_hinf  TABCREATE 20 {xmin} {xmax}
 setfield kir_hinf table->table[0] 0.53    \
                    table->table[1] 0.53    \
                    table->table[2] 0.53    \
                    table->table[3] 0.53    \
                    table->table[4] 0.55    \
                    table->table[5] 0.57   \
                    table->table[6] 0.59   \
                    table->table[7] 0.6925  \
                    table->table[8] 0.7950 \
                    table->table[9] 0.8975 \
                    table->table[10] 1.0 \
                    table->table[11] 1.0 \
                    table->table[12] 1.0 \
                    table->table[13] 1.0 \
                    table->table[14] 1.0 \
                    table->table[15] 1.0   \
                    table->table[16] 1.0   \
                    table->table[17] 1.0   \
                    table->table[18] 1.0   \
                    table->table[19] 1.0   \
                    table->table[20] 1.0
  call  kir_hinf  TABFILL {xdivsFiner} 2

  //table for tauh
 create table kir_tauh 
 call  kir_tauh  TABCREATE 20 {xmin} {xmax}
 setfield kir_tauh table->table[0] 7.8    \
                    table->table[1] 7.8    \
                    table->table[2] 7.8    \
                    table->table[3] 7.8    \
                    table->table[4] 10.2    \
                    table->table[5] 12.6   \
                    table->table[6] 15.0   \
                    table->table[7] 17.575  \
                    table->table[8] 20.15 \
                    table->table[9] 22.725 \
                    table->table[10] 25.3 \
                    table->table[11] 25.3 \
                    table->table[12] 25.3 \
                    table->table[13] 25.3 \
                    table->table[14] 25.3 \
                    table->table[15] 25.3   \
                    table->table[16] 25.3   \
                    table->table[17] 25.3   \
                    table->table[18] 25.3   \
                    table->table[19] 25.3   \
                    table->table[20] 25.3
  call  kir_tauh  TABFILL {xdivsFiner} 2

*/
                   
    /*fills the tabchannel with values for KIR_alpha & KIR_beta*/

    for(c = 0; c < {xdivsFiner} + 1; c = c + 1) 
         minf  = 1/(1 + {exp {(x - mvhalf + mshift)/mslope}})	
       //  hinf  = {getfield kir_hinf  table->table[{c}]}  		
         taum  = {getfield kir_taum  table->table[{c}]}/qfactor
       //  tauh  = {getfield kir_tauh  table->table[{c}]}
         setfield {path} X_A->table[{c}] {taum*1e-3}
         setfield {path} X_B->table[{c}] {minf}
       //  setfield {path} Y_A->table[{c}] {tauh*1e-3}
       //  setfield {path} Y_B->table[{c}] {hinf}         
         x = x + increment
        
    end

     /* Defines the powers of m Hodgkin-Huxley equation*/
    setfield {path} Ek {Erev} Xpower 1 Ypower 0

    /* fill the tables with the values of tau and minf/hinf
     * calculated from tau and minf/hinf
     */
    tweaktau {path} X
 //   tweaktau {path} Y       
end