Population-level model of the basal ganglia and action selection (Gurney et al 2001, 2004)

 Download zip file 
Help downloading and running models
Accession:83560
We proposed a new functional architecture for the basal ganglia (BG) based on the premise that these brain structures play a central role in behavioural action selection. The papers quantitatively describes the properties of the model using analysis and simulation. In the first paper, we show that the decomposition of the BG into selection and control pathways is supported in several ways. First, several elegant features are exposed--capacity scaling, enhanced selectivity and synergistic dopamine modulation--which might be expected to exist in a well designed action selection mechanism. Second, good matches between model GPe output and GPi and SNr output, and neurophysiological data, have been found. Third, the behaviour of the model as a signal selection mechanism has parallels with some kinds of action selection observed in animals under various levels of dopaminergic modulation. In the second paper, we extend the BG model to include new connections, and show that action selection is maintained. In addition, we provide quantitative measures for defining different forms of selection, and methods for assessing performance changes in computational neuroscience models.
Reference:
1 . Gurney K, Prescott TJ, Redgrave P (2001) A computational model of action selection in the basal ganglia. II. Analysis and simulation of behaviour. Biol Cybern 84:411-23 [PubMed]
2 . Gurney KN, Humphries M, Wood R, Prescott TJ, Redgrave P (2004) Testing computational hypotheses of brain systems function: a case study with the basal ganglia. Network 15:263-90 [PubMed]
3 . Gurney K, Prescott TJ, Redgrave P (2001) A computational model of action selection in the basal ganglia. I. A new functional anatomy. Biol Cybern 84:401-10 [PubMed]
4 . Humphries MD (2003) High level modeling of dopamine mechanisms in striatal neurons Technical Report ABRG 3
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Basal ganglia;
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s): Dopamine;
Simulation Environment: MATLAB; Simulink;
Model Concept(s): Parkinson's; Action Selection/Decision Making;
Implementer(s): Humphries, Mark D [m.d.humphries at shef.ac.uk];
Search NeuronDB for information about:  Dopamine;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%  DATE: 7/7/2003
%%%%  WHAT: M-code (script) version of original intrinsic basal ganglia model
%%%%		Parameters are taken from Gurney et al (2001) Bio Cyber, 85, 411-423.
%%%%  AUTHOR: Mark Humphries
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all

%%% MODEL PARAMETERS
NUM_CHANNELS = 6;
da_sel = 0.2;     % dopamine level
da_cont = 0.2;

W_SEL = 1;
W_CONT = 1;
W_STN = 1;
W_SEL_GPi = -1;
W_CONT_GPe = -1;
W_STN_GPi = 0.9;
W_STN_GPe = 0.9;
W_GPe_STN = -1;
W_GPe_GPi = -0.3;

e_SEL = 0.2;
e_CONT = 0.2;
e_STN = -0.25;
e_GPe = -0.2;
e_GPi = -0.2;

%%% SIMULATION PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
t = 5;                      % length of simulation
dt = 0.01;                  % time-step
sim_steps = t / dt;

% activity arrays
a_SEL = zeros(NUM_CHANNELS,1);
a_CONT = zeros(NUM_CHANNELS,1);
a_STN = zeros(NUM_CHANNELS,1);
a_GPe = zeros(NUM_CHANNELS,1);
a_GPi = zeros(NUM_CHANNELS,1);

% output arrays
o_SEL = zeros(NUM_CHANNELS,sim_steps);
o_CONT = zeros(NUM_CHANNELS,sim_steps);
o_STN = zeros(NUM_CHANNELS,sim_steps);
o_GPe = zeros(NUM_CHANNELS,sim_steps);
o_GPi = zeros(NUM_CHANNELS,sim_steps);

%%% SALIENCE INPUT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ch1_onset = 1;
ch1_size = 0.4;

ch2_onset = 2;
ch2_size = 0.6;

transient_onset = 3;
transient_off = 4;
transient_size = 0.2;

c = zeros(NUM_CHANNELS,1);

%%% ARTIFICAL UNIT PARAMETERS  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k = 25;                     % gain
m = 1;                      % slope

decay_constant = exp(-k*dt);    

tic
%%% SIMULATE MODEL
for steps = 2:sim_steps
    
    %% calculate salience changes
    if steps * dt == ch1_onset
        c(1) = ch1_size;
    end
    if steps * dt == ch2_onset
        c(2) = ch2_size;
    end
    if steps * dt == transient_onset
        c(1) = c(1) + transient_size;
    end
    if steps * dt == transient_off
        c(1) = ch1_size;
    end
    
    %% STRIATUM D1
    u_SEL = c .* W_SEL .* (1 + da_sel);
    a_SEL = (a_SEL - u_SEL) * decay_constant + u_SEL;
    o_SEL(:,steps) = ramp_output(a_SEL,e_SEL,m)';    

    %% STRIATUM D2
    u_CONT = c .* W_CONT .* (1 - da_cont);
    a_CONT = (a_CONT - u_CONT) * decay_constant + u_CONT;
    o_CONT(:,steps) = ramp_output(a_CONT,e_CONT,m)';    

    %% STN
    u_STN = c .* W_STN + o_GPe(:,steps-1) .* W_GPe_STN;
    a_STN = (a_STN - u_STN) * decay_constant + u_STN;
    o_STN(:,steps) = ramp_output(a_STN,e_STN,m)'; 
    
    %% GPe
    u_GPe = sum(o_STN(:,steps)) .* W_STN_GPe + o_CONT(:,steps) .* W_CONT_GPe;
    a_GPe = (a_GPe - u_GPe) * decay_constant + u_GPe;
    o_GPe(:,steps) = ramp_output(a_GPe,e_GPe,m)';     

    %% GPi
    u_GPi = sum(o_STN(:,steps)) .* W_STN_GPi + o_GPe(:,steps) .* W_GPe_GPi + o_SEL(:,steps) .* W_SEL_GPi;
    a_GPi = (a_GPi - u_GPi) * decay_constant + u_GPi;
    o_GPi(:,steps) = ramp_output(a_GPi,e_GPi,m)';
end

toc

figure(1)
clf
plot(o_GPi(1,:),'r')
hold on
plot(o_GPi(2,:),'b')