Modeling dentate granule cells heterosynaptic plasticity using STDP-BCM rule (Jedlicka et al. 2015)

 Download zip file   Auto-launch 
Help downloading and running models
... Here we study how key components of learning mechanisms in the brain, namely spike timing-dependent plasticity and metaplasticity, interact with spontaneous activity in the input pathways of the neuron. Using biologically realistic simulations we show that ongoing background activity is a key determinant of the degree of long-term potentiation and long-term depression of synaptic transmission between nerve cells in the hippocampus of freely moving animals. This work helps better understand the computational rules which drive synaptic plasticity in vivo. ...
1 . Jedlicka P, Benuskova L, Abraham WC (2015) A Voltage-Based STDP Rule Combined with Fast BCM-Like Metaplasticity Accounts for LTP and Concurrent "Heterosynaptic" LTD in the Dentate Gyrus In Vivo. PLoS Comput Biol 11:e1004588 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Synapse;
Brain Region(s)/Organism:
Cell Type(s): Dentate gyrus granule GLU cell;
Gap Junctions:
Receptor(s): AMPA;
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): STDP; Homeostasis;
Implementer(s): Jedlicka, Peter [jedlicka at];
Search NeuronDB for information about:  Dentate gyrus granule GLU cell; AMPA; Glutamate;
	load_file("nrngui.hoc")		//starting graphical user interface
	//setting the STDP-BCM parameters - used later in the code

	SCOUNTTAU_BCMTHRESHOLD = 1500	// (ms) averaging time constant for postsynaptic spike count
	printf("Time constant for the weighted spike count = %e min\n", SCOUNTTAU_BCMTHRESHOLD/1000/60)
	ALPHA_BCMTHRESHOLD = 62.5		// scaling constant, ALPHA=0 for non-BCM model
	BCMSLOW_BCMTHRESHOLD = 0		// Cliff's slowing of BCM rate, 0=no change, 0.5=50% slowing, 0.2=20% slowing etc
	PTAU = 20
	DTAU = 70	
	////////////Global BCM spike counter and d & p calculator//////////////////////////////
	create cell	//creating single compartment
	objref bcm
	cell {
	diam = 10	//diameter
	L = 10		//length
	insert hh	//making cell active
	objref bcm
	bcm = new BCMthreshold(.5)	//inserting BCM mechanism
	scount0_BCMthreshold = SCOUNT0_BCMTHRESHOLD
	scounttau_BCMthreshold = SCOUNTTAU_BCMTHRESHOLD
	alpha_BCMthreshold = ALPHA_BCMTHRESHOLD	
	bcmslow_BCMthreshold = BCMSLOW_BCMTHRESHOLD
	////////////Synaptic STDP-BCM input//////////////////////////////
	proc createInput() {	//procedure for creating a synaptic input
	$o1 = new Exp2SynSTDP_multNNb_globBCM_intscount_precentred($2)
	$o1.tau1 = 0.2 	//ms
	$o1.tau2 = 2.5 	//ms
	$o1.e = 0	//mV
	$o1.ptau = PTAU	//time constant for potentiation
	$o1.dtau = DTAU	//time constant for depression
	$o1.start = 0
	$o1.wMax = 1	//hard bound
	//setting the pointers to link synaptic input with the BCM
	setpointer $o1.d, d_BCMthreshold	
	setpointer $o1.p, p_BCMthreshold
	objref stim, syn, syncon //objects for spike generator, synapse, synaptic connection
	objref stim
	stim = new NetStim(0.5)
	stim.start = 0	//ms this is better - avoids epsps at t=0 ms
	stim.number = 1e9 	
	stim.interval = 10	//ms
	stim.noise = 1
	cell {
		createInput(syn, 0.5)
		syncon = new NetCon(stim, syn, 0, 0, 0.001)	//connecting stim with syn and setting the threshold, delay and weight of the connection
	xopen("")	//loading the session file to plot the voltage, integrated spike count and synaptic weight

Loading data, please wait...