Cortico-striatal plasticity in medium spiny neurons (Gurney et al 2015)

 Download zip file 
Help downloading and running models
Accession:184175
In the associated paper (Gurney et al, PLoS Biology, 2015) we presented a computational framework that addresses several issues in cortico-striatal plasticity including spike timing, reward timing, dopamine level, and dopamine receptor type. Thus, we derived a complete model of dopamine and spike-timing dependent cortico-striatal plasticity from in vitro data. We then showed this model produces the predicted activity changes necessary for learning and extinction in an operant task. Moreover, we showed the complex dependencies of cortico-striatal plasticity are not only sufficient but necessary for learning and extinction. The model was validated in a wider setting of action selection in basal ganglia, showing how it could account for behavioural data describing extinction, renewal, and reacquisition, and replicate in vitro experimental data on cortico-striatal plasticity. The code supplied here allows reproduction of the proposed process of learning in medium spiny neurons, giving the results of Figure 7 of the paper.
Reference:
1 . Gurney KN, Humphries MD, Redgrave P (2015) A new framework for cortico-striatal plasticity: behavioural theory meets in vitro data at the reinforcement-action interface. PLoS Biol 13:e1002034 [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; Neostriatum medium spiny indirect pathway GABA cell; Neostriatum spiny neuron; Abstract Izhikevich neuron;
Channel(s):
Gap Junctions:
Receptor(s): D1; D2;
Gene(s):
Transmitter(s): Dopamine;
Simulation Environment: MATLAB;
Model Concept(s): Synaptic Plasticity; Learning; Reinforcement Learning; STDP; Reward-modulated STDP;
Implementer(s): Gurney, Kevin [K.Gurney at shef.ac.uk];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; D1; D2; Dopamine;
% make MSNs in a single channel, both D1 and D2

% The results (one for each MSN) are stored in files name results#, where # is
% an expt number.
% These raw results files will then be used by code like make
% MAKE_MSN_RESPONSES

clear all;

% define the structure component designators of 
% all_pars so they can be altered in a sensible way

S_SIM_GENERAL_STRUCT    = 1;
S_XPT_STRUCTURE         = 2;
S_CTX_AND_STIM_STRUCT   = 3;
S_STDP_ELIGIBILITY      = 4;
S_DOPAMINE              = 5;
S_MSN                   = 6;
S_PATTERN               = 7;
              
% set one of the following to 1 for non-batched mode, and the
% other to zero.
N_msns_D1 = 1; % set to one for non-batched mode with D1 MSN
N_msns_D2 = 0;% set to one for non-batched mode with D2 MSN

% phases(1) = RANDOM_PATTERNS;
% phases(2) = PATTERN_DISCOVERY;
% phases(3) = PATTERN_MATCH_WITH_PHASIC_DA;
% phases(4) = RANDOM_PATTERNS;
% phases(5) = PATTERN_MATCH_WITH_DA_DIP;
% phases(6) = RANDOM_PATTERNS;

trial_counts(1) = 15;   
trial_counts(2) = 40;   
trial_counts(3) = 30;    
trial_counts(4) = 30;   
trial_counts(5) = 40; 
trial_counts(6) = 30; 


N = 200;                % number of synapses
rp = randperm(N);       % for determining teh set of strong afferents
% seed = 1;

% ================================================ %

%% set up parameters

xpt_no = 1;
neuron_type = 'D1';     
for i = 1:N_msns_D1
    seed = i;
    all_pars = make_stde_pars(neuron_type, trial_counts, N, rp, seed);
    all_pars{S_SIM_GENERAL_STRUCT}.xpt_no = xpt_no;
    pars{xpt_no} = all_pars;
    xpt_no = xpt_no + 1;
end

neuron_type = 'D2';     
for i = 1:N_msns_D2
    seed = i + N_msns_D2;
    all_pars = make_stde_pars(neuron_type, trial_counts, N, rp, seed);
    all_pars{S_SIM_GENERAL_STRUCT}.xpt_no = xpt_no;
    pars{xpt_no} = all_pars;
    xpt_no = xpt_no + 1;
end
No_xpts = xpt_no - 1;

% =============================================== %

%% batch mode stuff   
% do_batch(pars, 'STDE_Shen_batch', No_xpts);
% uncommnet if you are using the Matlab DCE with this helper function