Calcium influx during striatal upstates (Evans et al. 2013)

 Download zip file 
Help downloading and running models
Accession:150912
"... To investigate the mechanisms that underlie the relationship between calcium and AP timing, we have developed a realistic biophysical model of a medium spiny neuron (MSN). ... Using this model, we found that either the slow inactivation of dendritic sodium channels (NaSI) or the calcium inactivation of voltage-gated calcium channels (CDI) can cause high calcium corresponding to early APs and lower calcium corresponding to later APs. We found that only CDI can account for the experimental observation that sensitivity to AP timing is dependent on NMDA receptors. Additional simulations demonstrated a mechanism by which MSNs can dynamically modulate their sensitivity to AP timing and show that sensitivity to specifically timed pre- and postsynaptic pairings (as in spike timing-dependent plasticity protocols) is altered by the timing of the pairing within the upstate. …"
Reference:
1 . Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of spike timing-dependent calcium influx during corticostriatal upstates. J Neurophysiol 110:1631-45 [PubMed]
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: Striatum;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell;
Channel(s): I Na,t; I L high threshold; I N; I A; I K; I K,Ca; I A, slow; I Krp; I R;
Gap Junctions:
Receptor(s): AMPA; NMDA; Gaba;
Gene(s): Cav1.3 CACNA1D; Cav1.2 CACNA1C; Cav2.2 CACNA1B;
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): Oscillations; STDP; Calcium dynamics;
Implementer(s): Evans, Rebekah [Rebekah.Evans at nih.gov];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; AMPA; NMDA; Gaba; I Na,t; I L high threshold; I N; I A; I K; I K,Ca; I A, slow; I Krp; I R;
//genesis

/***************************		MS Model, Version 9.1	*********************
**************************** 	      addchansNew.g 	*********************
	Avrama Blackwell 	kblackw1@gmu.edu
	Wonryull Koh		wkoh1@gmu.edu
	Rebekah Evans 		rcolema2@gmu.edu
	Sriram 				dsriraman@gmail.com		
******************************************************************************/
function connectKCachannel(compPath, caBufferName, channel)
  str compPath, channel
  str caBufferName

  if({isa difshell {compPath}/{caBufferName}}) 
    addmsg {compPath}/{caBufferName} {compPath}/{channel} CONCEN C
  elif({isa Ca_concen {compPath}/{caBufferName}})
   addmsg {compPath}/{caBufferName} {compPath}/{channel} CONCEN Ca
  end
end

function AddCDI (compPath, caBufferName, channel)
  str compPath, channel
  str caBufferName

  if({isa difshell {compPath}/{caBufferName}}) 
    addmsg {compPath}/{caBufferName} {compPath}/{channel} CONCEN C
  elif({isa Ca_concen {compPath}/{caBufferName}})
   addmsg {compPath}/{caBufferName} {compPath}/{channel} CONCEN Ca
  end
end

function SumGk (compPath)  //called in MScellshort.g
	str compPath
	create diffamp {compPath}/GkSum
	setfield {compPath}/GkSum gain 1
	setfield {compPath}/GkSum saturation 100

	addmsg {compPath}/KAf_channel {compPath}/GkSum PLUS Gk
	addmsg {compPath}/KAs_channel {compPath}/GkSum PLUS Gk
	addmsg {compPath}/Krp_channel {compPath}/GkSum PLUS Gk
	addmsg {compPath}/KIR_channel {compPath}/GkSum PLUS Gk
	addmsg {compPath}/BK_channel {compPath}/GkSum PLUS Gk 
	addmsg {compPath}/SK_channel {compPath}/GkSum PLUS Gk
end

function SumCa (compPath) //called in MScellshort.g
	str compPath
	create diffamp {compPath}/CaSum
	setfield {compPath}/CaSum gain 1
	setfield {compPath}/CaSum saturation 100

	addmsg {compPath}/CaR_channelGHK {compPath}/CaSum PLUS Gk
	addmsg {compPath}/CaL12_channelGHK {compPath}/CaSum PLUS Gk
	addmsg {compPath}/CaL13_channelGHK {compPath}/CaSum PLUS Gk
	addmsg {compPath}/CaT_channelGHK {compPath}/CaSum PLUS Gk
end

include MScell/connectCaChannels.g

