NMDA subunit effects on Calcium and STDP (Evans et al. 2012)

 Download zip file 
Help downloading and running models
Accession:145917
Effect of NMDA subunit on spike timing dependent plasticity.
Reference:
1 . Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on calcium influx and spike timing-dependent plasticity in striatal medium spiny neurons. PLoS Comput Biol 8:e1002493 [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): Neostriatum medium spiny direct pathway GABA cell;
Channel(s): I Na,t; I L high threshold; I T low threshold; I A; I h; I K,Ca; I Calcium; I A, slow;
Gap Junctions:
Receptor(s): GabaA; Glutamate;
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s): STDP; Calcium dynamics;
Implementer(s): Blackwell, Avrama [avrama at gmu.edu]; Evans, Rebekah [Rebekah.Evans at nih.gov];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; GabaA; Glutamate; I Na,t; I L high threshold; I T low threshold; I A; I h; I K,Ca; I Calcium; I A, slow;
//genesis
// CaR_channel.g 

/***************************		MS Model, Version 7.6	*********************
**************************** 	      CaR_channel.g  	*********************
	Avrama Blackwell 	kblackw1@gmu.edu
	Rebekah Evans 		rcolema2@gmu.edu	
	Tom Sheehan 		tsheeha2@gmu.edu	
******************************************************************************

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

function create_CaR
	str chanName = "CaR_channel"
	str compPath = "/library"

	int c = 0	
	int xdivs = 3000

	float x = -0.1
	float xmin = -0.1
	float xmax = 0.05
        float increment ={{xmax}-{xmin}}/{xdivs}
        echo "CaR increment:" {increment} "V"
  	float mPower = 1.0
  	float hPower = 1.0

	float mvHalfCaR = -10.3e-3
	float mkCaR     = -6.6e-3
	float hvHalfCaR = -33.3e-3
	float hkCaR     = 17e-3

	float mTauCaR = 1.7e-003
	float mInfCaR = 0.0
	float hTauCaR = 0.0
	float hInfCaR = 0.0

	float surf = 0.0
	float gMax = 2.6e-007

	float theta = 0.0
	float theta_exp = 0.0

	create tabchannel {chanName}
  	setfield {chanName} Xpower {mPower} Ypower {hPower}
	call {chanName} TABCREATE X {xdivs} {xmin} {xmax}
   call {chanName} TABCREATE Y {xdivs} {xmin} {xmax}

	for(c = 0; c < {xdivs} + 1; c = c + 1)
		/************************ Begin CaR_mTau *********************/
		// mTauCaR = 1.7e-3*ones(vDiv+1,1); 
		mTauCaR = 1.7e-003
		setfield {chanName} X_A->table[{c}] {mTauCaR}
		/************************ End CaR_mTau ***********************/
		
		/************************ Begin CaR_mInf *********************/
		//mInfCaR   = 1./(1 + exp((vMemb - mvHalfCaR)/mkCaR));
		theta = {{x} - {mvHalfCaR}}/{mkCaR}
		theta_exp = {exp {theta}} + 1.0
		mInfCaR = 1.0/{theta_exp}
		setfield {chanName} X_B->table[{c}] {mInfCaR}
		/************************ End CaR_mInf ***********************/

		/************************ Begin CaR_hTau *********************/
		//genCarTauH = nfCarTauH * 1e-3 / qFactCaR;
		//genCarV = nfCarV * 1e-3;
		//genCarVmax = max(nfCarV * 1e-3);
		//genCarVmin = min(nfCarV * 1e-3);
		//genCarVxdiv = length(nfCarV) - 1;
		//hTauCaR = interp1(genCarV, genCarTauH, vMemb,'pchip');
		//hTauCaR(find(vMemb < min(genCarV))) = 
		//					genCarTauH(find(genCarV==min(genCarV)));
		//hTauCaR(find(vMemb > max(genCarV))) = 
		//					genCarTauH(find(genCarV==max(genCarV))); 
		if(x <= -0.03)
			hTauCaR = 0.03333
		else
			if(x <= -0.01)
				hTauCaR = -1.08*{x} + 0.0009
			else
				if(x <= 0.01)
					hTauCaR = -0.25*{x} + 0.0092
				else
					hTauCaR = 0.0067
				end
			end
		end
		setfield {chanName} Y_A->table[{c}] {hTauCaR}
		/************************ End CaR_hTau ***********************/
		
		/************************ Begin CaR_hInf *********************/
		//hInfCaR   = 1./(1 + exp((vMemb - hvHalfCaR)/hkCaR));
		theta = {{x} - {hvHalfCaR}}/{hkCaR}
		theta_exp = {exp {theta}} + 1.0
		hInfCaR = 1.0/{theta_exp}
		setfield {chanName} Y_B->table[{c}] {hInfCaR}
		/************************ End CaR_hInf ***********************/
    	x = x + increment
	end

	tweaktau {chanName} X
	tweaktau {chanName} Y

  	create ghk {chanName}GHK

  	setfield {chanName}GHK Cout 2 // Carter & Sabatini 2004 uses 2mM, 
											
  	setfield {chanName}GHK valency 2.0
  	setfield {chanName}GHK T {TEMPERATURE}
	
  	setfield {chanName} Gbar {gMax*surf}
  	addmsg {chanName} {chanName}GHK PERMEABILITY Gk	
  	pope
end