Investigation of different targets in deep brain stimulation for Parkinson`s (Pirini et al. 2009)

 Download zip file 
Help downloading and running models
Accession:122369
"We investigated by a computational model of the basal ganglia the different network effects of deep brain stimulation (DBS) for Parkinson’s disease (PD) in different target sites in the subthalamic nucleus (STN), the globus pallidus pars interna (GPi), and the globus pallidus pars externa (GPe). A cellular-based model of the basal ganglia system (BGS), based on the model proposed by Rubin and Terman (J Comput Neurosci 16:211–235, 2004), was developed. ... Our results suggest that DBS in the STN could functionally restore the TC relay activity, while DBS in the GPe and in the GPi could functionally over-activate and inhibit it, respectively. Our results are consistent with the experimental and the clinical evidences on the network effects of DBS."
Reference:
1 . Pirini M, Rocchi L, Sensi M, Chiari L (2009) A computational modelling approach to investigate different targets in deep brain stimulation for Parkinson's disease. J Comput Neurosci 26:91-107 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Neocortex; Thalamus; Basal ganglia; Subthalamic Nucleus;
Cell Type(s): Thalamus geniculate nucleus/lateral principal GLU cell; Subthalamus nucleus projection neuron; Globus pallidus neuron;
Channel(s): I Na,t; I T low threshold; I K; I Calcium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Activity Patterns; Parkinson's; Deep brain stimulation;
Implementer(s): Pirini, Marco [marco.pirini at unibo.it];
Search NeuronDB for information about:  Thalamus geniculate nucleus/lateral principal GLU cell; I Na,t; I T low threshold; I K; I Calcium;
clc
clear
close all

% %---------choose model and upload parameters
[stngpe2load, pathload, inutile] = uigetfile('GPE*.mdl','Choose the GPeSTN model to use:');
sim_length=1000;
t=[0:1:sim_length]';
data_GPE;
data_STN;
data_synapses;

% upload initial conditions
load in_val
i_v_16=in_val_16_park2;
vs0=i_v_16(1:16);
hs0=i_v_16(17:32);
ns0=i_v_16(33:48);
rs0=i_v_16(49:64);
cas0=i_v_16(65:80);
ss0=i_v_16(81:96);

vg0=i_v_16(113:128);
hg0=i_v_16(129:144);
ng0=i_v_16(145:160);
rg0=i_v_16(161:176);
cag0=i_v_16(177:192);
sg0=i_v_16(193:208);

% % -------------------------------  other parameters
ggpegpe=0.3;
istriato=0;
ISTRIATO=istriato*ones(length(t),1);

% % ---------------------------------------  definition of IDBS (input DBS)
passo_DBS=0.01;
t_DBS=[0:passo_DBS:sim_length]';
amp_DBS=400;
freq_DBS=180;
dur_DBS=60;

flag=0;
IDBS=[];
while flag==0       
    dur0_DBS=floor((1000/freq_DBS)/passo_DBS)-dur_DBS;
    period_DBS=[zeros(dur0_DBS,1); amp_DBS*ones(dur_DBS,1)];
    if (length(IDBS)+length(period_DBS))<(length(t_DBS));
        IDBS=[IDBS; period_DBS];
    else
        period_DBS=zeros(length(t_DBS)-length(IDBS),1);
        IDBS=[IDBS; period_DBS];
        flag=1;
    end
end
figure()
plot(t_DBS,IDBS);
title('IDBS');

if amp_DBS==0
    dbstag='0';
else
    dbstag=strcat(num2str(amp_DBS),'-',num2str(freq_DBS),'-',num2str(dur_DBS));
end


% %  -----------------------definition of additional currents
imore_stn=25;
imore_gpe=2;
% % definizione di IMORE_GPE
IMORE_GPE=imore_gpe*ones(length(t),1);
% % definizione di IMORE_STN
IMORE_STN=imore_stn*ones(length(t),1);

% % ------------------------ input vectors

input1=[t ISTRIATO];
input2=[t IMORE_GPE];
input3=[t_DBS IDBS];
input4=[t IMORE_STN];

% %---------------------------sim!

tic
sim(stngpe2load,t(sim_length+1),[],[]);
toc

% %------------------------------save!
modelloSTNGPE=stngpe2load(1:(length(stngpe2load)-4));
tagSTNGPE=strcat(modelloSTNGPE,'--',num2str(sim_length),'--',num2str(istriato),'--',num2str(ggpegpe),'--',dbstag);
filematGPESTN=strcat(tagSTNGPE,'.mat');

save(strcat('sims\',filematGPESTN),'t_GPESTN','VGPE','VSTN','istriato','ggpegpe','filematGPESTN','tagSTNGPE');

% %----------------------------plot

figure(2)
for i=1:min(size(VGPE))
    plot(t_GPESTN,VGPE(:,i)-(i-1)*150); hold on
end
grid; 
title(strcat('VGPE--',tagSTNGPE));

figure(3)
for i=1:min(size(VGPE))
    plot(t_GPESTN,VSTN(:,i)-(i-1)*150); hold on
end
grid; 
title(strcat('VSTN--',tagSTNGPE));

%% obsolete
% figure(5)
% for i=1:min(size(VGPE))
%     plot(t_GPESTN,cagpe); hold on
% end
% grid; 
% title(cagpe);
% 
% figure(6)
% for i=1:min(size(VGPE))
%     plot(t_GPESTN,rgpe); hold on
% end
% grid; 
% title(rgpe);
% 
% figure(7)
% for i=1:min(size(VGPE))
%     plot(t_GPESTN,iahpgpe); hold on
% end
% grid; 
% title(iahpgpe);