//********************* Begin function add_uniform_channel ********************
//*****************************************************************************
function add_uniform_channel(obj, a, b,Gchan,cellpath, chantype )
	//************************ Begin Local Variables ***************************
 	str obj, compt, path, chantype
    str strhead, strhead3
 	float dia,len,surf,shell_vol,shell_thick, a,b,position,Gchan,PI,shell_dia,kb
 	float Ca_base = 5.0e-5  // mM
 	float Ca_tau            // second
 	float PI = 3.14159
	//************************ End Local Variables *****************************
	 
	//************************* Begin Warnings *********************************
 	if (!{exists /library/{obj}} )
  		echo the object {obj} has not been made (C) 
  	return
 	end

 	if (!{exists {cellpath}})
   	  echo the cell path {cellpath} does not exist! Please check it (add_uniform_channel)
        return
 	end

 	if (a>b)
   	  echo You set a WRONG boundary of a and b (E)
   	return
 	end
	//************************* End  Warnings ********************************** 
//these next lines are not needed for the "real" calcium dynamics, only for the ca_concen object 
 	strhead = {substring {obj} 0 0}     
		// we need the first letter of the name of the object
 	strhead3 = {substring {obj} 2 2}     
		// we need the third letter of the name of the object
 
	
	//********************* Begin foreach statement ****************************
	foreach compt ({el {cellpath}/##[TYPE=compartment]})
		
		//************** Begin external if statement*****************************
	    if (!{{compt} == {{cellpath}@"/axIS"} || {compt} == {{cellpath}@"/ax"}}) 
    		   dia = {getfield {compt} dia}
    	 	   position = {getfield {compt} position} 
    		  		
    		//********* calculate surface area from diameter (above) and length  *************  
 		if ({({dia} > 0.11e-6) && {position > a} && {position <= b} }) 
 				//if the compartment is not a spine ,and position between [a,b]
     		   len = {getfield {compt} len}
      		   if ({{getpath {compt} -tail} == "soma"})
                       len = dia
         	   end
     		   surf = dia*{PI}*len
		/* add channels & make channels communicated w/parent dendrites */     
         	   copy /library/{obj} {compt}
         	   addmsg {compt} {compt}/{obj} VOLTAGE Vm
                   if ({chantype} == "V")
         	        addmsg {compt}/{obj} {compt} CHANNEL Gk Ek
       		   elif ({chantype} == "KC")
         	        addmsg {compt}/{obj} {compt} CHANNEL Gk Ek
         		    connectKCachannel {compt} {CalciumName}1 {obj}
         	   elif ({chantype}=="VC")
                    if (calciumtype == 0)
                        addCaChannel {obj} {compt} {Gchan} {CalciumName}1
			if (calciuminact == 1)
				AddCDI {compt} {CalciumName}1 {obj}
			end
                    elif (calciumtype == 1)
                        if ((strhead == "C") && ((strhead3 == "N") || (strhead3 == "R")))
                            addCaChannel {obj} {compt} {Gchan} {CalciumName}1
			    if (calciuminact == 1)
				AddCDI {compt} {CalciumName}3 {obj} //should sense global Ca
                            end		
                        elif ((strhead == "C") && ((strhead3 == "T") || (strhead3 == "L")))
                            addCaChannel {obj} {compt} {Gchan} {CalciumName}2
			    if (calciuminact == 1)
				AddCDI {compt} {CalciumName}2 {obj} //should maybe sense only its Ca
                            end		
			else
                            echo "unrecognized calcium channel"
                        end
                        coupleCaPoolCaChannel {CalciumName}3 {compt} {obj}
                    else
                        echo "unrecognized type of calcium dynamics"
                    end
     		   end

     		   if ({isa tabchannel /library/{obj}} || {isa tab2Dchannel /library/{obj}})
         		setfield {compt}/{obj} Gbar {Gchan*surf} 
       		   elif ({isa vdep_channel /library/{obj} })
          		setfield {compt}/{obj} gbar {Gchan*surf}
     		   end 

    		end
    		//*************** End internal if statement***************************   
  		
  	   end
  		//****************** End external if statement***************************

	end
 	//********************* End foreach statement ******************************	

end 
//************************ End function add_uniform_channel *******************
//*****************************************************************************



Loading data, please wait...