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 all;
close all;

% %-----------------upload GPeSTN data
[gpestn2load, pathload, inutile] = uigetfile('simulazioni\GPE*.mat','upload GPeSTN data:');
load(strcat('sims\',gpestn2load));

% %---------------choose the GPi model
[gpi2load, pathload, inutile] = uigetfile('GPI*.mdl','choose the GPi model:');

% % --------------define time vector
sim_length=1000;
t=[0:1:sim_length]';

% % ------------upload parameters
data_GPE;
data_STN;
data_GPI;
data_synapses;


% %-------------upload initial conditions
load in_val;

i_v_16=in_val_16_park2;
sis0=i_v_16(97:112);

sig0=i_v_16(209:224);

vgi0=i_v_16(225:240);
hgi0=i_v_16(241:256);
ngi0=i_v_16(257:272);
rgi0=i_v_16(273:288);
cagi0=i_v_16(289:304);
sgi0=i_v_16(305:320);

% %  -----------------------define additional currents and ISTRIATO DIR
% % define IMORE_GPI
ggpegpi=0.3;
imore_gpi=5;
istriato_dir=-9;
IMORE_GPI=(imore_gpi+istriato_dir)*ones(length(t),1);
input5=[t IMORE_GPI];

% % ------------------------DBS!

% % ---------------------------------------  define IDBS (input DBS)
passo_DBS=0.1;%choose 0.01 if  simulating DBS;
t_DBS=[0:passo_DBS:sim_length]';
amp_DBS=0; %% choose 400 if simulating DBS
freq_DBS=180;
dur_DBS=30;

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

input6=[t_DBS IDBS];
% %-------------------------sim!
tic
t1=t_GPESTN;
u1=[VSTN,VGPE];
sim(gpi2load,t(sim_length+1),[],[]);
toc

% %------------------------save!
modelloGPI=gpi2load(1:(length(gpi2load)-4));
tagGPI=strcat(modelloGPI,'--',num2str(ggpegpi),'--',num2str(sim_length),'--',num2str(istriato_dir),'--',dbstag,'--',tagSTNGPE);
filematGPI=strcat(tagGPI,'.mat');
save(strcat('sims\',filematGPI),'t_GPI','VGPI','SYNGPI','filematGPI','tagGPI','filematGPESTN');

% %------------------------plot!

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

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

figure(3);
for i=1:min(size(VGPI))
    plot(t_GPI,VGPI(:,i)-(i-1)*150); hold on
end
grid; 
title(strcat('VGPI--',tagGPI));