Excessive beta oscillations in Parkinson's disease (Pavlides et al. 2015)

 Download zip file 
Help downloading and running models
" ... Understanding the generation of beta oscillations is important to improve treatments for Parkinson’s disease. Competing theories exist for how these oscillations are generated in the affected brain circuits, which include the motor cortex and a set of subcortical nuclei called the basal ganglia. This paper suggests two hypotheses for the generation of beta oscillations. The first hypothesis is that beta oscillations are generated in the motor cortex, and the basal ganglia resonate to the cortical input. The second hypothesis additionally proposes that feedback from the basal ganglia to cortex is critically important for the presence of the oscillations. We show that the models can successfully account for a wide range of experimental data concerning the presence of beta oscillations in Parkinson’s disease."
1 . Pavlides A, Hogan SJ, Bogacz R (2015) Computational Models Describing Possible Mechanisms for Generation of Excessive Beta Oscillations in Parkinson's Disease. PLoS Comput Biol 11:e1004609 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism: Subthalamic Nucleus; Basal ganglia;
Cell Type(s):
Gap Junctions:
Simulation Environment: MATLAB;
Model Concept(s): Parkinson's; Beta oscillations; Activity Patterns; Oscillations;
Implementer(s): Pavlides, Alex ;
function [maxtab, mintab]=peakdet(v, delta, x)

%PEAKDET Detect peaks in a vector

%        [MAXTAB, MINTAB] = PEAKDET(V, DELTA) finds the local
%        maxima and minima ("peaks") in the vector V.
%        MAXTAB and MINTAB consists of two columns. Column 1
%        contains indices in V, and column 2 the found values.
%        With [MAXTAB, MINTAB] = PEAKDET(V, DELTA, X) the indices
%        in MAXTAB and MINTAB are replaced with the corresponding
%        X-values.
%        A point is considered a maximum peak if it has the maximal
%        value, and was preceded (to the left) by a value lower by
%        DELTA.

% Eli Billauer, 3.4.05 (Explicitly not copyrighted).
% This function is released to the public domain; Any use is allowed.

maxtab = [];
mintab = [];

v = v(:); % Just in case this wasn't a proper vector

if nargin < 3
  x = (1:length(v))';
  x = x(:);
  if length(v)~= length(x)
    error('Input vectors v and x must have same length');
if (length(delta(:)))>1
  error('Input argument DELTA must be a scalar');

if delta <= 0
  error('Input argument DELTA must be positive');

mn = Inf; mx = -Inf;
mnpos = NaN; mxpos = NaN;

lookformax = 1;

for i=1:length(v)
  this = v(i);
  if this > mx, mx = this; mxpos = x(i); end
  if this < mn, mn = this; mnpos = x(i); end
  if lookformax
    if this < mx-delta
      maxtab = [maxtab ; mxpos mx];
      mn = this; mnpos = x(i);
      lookformax = 0;
    if this > mn+delta
      mintab = [mintab ; mnpos mn];
      mx = this; mxpos = x(i);
      lookformax = 1;

Loading data, please wait...