Dopamine-modulated medium spiny neuron, reduced model (Humphries et al. 2009)

 Download zip file 
Help downloading and running models
Accession:128818
We extended Izhikevich's reduced model of the striatal medium spiny neuron (MSN) to account for dopaminergic modulation of its intrinsic ion channels and synaptic inputs. We tuned our D1 and D2 receptor MSN models using data from a recent (Moyer et al, 2007) large-scale compartmental model. Our new models capture the input-output relationships for both current injection and spiking input with remarkable accuracy, despite the order of magnitude decrease in system size. They also capture the paired pulse facilitation shown by MSNs. Our dopamine models predict that synaptic effects dominate intrinsic effects for all levels of D1 and D2 receptor activation. Our analytical work on these models predicts that the MSN is never bistable. Nonetheless, these MSN models can produce a spontaneously bimodal membrane potential similar to that recently observed in vitro following application of NMDA agonists. We demonstrate that this bimodality is created by modelling the agonist effects as slow, irregular and massive jumps in NMDA conductance and, rather than a form of bistability, is due to the voltage-dependent blockade of NMDA receptors
Reference:
1 . Humphries MD, Lepora N, Wood R, Gurney K (2009) Capturing dopaminergic modulation and bimodal membrane behaviour of striatal medium spiny neurons in accurate, reduced models. Front Comput Neurosci 3:26 [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:
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell;
Channel(s):
Gap Junctions:
Receptor(s): D1; D2; GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s): Dopamine;
Simulation Environment: MATLAB;
Model Concept(s): Action Potential Initiation; Parameter Fitting; Simplified Models; Parkinson's; Bifurcation;
Implementer(s): Humphries, Mark D [m.d.humphries at shef.ac.uk];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; D1; D2; GabaA; AMPA; NMDA; Dopamine;
function f = stagetwo(x,pars)

% return fit of Izi MSN D1 or D2 type neuron (intrinsic) to corresponding Moyer et al data

% Moyer data - injection current and corresponding output
inj = [0.22	0.225 0.23 0.2350 0.2400 0.2450	0.2500	0.2550	0.2600	0.2650	0.2700	0.2750	0.2800	0.2850	0.2900	0.2950	0.3000];
injScaled = round(inj .* 1e3);
d1int = [0.0000	0.0000	0.0000	0.0000	0.0000	0.0000	0.0000	0.0000	2.0000	6.0000	8.0000	10.0000	12.0000	14.0000	16.0000	16.0000	18.0000];
d2int = [2.0000	2.0000	4.0000	6.0000	6.0000	8.0000	8.0000	10.0000	10.0000	12.0000	12.0000	14.0000	14.0000	16.0000	16.0000	18.0000	18.0000];


% pars = [k,a,b, c, vr, vt, vpeak, T, dt, f_start, f_end, f_time, Istore, C, d, k];
k = pars(1); a = pars(2); b = pars(3); c = pars(4); vr = pars(5); vpeak = pars(6);
T = pars(7); dt = pars(8); f_start=pars(9); f_end=pars(10); f_time=pars(11); Istore=pars(12);
% newly tuned parameters added to end of pars list % [C, vt, d]
C = pars(13); vt = pars(14); d = pars(15);

% dopamine stuff
DAtype = pars(16);
DA = pars(17); 

% multipliers
if DAtype == 1
    dD1 = d*(1-DA*x(2));
    vrD1 = vr*(1+DA*x(1));
else
    kD2 = k * (1-x(1)*DA);
end

% run simulation
t = 0:dt:T;         
n = length(t); % number of time points
nInj = numel(inj);

for loop = 1:nInj
    v = vr*ones(1,n); u=0*v;
    for i = 1:n-1
        switch DAtype
            case 1
                %--- D1
                v(i+1) = v(i) + dt*(k*(v(i)-vrD1)*(v(i)-vt)-u(i) + injScaled(loop))/C;
                u(i+1) = u(i) + dt*a*(b*(v(i)-vrD1)-u(i));
                % spikes?   
                if v(i+1)>=vpeak
                    v(i)=vpeak; v(i+1)=c; u(i+1)=u(i+1)+dD1;
                end
            case 2
                %--- D2
                v(i+1) = v(i) + dt*(kD2*(v(i)-vr)*(v(i)-vt)-u(i) + injScaled(loop))/C;
                u(i+1) = u(i) + dt*a*(b*(v(i)-vr)-u(i));
                % spikes?   
                if v(i+1)>=vpeak
                    v(i)=vpeak; v(i+1)=c; u(i+1)=u(i+1)+d;
                end
            otherwise
                error('Unknown receptor type')
        end
       
    end
     % time to first spike
    temp = find(v == vpeak); isis = diff(temp)*dt;
    if temp tfs(loop) = temp(1) * dt; else tfs(loop) = nan; end   % time in ms 
    fI(loop) = sum(v(f_start:f_end) == vpeak) ./ f_time;
    if isis fI1st(loop) = 1000./isis(1); else fI1st(loop) = 0; end
end

%-------------- compute fit
% %% SSE of f-I
% switch DAtype
%     case 1
%         fIerror = sum((fI-d1int).^2); % SSE
%     case 2
%         fIerror = sum((fI-d2int).^2); % SSE
% end

%% summed relative error f-I
switch DAtype
    case 1
        norm = d1int; norm(norm == 0) = 1;
        fIerror =  sum(abs(fI-d1int)./norm); % summed relative error
    case 2
        norm = d2int; norm(norm == 0) = 1;
        fIerror = sum(abs(fI-d2int)./norm); % summed relative error
end


f = fIerror; 


Loading data, please wait...