OSCR

β-Bursting as a Sensitive Neural Marker of Inhibitory Control in Healthy Older Adults: A Linear Mixed-Effects Modeling and Threshold-Free Cluster Approach.

Code ↔ Paper

7 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 7 matches · 4 of them tie a paragraph to a whole file without given lines: weak matches, whose lines are not tinted
  1. [1] § Materials and Methods › Recording and preprocessing › Electroencephalography ↔ preprocess.m, the whole file · a weak match · score 0.90 · Hurst exponent, voltage variance, voltage range, blinks, component, runica · Report a mismatch
  2. [2] § Materials and Methods › Experimental design and statistical analysis › LMM ↔ lme_beta_run.m, the whole file · a weak match · score 0.78 · linear regressions, lmeEEG, mass, fits, marginal, intercepts · Report a mismatch
  3. [3] § Materials and Methods › Experimental design and statistical analysis › Muscle bursting ↔ Muscle_Burst_Detection/calcAmplitude.m, the whole file · a weak match · score 0.65 · peak amplitude, CancelTime, partial burst, rectified, SSD, baseline · Report a mismatch
  4. [4] § Materials and Methods › Experimental design and statistical analysis › β-Features ↔ beta_features_extraction.m, lines 244 to 304 · score 0.57 · burst duration, burst volume, datapoints, sum, epochs, bins · Report a mismatch
  5. [5] § Materials and Methods › Experimental design and statistical analysis › β-Features ↔ beta_features_extraction.m, lines 49 to 102 · score 0.56 · Morlet wavelets, 4–10 cycles, 29 Hz, 15, Power · Report a mismatch
  6. [6] § Materials and Methods › Recording and preprocessing › Electromyography ↔ dataimport.m, lines 209 to 268 · score 0.54 · bandpass filtered, EEGLAB, Biosemi, epochs, EMG · Report a mismatch
  7. [7] § Materials and Methods › Experimental design and statistical analysis › Muscle bursting ↔ Muscle_Burst_Detection/FindEMGBursts.m, the whole file · a weak match · score 0.51 · EMG amplitude, window, rectified, SD, baseline, threshold · Report a mismatch

Paper

Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

MATLAB · 368 lines · 14 KB · no license · 2 matches

  1. function beta_features_extraction(subjname)
  2. % Based on https://osf.io/jfer7
  3. % Edited by Damian Cruse and Aliya Warden 2023
  4. %% import the data
  5. filepath = './Data';
  6. EEG = pop_loadset('filename', sprintf('%s_preproc3.set', subjname), 'filepath', fullfile(filepath,subjname));
  7. %% remove SSDs that are too long
  8. % fix formatting issue first if they're stored as cells within cells (interlinked!)
  9. if iscell(EEG.epoch(1).eventssd)
  10. for e = 1:length(EEG.epoch)
  11. EEG.epoch(e).eventssd = char(EEG.epoch(e).eventssd);
  12. end
  13. end
  14. ssd_lim = .7;
  15. badssds = find(cellfun(@str2num,{EEG.epoch.eventssd})>ssd_lim);
  16. EEG = pop_select(EEG,'notrial',badssds);
  17. %% some parameters
  18. binsize_pnts = 32; % has to be power of 2 so that it fits equally into the epochs
  19. % calc integrated SSRT first
  20. load All_SSRTs.mat;
  21. thispid = find(strcmp(subjname,all_SSRTs(:,1)));
  22. subj_ssrt = all_SSRTs{thispid,2} / 1000;
  23. %% CSD transform
  24. % save the channel locations as .locs
  25. writelocs(EEG.chanlocs(1:128),'Biosemi_128_ABC_noEMG.locs','filetype','loc')
  26. % convert to .ced
  27. chanlabels = {EEG.chanlocs.labels};
  28. ConvertLocations('Biosemi_128_ABC_noEMG.locs');
  29. M = ExtractMontage('Biosemi_128_ABC_noEMG.csd',chanlabels(1:128)');
  30. MapMontage(M);
  31. [G,H] = GetGH(M);
  32. % Delete external channels from current dataset
  33. EEG = pop_select(EEG, 'nochannel', {'EMGL','EMGR'});
  34. dataCSD = single(repmat(NaN,size(EEG.data))); % use single data precision
  35. for ne = 1:length(EEG.epoch) % loop through all epochs
  36. myEEG = single(EEG.data(:,:,ne)); % reduce data precision to reduce memory demand
  37. MyResults = CSD(myEEG,G,H); % compute CSD for <channels-by-samples> 2-D epoch
  38. dataCSD(:,:,ne) = MyResults; % assign data output
  39. end
  40. EEG.data = dataCSD; % Replace data with CSD transformed data
  41. %% Morlet wavlet transformation
  42. % Calculate Morlet Wavelets for all trials
  43. min_freq = 15;
  44. max_freq = 29;
  45. num_frex = 15;
  46. frex = linspace(min_freq,max_freq,num_frex);
  47. % other wavelet parameters
  48. range_cycles = [4 10];
  49. s = logspace(log10(range_cycles(1)),log10(range_cycles(end)),num_frex) ./ (2*pi*frex);
  50. wavtime = -2:1/EEG.srate:2;
  51. half_wave = (length(wavtime)-1)/2;
  52. % FFT parameters
  53. nWave = length(wavtime);
  54. nData = EEG.pnts;
  55. nConv = nWave + nData - 1;
  56. % Loop over channels
  57. channels = chanlabels(1:128);
  58. % initialize output time-frequency data
  59. tf = zeros(length(frex),EEG.pnts,EEG.trials,length(channels));
  60. % loop over frequencies
  61. for fi=1:length(frex)
  62. % create wavelet and get its FFT
  63. % the wavelet doesn't change on each trial...
  64. wavelet = exp(2*1i*pi*frex(fi).*wavtime) .* exp(-wavtime.^2./(2*s(fi)^2));
  65. waveletX = fft(wavelet,nConv);
  66. waveletX = waveletX ./ max(waveletX);
  67. % loop over channels
  68. for ci=1:length(channels)
  69. channel2use = channels{ci};
  70. % now loop over trials...
  71. for triali=1:EEG.trials
  72. dataX = fft(squeeze(EEG.data(strcmpi(channel2use,{EEG.chanlocs.labels}),:,triali)), nConv);
  73. % run convolution
  74. as = ifft(waveletX .* dataX);
  75. as = as(half_wave+1:end-half_wave);
  76. % put power data into big matrix
  77. tf(fi,:,triali,ci) = abs(as).^2;
  78. end
  79. end
  80. end
  81. %% baseline normalise
  82. tf_bslnorm = tf;
  83. % define baseline
  84. baseline_window = [-400 -100];
  85. % convert baseline time into indices
  86. baseidx = reshape( dsearchn(EEG.times',baseline_window(:)), [],2);
  87. %loop over trials
  88. for triali=1:EEG.trials
  89. %loop over channels
  90. for channeli=1:length(channels)
  91. activity = tf_bslnorm(:,:,triali,channeli);
  92. baseline = mean(tf_bslnorm(:,baseidx(1):baseidx(2),triali,channeli),2);
  93. % decibel
  94. tf_bslnorm(:,:,triali,channeli) = 10*log10( bsxfun(@rdivide, activity, baseline) );
  95. end
  96. end
  97. %% trim data around each trial's RT or SSD
  98. % go trials - we lock to fastest RT and look before
  99. % stop trials - we lock to the SSRT (relative to SSD) and look before
  100. timelim = (10*32)/1024; % 312.5ms(ish) = 320 samples = 10 bins of 32 samples each
  101. go_toi_lims = [-timelim 0]; % always this much pre RT; Stop is more complicated
  102. stop_toi_lims = [-timelim 0]; % always this much pre SSD+SSRT
  103. go_bin_times = 1:binsize_pnts:diff(go_toi_lims)*EEG.srate+1;
  104. stop_bin_times = 1:binsize_pnts:diff(stop_toi_lims)*EEG.srate+1;
  105. go_times = go_toi_lims(1):1/EEG.srate:go_toi_lims(2);
  106. stop_times = stop_toi_lims(1):1/EEG.srate:stop_toi_lims(2);
  107. % tf_Epoch = zeros(length(frex),round(diff(toi_lims)*EEG.srate),size(tf,3),length(channels));
  108. tf_Epoch = cell(1,size(tf,3));
  109. tf_Epoch_bslnorm = cell(1,size(tf_bslnorm,3));
  110. % snap ssrt to nearest sample to avoid unequal numbers of datapoints
  111. subj_ssrt = EEG.times(min(find(EEG.times>=subj_ssrt*1000)))/1000;
  112. for t = 1:EEG.trials
  113. switch char(EEG.epoch(t).eventtype)
  114. case 'go'
  115. tle = min([str2num(char(EEG.epoch(t).eventleft_rt)) str2num(char(EEG.epoch(t).eventright_rt))]);
  116. toi_lims = go_toi_lims;
  117. case 'stop'
  118. tle = str2num(char(EEG.epoch(t).eventssd)) + subj_ssrt;
  119. toi_lims = stop_toi_lims;
  120. end
  121. % snap tle to closest sample
  122. tle = EEG.times(min(find(EEG.times>=tle*1000))) / 1000;
  123. % catch missing response trials
  124. if isempty(tle)
  125. tf_Epoch{t} = NaN(size(tf,1),round(diff(toi_lims)*EEG.srate),1,size(tf,4));
  126. tf_Epoch_bslnorm{t} = NaN(size(tf,1),round(diff(toi_lims)*EEG.srate),1,size(tf,4));
  127. else
  128. this_toi = min(find(EEG.times/1000 >= tle+toi_lims(1))):min(find(EEG.times/1000 >= tle+toi_lims(2))-1);
  129. tf_Epoch{t} = tf(:,this_toi,t,:);
  130. tf_Epoch_bslnorm{t} = tf_bslnorm(:,this_toi,t,:);
  131. end
  132. end
  133. %% catch any issues with time-locking events
  134. if length(unique(cell2mat(cellfun(@size,tf_Epoch,'UniformOutput',false)))) ~= 4
  135. error('Issue with number of time-points in tle')
  136. end
  137. %% calculate beta burst stuff
  138. numBursts = cell(size(tf,3),length(channels));
  139. ampBursts = cell(size(tf,3),length(channels));
  140. volBursts = cell(size(tf,3),length(channels));
  141. durBursts = cell(size(tf,3),length(channels));
  142. meanBetaPower = cell(size(tf,3),length(channels));
  143. for trialNr=1:size(tf,3) % Loop over single trials
  144. fprintf('Processing trial %d\n',trialNr);
  145. if sum(isnan(tf_Epoch{trialNr})) > 0
  146. continue;
  147. end
  148. for channelNr=1:length(channels) % Loop over single channels
  149. % Extract the correct trial and channel
  150. tf_Epoch_OneTrial = tf_Epoch{trialNr}(:,:,:,channelNr);
  151. tf_Epoch_OneTrial_bslnorm = tf_Epoch_bslnorm{trialNr}(:,:,:,channelNr);
  152. %% 4. Extract Beta burst rate and amplitude
  153. tf_Epoch_OneTrial_BurstDetection = tf_Epoch_OneTrial;
  154. % Calculate local maxima in the longer time-frequency power matrix
  155. % (this will be a matrix of 0 and 1, where 1 are the local maxima)
  156. LocalMaxima_long = imregionalmax(tf_Epoch_OneTrial_BurstDetection);
  157. % Calculate one threshold for bursts over the whole matrix
  158. Threshold_OneTrial = median(tf_Epoch_OneTrial(:))*2;
  159. % Find the location of local maxima
  160. [LocalMaxima_row, LocalMaxima_col] = find(LocalMaxima_long==1);
  161. % Find local maxima that are smaller than the threshold and set
  162. % those to 0, leaving the local maxima larger than the threshold at 1
  163. for i=1:length(LocalMaxima_row)
  164. if tf_Epoch_OneTrial(LocalMaxima_row(i),LocalMaxima_col(i))<Threshold_OneTrial
  165. LocalMaxima_long(LocalMaxima_row(i),LocalMaxima_col(i))=0;
  166. end
  167. end
  168. % Now we want to count the number of bursts within each bin over
  169. % all frequencies
  170. % Initialise variables
  171. bintimes = 1:binsize_pnts:size(tf_Epoch_OneTrial,2)+1;
  172. tmpnumBursts = [];
  173. tmpampBursts = [];
  174. % Loop over all bins
  175. for i=1:length(bintimes)-1
  176. binStart = bintimes(i);
  177. binEnd = bintimes(i+1)-1;
  178. tmpnumBursts(i)=sum(sum(LocalMaxima_long(:,binStart:binEnd)));
  179. tmpampBursts(i)=mean(nonzeros(LocalMaxima_long(:,binStart:binEnd).*tf_Epoch_OneTrial(:,binStart:binEnd)));
  180. if isnan(tmpampBursts(i))
  181. tmpampBursts(i) = 0;
  182. end
  183. end
  184. % Update big variable
  185. numBursts{trialNr,channelNr} = tmpnumBursts;
  186. ampBursts{trialNr,channelNr} = tmpampBursts;
  187. %% 5. Calculate Beta burst volume and duration
  188. % Now we want to calculate the volume under the bursts in each time
  189. % bin. We will take the sum of the volume of all bursts in one time bin.
  190. % First we need to create a matrix with all datapoints that are
  191. % smaller than the threshold = 0, so that just the power values of
  192. % the bursts are left
  193. tf_Epoch_OneTrial_Burst=tf_Epoch_OneTrial;
  194. tf_Epoch_OneTrial_Burst(tf_Epoch_OneTrial<Threshold_OneTrial)=0;
  195. % Here we extract burst duration
  196. tmpburstduration = double(LocalMaxima_long); % to fill in with duration values
  197. [burst_ix, burst_iy] = find(LocalMaxima_long); % find bursts first
  198. for bi = 1:length(burst_ix)
  199. tmpfreqburst = tf_Epoch_OneTrial_Burst(burst_ix(bi),:); % extract only peak burst freq
  200. tmpbwlabel = bwlabel(tmpfreqburst); % cluster bursts in that frequency
  201. tmpburstduration(burst_ix(bi),burst_iy(bi)) = sum(tmpbwlabel == tmpbwlabel(burst_iy(bi))); % count time-points within that burst at peak freq
  202. end
  203. % Now we need to loop over each frequency in each time bin and
  204. % calculate the AUC of each frequency in each time bin and then sum
  205. % over all frequencies for each time bin. This gives us the volume
  206. % for each time bin. Here we ignore differnt bursts and just add
  207. % up the volume of all bursts in one time bin.
  208. % Re-define start numbers
  209. burstSize=[]; % initialise matrix
  210. tmpdurBurst=[];
  211. nFreqs=size(tf_Epoch_OneTrial_Burst,1); % number of frequencies
  212. % Loop over all bins
  213. for i=1:length(bintimes)-1
  214. binStart = bintimes(i);
  215. binEnd = bintimes(i+1)-1;
  216. % Extract mean burst duration for current bin
  217. tmpdurBurst(i) = mean(nonzeros(tmpburstduration(:,binStart:binEnd))) / EEG.srate;
  218. if isnan(tmpdurBurst(i))
  219. tmpdurBurst(i) = 0;
  220. end
  221. % Extract data of current bin
  222. dataOneBin=tf_Epoch_OneTrial_Burst(:,binStart:binEnd);
  223. oneBinAUC=[]; % initialise matrix for every bin
  224. for freq=1:nFreqs % Loop over all frequencies
  225. dataOneBinOneFreq=dataOneBin(freq,:); % Extract data from current frequency in current time bin
  226. dataOneBinOneFreqBurst=dataOneBinOneFreq(find(dataOneBinOneFreq>0)); % Find datapoints that are above the threshold
  227. dataOneBinOneFreqAUC=trapz(dataOneBinOneFreqBurst); % Calculate AUC for datapoints above the threshold for current frequency
  228. oneBinAUC=[oneBinAUC,dataOneBinOneFreqAUC]; % Vector with all AUCs for current bin
  229. end
  230. sumOneBinAUC=sum(oneBinAUC); % Sum up all AUCs of each frequency for current bin
  231. burstSize=[burstSize,sumOneBinAUC]; % Vector with volume of bursts for each bin
  232. end
  233. % Save to correct variable
  234. volBursts{trialNr,channelNr} = burstSize;
  235. durBursts{trialNr,channelNr} = tmpdurBurst;
  236. %% 6. Calculate Averaged Beta Power
  237. % Average over all frequencies
  238. tf_Epoch_OneTrial_bslnorm_avg = mean(tf_Epoch_OneTrial_bslnorm,1);
  239. % Initialise variables
  240. BetaPower=[]; % initialise matrix
  241. % Loop over all bins
  242. for i=1:length(bintimes)-1
  243. binStart = bintimes(i);
  244. binEnd = bintimes(i+1)-1;
  245. BetaPower(1,i)=mean(tf_Epoch_OneTrial_bslnorm_avg(:,binStart:binEnd),2); % Average over power values from current time bin
  246. end
  247. % Save to correct variable
  248. meanBetaPower{trialNr,channelNr} = BetaPower;
  249. end %End of single channel
  250. end %End of single trial loop
  251. savefilename = sprintf('%s_beta_features.mat',subjname);
  252. save(savefilename,'meanBetaPower','durBursts','volBursts','numBursts','ampBursts','EEG','go_times','go_bin_times','stop_times','stop_bin_times');
  253. % %% plot some stuff for verification
  254. % trials2plot = {'go','stop'};
  255. %
  256. % for t2p = 1:length(trials2plot)
  257. %
  258. % switch trials2plot{t2p}
  259. % case 'go'
  260. % binlims = round(go_times(go_bin_times)*1000);
  261. % case 'stop'
  262. % binlims = round(stop_times(stop_bin_times)*1000);
  263. % end
  264. %
  265. % datlen = length(binlims) - 1;
  266. %
  267. % trials2use = find(strcmp({EEG.event.type},trials2plot{t2p}));
  268. % trialbeta = meanBetaPower(trials2use,:);
  269. % % trialbeta = volBursts(trials2use,:);
  270. % trialbetamat = zeros(size(trialbeta,1),size(trialbeta,2),datlen);
  271. %
  272. % for trialNr = 1:length(trials2use)
  273. % for channelNr = 1:length(channels)
  274. % if isempty(trialbeta{trialNr,channelNr})
  275. % trialbetamat(trialNr,channelNr,:) = nan(1,datlen);
  276. % else
  277. % trialbetamat(trialNr,channelNr,:) = trialbeta{trialNr,channelNr};
  278. % end
  279. % end
  280. % end
  281. %
  282. % figure;title(sprintf('%s trials',trials2plot{t2p}));
  283. % plotlim = max(max(squeeze(nanmean(abs(trialbetamat),1)),[],1));
  284. % for i = 1:datlen
  285. % subplot(2,datlen/2,i);
  286. % topoplot(squeeze(nanmean(trialbetamat(:,:,i),1)),EEG.chanlocs,'maplimits',[-plotlim plotlim])
  287. % title(sprintf('%dms - %dms',binlims(i),(binlims(i+1))));
  288. % end
  289. %
  290. % end

beta_features_extraction.m, no license · at the source

Overview

  1. School of Sport, Exercise and Rehabilitation Sciences, College of Life and Environmental Sciences, University of Birmingham, Birmingham B15 2TT, United Kingdom
  2. Centre for Human Brain Health, University of Birmingham, Birmingham B15 2TT, United Kingdom
  3. School of Psychology, College of Life and Environmental Sciences, University of Birmingham, Birmingham B15 2TT, United Kingdom
  4. Department of Biological and Medical Psychology, University of Bergen, Bergen 5009, Norway
Institutions: University of Birmingham (United Kingdom); University of Bergen (Norway)
Dates: received 21 June 2025; accepted 17 February 2026; published online 25 March 2026; in print 25 March 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1523/jneurosci.1151-25.2026 · PMID 41735056 · PMCID PMC13022523 · OpenAlex W7131261368
Open access: hybrid, a free copy (OpenAlex)
Status: code verified (how the code is found and verified)
Categories: EEG (modality), other (modality), human (organism), healthy (population)
Methods: Spectral & time-frequency, Statistics, Smoothing, state filtering, decompositions, Preprocessing, Evoked potentials, Complexity, Physiology & signal measures
Keywords: β-bursts, β-oscillations, electroencephalography, impulse control, response inhibition
MeSH: Aging*, Beta Rhythm*, Inhibition, Psychological*, Neural Inhibition*, Aged, Electroencephalography, Electromyography, Female, Humans, Linear Models, Male, Middle Aged, Muscle, Skeletal, Psychomotor Performance (* major topic)
Journal subjects: Behavioral/Cognitive
Topic: Neural and Behavioral Psychology Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: HRT (Les Rhoades Memorial PhD Studentship)
Citations: cited by 1 paper (Europe PMC); 68 references in the paper

Abstract

Inhibitory control is essential for adaptive behavior and declines with age, yet the underlying neural dynamics remain poorly understood. The β-rhythm (15–29 Hz) is associated with inhibitory signaling within the frontobasal ganglia network. Recent evidence suggests that transient β-bursts support inhibitory performance but are often masked by conventional trial-averaged β-power analyses. A recently developed analysis approach, combining linear mixed-effects modeling and threshold-free cluster enhancement (LMM–TFCE), was applied to examine trial-by-trial β-bursting activity associated with response inhibition and initiation in older adults. Twenty healthy older adults (nine females) performed a bimanual anticipatory response inhibition task, while electroencephalography and electromyography were recorded to capture β-activity (β-burst rate/volume; averaged β-power) and muscle bursting dynamics, respectively. Our analysis revealed distinct β-bursting signatures absent in averaged β-power data. During bimanual response inhibition, parieto-occipital β-bursting preceded bilateral frontocentral β-bursting, consistent with initial attentional processes prior to broader inhibitory network engagement. Moreover, a link was established between right sensorimotor β-bursting and muscle bursts during stopping, indicating rapid cortical suppression of initiated motor output. β-burst volume proved uniquely sensitive to response withholding, with early left frontal activity supporting preparatory suppression mechanisms. A further link between increased parieto-occipital β-burst volume and muscle bursts aligned with top–down inhibitory signaling to support visuomotor stabilization and prevent premature response release. These results underscore the sensitivity of β-bursting to both the timing and context of inhibitory demands in healthy aging. Future research will help establish the potential of β-bursting, combined with LMM–TFCE analysis, as a clinically relevant marker of impulse control dysfunction.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 7 matches between paragraphs and lines of code.

sourceforge.net/faster

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: the link answers
Software Heritage: not checked
Found in: the text, “Electroencephalography”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
  • 30 September 2026: the link answers (HTTP 200)

OSF 4yu9n

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Languages: MATLAB (30)
Size: 112 files, 30 scripts
Software Heritage: not checked
Found in: “Code accessibility”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
  • 30 September 2026: the link answers (HTTP 200)
30 files
At the source: osf.io/4yu9n/

Code accessibility

The custom MATLAB scripts used in the current study are available on the Open Science Framework: https://osf.io/4yu9n/.

Reproduced under the paper's license (CC BY), from the paper cited above.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 30 scripts, each with its path and the digest of its content;
  • 7 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data Availability

The anonymized datasets analyzed in the current study are available on the Open Science Framework: https://osf.io/4yu9n/.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 30 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 5 keywords, 14 MeSH terms, 1 funder, 68 references.

Cite

This paper

Warden, A. C. M., Cruse, D., McAllister, C. J., & MacDonald, H. J. (2026). β-Bursting as a Sensitive Neural Marker of Inhibitory Control in Healthy Older Adults: A Linear Mixed-Effects Modeling and Threshold-Free Cluster Approach. The Journal of neuroscience : the official journal of the Society for Neuroscience, 46(12), e1151252026. https://doi.org/10.1523/jneurosci.1151-25.2026

BibTeX

@article{warden2026bursting,
author = {Warden, Aliya C. M. and Cruse, Damian and McAllister, Craig J. and MacDonald, Hayley J.},
title = {{β-Bursting as a Sensitive Neural Marker of Inhibitory Control in Healthy Older Adults: A Linear Mixed-Effects Modeling and Threshold-Free Cluster Approach}},
journal = {The Journal of neuroscience : the official journal of the Society for Neuroscience},
year = {2026},
month = mar,
volume = {46},
number = {12},
pages = {e1151252026},
publisher = {Society for Neuroscience},
issn = {0270-6474},
doi = {10.1523/jneurosci.1151-25.2026},
url = {https://doi.org/10.1523/jneurosci.1151-25.2026},
pmid = {41735056},
pmcid = {PMC13022523}
}

RIS

TY - JOUR
AU - Warden, Aliya C. M.
AU - Cruse, Damian
AU - McAllister, Craig J.
AU - MacDonald, Hayley J.
TI - β-Bursting as a Sensitive Neural Marker of Inhibitory Control in Healthy Older Adults: A Linear Mixed-Effects Modeling and Threshold-Free Cluster Approach
T2 - The Journal of neuroscience : the official journal of the Society for Neuroscience
J2 - J Neurosci
PY - 2026
DA - 2026/03/25
VL - 46
IS - 12
SP - e1151252026
SN - 0270-6474
PB - Society for Neuroscience
DO - 10.1523/jneurosci.1151-25.2026
UR - https://doi.org/10.1523/jneurosci.1151-25.2026
LA - en
ER -

CSL-JSON

{
"id": "10.1523/jneurosci.1151-25.2026",
"type": "article-journal",
"title": "β-Bursting as a Sensitive Neural Marker of Inhibitory Control in Healthy Older Adults: A Linear Mixed-Effects Modeling and Threshold-Free Cluster Approach",
"container-title": "The Journal of neuroscience : the official journal of the Society for Neuroscience",
"author": [
{
"family": "Warden",
"given": "Aliya C. M."
},
{
"family": "Cruse",
"given": "Damian"
},
{
"family": "McAllister",
"given": "Craig J."
},
{
"family": "MacDonald",
"given": "Hayley J."
}
],
"container-title-short": "J Neurosci",
"volume": "46",
"issue": "12",
"page": "e1151252026",
"DOI": "10.1523/jneurosci.1151-25.2026",
"PMID": "41735056",
"PMCID": "PMC13022523",
"ISSN": "0270-6474",
"publisher": "Society for Neuroscience",
"URL": "https://doi.org/10.1523/jneurosci.1151-25.2026",
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
25
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41531-025-01207-5 [code]
Muscle bursting and corticomotor excitability mark impaired impulse control in Parkinson's disease.
Journal: NPJ Parkinson's disease
In common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, 14 references, 4 authors
[2] doi:10.1371/journal.pbio.3003635 [code]
A cortico-subthalamic circuit rapidly engages and releases inhibition of specific movements depending on the environmental context.
Journal: PLoS biology
In common: EEGLAB, Signal Processing Toolbox, Image Processing Toolbox, 1 other tool, EEG, 17 references
[3] doi:10.7554/elife.79667 [code]
Right inferior frontal gyrus damage is associated with impaired initiation of inhibitory control, but not its implementation.
Journal: eLife
In common: EEGLAB, Statistics and Machine Learning Toolbox, 16 references
[4] doi:10.1016/j.isci.2026.116034
Distinct temporal patterns of beta bursts differentiate successful and failed movement cancellation.
Journal: iScience
In common: 16 references
[5] doi:10.1523/jneurosci.0886-23.2023 [code]
Bursting with Potential: How Sensorimotor Beta Bursts Develop from Infancy to Adulthood.
Journal: The Journal of neuroscience : the official journal of the Society for Neuroscience
In common: EEGLAB, Signal Processing Toolbox, Statistics and Machine Learning Toolbox, EEG, 13 references
[6] doi:10.1111/psyp.14115 [code]
Self-regulation of the brain's right frontal Beta rhythm using a brain-computer interface.
Journal: Psychophysiology
In common: EEG, 14 references
[7] doi:10.1016/j.neuroimage.2025.121288
Parietal cortex is recruited by frontal and cingulate areas to support action monitoring and updating during stopping.
Journal: NeuroImage
In common: 14 references
[8] doi:10.1162/imag_a_00391 [code]
Surfing beta burst waveforms to improve motor imagery-based BCI.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: EEG, 11 references
[9] doi:10.1162/imag_a_00570 [code]
Transcallosal generation of phase-aligned beta bursts underlies TMS-induced interhemispheric inhibition.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, other, EEG, 10 references
[10] doi:10.1523/eneuro.0166-24.2025 [code]
Failed Stopping Transiently Suppresses the Electromyogram in Task-Irrelevant Muscles.
Journal: eNeuro
In common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, other, 8 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Add the badge to the code's README

OSCR: the badge of this paper

If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.

Markdown
<!-- oscr-badge:start -->
[![OSCR](https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026.svg)](https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026.svg
   :target: https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026
   :alt: OSCR

.. oscr-badge:end
HTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026"><img src="https://openscicode.org/badge/doi/10.1523/jneurosci.1151-25.2026.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->

If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.

Report a mismatch between the code and the paper · Report a code error (signed in)

Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.

Report a reproduction failure (signed in)

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.