Moderate electrical muscle stimulation during voluntary movement does not disrupt the sense of agency or ownership.
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Markdown · 262 lines · 17 KB · CC-BY-4.0
- # Project Title: Moderate Electrical Muscle Stimulation During Voluntary Movement Does Not Disrupt the Sense of Agency or Ownership
- We investigated the sense of agency, sense of ownership, and electroencephalogram (EEG) in situations where participants moved their wrists voluntarily, or where electrical muscle stimulation (EMS) was applied either during voluntary movement or at rest. The EMS intensity was varied from the motor threshold to the maximum level at which participants did not experience pain or discomfort.
- <!-- TABLE OF CONTENTS -->
- ## Table of Contents
- - [Project Title](#project-title)
- - [Table of Contents](#table-of-contents)
- - [About the Project](#about-the-project)
- - [License](#license)
- - [Attribution and academic use](#attribution-and-academic-use)
- - [File structure and overview](#file-structure-and-overview)
- <!-- ABOUT THE PROJECT -->
- ## About the Project
- **Date**: November, 2025
- **Researcher(s)**:
- - Fumina Mori ([email hidden])
- - Dai Yanagihara ([email hidden])
- ### License
- The code in this project is released under CC BY-ND.
- ### Attribution and academic use
- For academic use, use presistent data from DOI. This is a persistent copy of the data. Version number refer to the date. Please cite:
- Mori, F. (2025). Moderate Electrical Muscle Stimulation During Voluntary Movement Does Not Disrupt the Sense of Agency or Ownership (Version v2025.11.4) [Data set]. Zenodo. (https://doi.org/10.5281/zenodo.17519975)
- <!-- FILE STRUCTURE AND OVERVIEW -->
- # File structure and overview
- ## File tree
- ├── 01/ to 18/ (Common structure)
- │ └── 001/
- │ ├── con1_timer.mat
- │ ├── con21_timer.mat
- │ ├── myTimer_task.mat
- │ ├── 002/, 003/, 004/
- │ ├── con1_timer.mat
- │ ├── con22_timer.mat
- │ ├── con31_timer.mat
- │ └── myTimer_task.mat
- │ ├── GonioData.mat
- │ ├── PS_dB.mat
- │ ├── run_001.mat ... run_004.mat
- ├── myScores.mat
- ├── participants_list.csv
- └── program/
- ├── 1_preprocess
- ├── 2_survey
- ├── 3_EEG
- ├── 4_movement
- ├── dataset
- └── use_ID_ch.mat
- ## overview
- ### file 01 to 18
- Each file contains data for each participant.
- #### file 001 to 004
- Each file contains the timing of the cue in each run.
- - con1.mat: timing of the resting condition
- - con21.mat: timing of the V condition, where participants moved their wrist voluntarily. EMS was not applied.
- - con22.mat: timing of the V+WS/V+MS/V+SS condition, where participants moved their wrist voluntarily, and EMS was applied at the same time.
- - con31.mat: timing of the WS/MS/SS condition, where EMS was applied during resting.
- All .mat files are created by classify\_trigger.m. For details, please refer to the relevant section.
- Abbreviations: V, voluntary movement; WS, weak stimulation; MS, medium stimulation; SS, strong stimulation; EMS, electrical muscle stimulation.
- #### GonioData.mat
- This file contains the value of the goniometer.
- - $degTarget$ is the maximum angle of the palmar flexion. The calculation method is explained later.
- - $F$ is the 10-s data of the goniometer and a two-row matrix.
- - $nFrq$ is the sampling rate.
- How to calculate $degTarget$
- - The data in the first row reflects wrist abduction and adduction, while the data in the second row reflects wrist flexion and extension. The data in the second row is used in the research. The row value of the goniometer was transformed into the angle by the following formula:
- $a = (1.18-0.01)/90$,
- $b = 0.01$,
- $degTarget = -(\bar{y}-b)/a$,
- where $a$ and $b$ are the goniometer-specific values written on the goniometer's package, and $\bar{y}$ is the mean value in the second-row of F.
- #### PS\_dB.mat
- This file contains the information of EEG power created by calculate\_PSD.m. For details, please refer to the relevant section.
- #### run001.mat ... run004.mat
- This file contains the value of the EEG.
- - $F$ is a matrix. The first to 11th rows are EEG data. Each row corresponds to an EEG channel (F3, Fz, F4, T3, C3, Cz, C4, T4, P3, Pz and P4). The 12th row is electro-oculography data. The 13th corresponds to wrist abduction and adduction. The 14th corresponds to wrist flexion and extension.
- - $myTimer\_cue$ contains the information of the timing of task and trial start. To determine which task or trial's start time that timing corresponds to, refer to the same row in $typeCue$.
- - $myTimer\_move$ contains the information of the timing when the participant moved their wrist voluntarily in the V+WS/V+MS/V+SS condition.
- - $nFrq$ is the sampling rate.
- - $typeCue$ contains the information of task or trial type.
- - 1: the start time of the resting condition
- - 2: the start time of the V or V+WS/V+MS/V+SS condition.
- - 21: the start time of each trial in the V condition.
- - 22: the start time of each trial in the V+WS/V+MS/V+SS condition.
- - 3: the start time of the WS/MS/SS condition.
- - 31: the start time of each trial in the WS/MS/SS condition.
- ### program
- #### 1_preprocess
- In analysis, we used the program in the following order:
- filter_EEG.m
- classify_trigger.m
- calculate_PSD.m
- select_ID.m
- make_dataset_PSD.m
- make_dataset_survayScore.m
- check_omitEpochNumber.m and check_omitEpochNumber_betweenConditioin.m is additional program to check the number of omitted epochs in detail.
- ##### calculate_PSD.m
- This program calculates the EEG power spectral density in dB units for each participant and saves it to PS_dB.mat.
- Note:
- This program utilizes trial start timing information; therefore, execute classify_trigger.m first. If you wish to analyze filtered data, execute filter_EEG.m beforehand.
- --Saved Variables--
- [eeg_PS_TimeFreqTrialMean]
- Each field contains the time-, frequency-band-, trial-averaged power spectral density for each condition. "con*" means the condition (con1: resting, con21: voluntary movement without EMS (V condition), con22: voluntary movement with EMS (V+WS/MS/SS condition), con31: EMS only (WS/MS/SS condition)). The matrices within each field correspond to EEG electrodes (rows 1-11) and the respective alpha (column 1) and beta (column 2) band.
- [eeg\_PS\_relative]
- The difference between the time-, frequency-band-, trial-averaged power spectral density for the seven conditions (V, V+WS/MS/SS, WS/MS/SS) and that for the resting state. The meaning of the field names and the structure of the matrices in each field are the same as for eeg_PS_TimeFreqTrialMean.
- ##### check_omitEpochNumber.m
- This program counts the number of omitted epoch. To count the epoch with body movement observed in the video, set omit_noise = 1. To count the epoch where EMS was not presented during voluntary movement, set omit_epoch_withoutEMS = 0. The number of omitted epoch is summarized in table "T".
- ##### check_omitEpochNumber_betweenConditioin.m
- This program compare the difference of tnumber of omitted epoch between conditions. Use this program after classify_trigger.m. Table variable "results_Friedman" stores the results of the Friedman test. Table variable "results_multcompare" stores the results of the multiple comparisons.
- ##### classify_trigger.m
- This program creates con\*\_timer.mat and myTimer\_task.mat.
- [con\*\_timer.mat]
- "con\*" means the condition (con1: resting, con21: voluntary movement without EMS (V condition), con22: voluntary movement with EMS (V+WS/MS/SS condition), con31: EMS only (WS/MS/SS condition)). This file contains the information of the start time for analysis per trial in each condition. The file is used when manually importing the trigger timing (start time for analysis per trial) after importing data into Brainstorm.
- [myTimer_task.mat]
- This file has the fields named "con\*". Each field contains the information of the start time for analysis per trial in each condition. The file is used in following analysis.
- [removal of the period with body movement]
- For each participant and each run, after confirming the period containing body movement, the information for that period was described as follows.
- t_noise.run\* = [ts_1, te_1; ...
- ts_2, te_2; ...
- ts_3, te_3];
- ts_n and te_n are the start and end times of the period containing the n-th body movement.
- If you want to omit the noisy period from the analysis, set the omit\_noise variable to 1.
- The presence of body movements was confirmed by reviewing the EEG data and video. The video is not publicly available due to concerns regarding the privacy of the participants.
- ##### filter_EEG.m
- This program applies a bandpass filter to the raw data from all participants across all runs in a single batch. It uses the bandpass function included in Brainstorm (https://neuroimage.usc.edu/brainstorm/Introduction), which must be installed beforehand.
- ##### make_dataset_PSD.m
- This program creates a dataset for analysis in .txt format, organized by frequency and channel. The text file contains a matrix where rows correspond to the selected participants and columns correspond to the task conditions (1: V, 2: V+WS, 3: WS, 4: V+MS, 5: MS, 6: V+SS, 7: SS).
- Note: This program utilizes the information of participants and channels to be evaluated, therefore execute select_ID_and_channel.m beforehand.
- ##### make_dataset_survayScore.m
- This program creates a dataset for analysis in .txt format, organized by the survey constructs. The text file contains a matrix where rows correspond to all participants and columns correspond to the task conditions (1: V, 2: V+WS, 3: WS, 4: V+MS, 5: MS, 6: V+SS, 7: SS).
- ##### select_ID_and_channel.m
- This program selects the participants and channels to be evaluated in the subsequent analysis. First, it excludes participants from each channel and frequency band whose power during voluntary movement exceeds that of their resting condition. Next, it omits participants who exhibited an outlier in one or more of the seven conditions. Finally, a Wilcoxon signed-rank test is performed to select channels where power decreased during voluntary movement compared to resting conditions.
- Note: This program utilizes the PSD data; therefore, execute calculate_PSD.m beforehand.
- The information about participants to be evaluated for each channel and for each band is saved as 'use_ID_ch.mat'. The .mat file contains 'ID_use'. 'ID_use' contains the frequency band field. This is an 18 × 11 matrix, where the row corresponds to the participant ID and the column to the EEG channel (F3, Fz, F4, T3, C3, Cz, C4, T4, P3, Pz, P4).'1' indicates that the corresponding participant be used in the subsequent analysis, while '0' indicates the opposite.
- #### 2_survey
- In analysis, we used the program in the following order:
- check_negativeCorrelation_ofScore.m
- check_differenceBetweenConditions
- check_correlation_surveyItems.m
- check_interaction_SoAandSoO.m
- scores_forInverseCorrelation.mat will be load in check_negativeCorrelation_ofScore.m.
- ##### check_correlation_surveyItems.m
- This program examines the correlations among the four items in the questionnaire. It calculates the correlation coefficient using a Linear Mixed Model. The statistical results are stored in table variable ResultSummary.
- ##### check_differenceBetweenConditions
- This program compare the difference of score between conditions. Use this program after make_dataset_surveyScore.m. Table variable "results_Friedman" stores the results of the Friedman test. Table variable "results_multcompare" stores the results of the multiple comparisons.
- ##### check_interaction_SoAandSoO.m
- This program performs the linear mixed-effects analysis to examine the differences in the decline of SoA and SoO scores. The statistical results are stored in table variable "statsTable".
- ##### check_negativeCorrelation_ofScore.m
- This program confirms that Q1 and Q2, and Q3 and Q4, exhibit negative correlation.
- It reads scores for each question from scores_forInverseCorrelation.mat, with 18 (ID) × 7 (condition) rows. It calculates the correlation coefficient using a Linear Mixed Model.
- The statistical results are stored in table variable ResultSummary.
- ##### scores_forInverseCorrelation.mat
- This file is load in check_negativeCorrelation_ofScore.m. The file contains variable named Condition, ID, q1, q2, q3, and q4. q1, q2, q3, and q4 corresponds to the score of Q1 to Q4 in the survey. Each variable contains 126(18(ID) × 7 (condition)) scores. To determine which ID and condition each row's value corresponds to, refer to the same row in the ID and Condition variables.
- #### 3_EEG
- In analysis, we used the program in the following order:
- correct_FDR_for_wilcoxon.m
- check_differenceFromResting.m
- correct_FDR_for_friedman.m
- check_PSD_betweenConditions.m
- ##### correct_FDR_for_wilcoxon.m
- This program performs a Wilcoxon signed-rank test and apply FDR to examine the differences in PSD between the resting state and each condition. It calculates FDR corrected q. To calculate z-score, effect size (r), and 95%CI, run "check_differenceFromResting.m". Q_matrix is a n_ch x n_condition matrix and contains corrected q.
- ##### check_differenceFromResting.m
- This program performs a Wilcoxon signed-rank test to examine the differences in PSD between the resting state and each condition. Table variable "resultsTable" stores the results of the test.
- ##### correct_FDR_for_friedman.m
- This program performs a Friedman test and apply FDR correction. It calculates FDR corrected q value (Q). To obtain chi2 value and Kendall's W, and to perform post hoc analysis, run "check_PSD_betweenConditions.m"
- ##### check_PSD_betweenConditions
- This program compare the difference of PSD between conditions. Use this program after make_dataset_PSD.m. Table variable "results_Friedman" stores the results of the Friedman test. Table variable "results_multcompare" stores the results of the multiple comparisons.
- #### 4_movement
- In analysis, we used the program in the following order:
- check_gonioData.m
- check_correlation_AngleCurrent.m
- compare_maxAngle.m
- check_cue2EMS_lag.m
- ##### check_correlation_AngleCurrent.m
- This program examines the correlation between the intensity of EMS and the angle of the wrist during movement induced by EMS using Linear Mixed Model.
- ##### check_cue2EMS_lag.m
- This prgoram calculate the average and standard deviation of the time lag between the cue and EMS presentation in V+WS, V+MS and V+SS condition in each participant. The results are stored in 18 (ID) × 3 (condition) matrix in result_lag.txt. Each row corresponds to a participant. The first column is the V+WS condition, the second column is the V+MS condition, and the third column is the V+SS condition. Each element represents the average value (standard deviation) of the time lag between the cue and EMS presentation.
- ##### check_gonioData.m
- This program performs averaging of the wrist angle from 100 ms before the cue to 2000 ms after the cue for each condition. The baseline period is the 100 ms before the cue.
- The averaged waveform (gonio_all) and maximum angle (gonio_max) are saved in gonio_data.mat. gonio_all is a 7(condition)×2101(number of samples)×18(ID) matrix. gonio_max is a 7(condition)×18(ID) matrix.
- Figure 1 shows the wrist angle changes under the V condition. Figure 2 shows the wrist angle changes under the V+WS, V+MS, and V+SS conditions. Figure 3 shows the wrist angle changes under the WS, MS, and SS conditions.
- ##### compare_maxAngle.m
- This program performs a Wilcoxon signed-rank test to examine the differences in PSD between V vs. V+WS, V vs. V+MS or V vs. V+ SS condition. Use this program after check_gonioData.m Table variable "resultsTable" stores the results of the test.
- ##### Current_Angle_List.mat
- Variable tbl contains the current values for weak, medium, and strong EMS, along with the maximum angle of wrist movement induced by each EMS level during rest. The data are listed in order of participants' ID and EMS intensity (weakest to strongest).
- ##### gonio_data.mat
- output of check_gonioData.m. The averaged waveform (gonio_all) and maximum angle (gonio_max) are saved in gonio_data.mat. gonio_all is a 7(condition)×2101(number of samples)×18(ID) matrix. gonio_max is a 7(condition)×18(ID) matrix.
- ##### result_lag.txt
- output of check_cue2EMS_lag. Each row corresponds to a participant. The first column is the V+WS condition, the second column is the V+MS condition, and the third column is the V+SS condition. Each element represents the average value (standard deviation) of the time lag between the cue and EMS presentation.
- #### dataset
- Out put of 'make_SPSSdataset_PSD.m' and 'make_SPSSdataset_survayScore.m.' are stored.
- #### use_ID.mat
- Out put of 'select_ID.m' in 1_preprocess
- ### participants_list.csv
- This file contains the information of the participants' ID, age, sex and timing of the noisy period with body movement.
- To detect the noisy period, we used the video, however, the video is not public for the protection of personal information.
- ### myScores.mat
- This file has a variable with the same name ($myScores$).
- $myScores$ has four fields named "SoA", "SoO", "Fatigue" and "Emotion."
- Each field has a matrix. Rows correspond to all participants, and columns correspond to the task conditions (1: V, 2: V+WS, 3: WS, 4: V+MS, 5: MS, 6: V+SS, 7: SS).
- Abbreviations: SoA, sense of agency; SoO, sense of ownership, V, voluntary movement; WS, weak stimulation; MS, medium stimulation; SS, strong stimulation.
README.md, under CC-BY-4.0 · at the source
Overview
- Department of Life Sciences, Graduate School of Arts and Sciences, The University of Tokyo, Building 9, 3-8-1 Komaba, Meguro-ku, Tokyo, 153-8902 Japan
- RIKEN Center for Brain Science, 2-1 Hirosawa, Wako City, Saitama 351-0198 Japan
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repository
Its files are read in the Code ↔ Paper reader above.
Zenodo 18678186
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
1 file
- README.md, Text, 262 lines
The paper's code and data availability statement is in the Data section.
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:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 0 scripts, each with its path and the digest of its content;
- no match between paragraphs and code yet;
- 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.
Code and data availability statement
The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to the authors' code: Zenodo 18678186
Read it in the paper: doi.org/10.1038/s41598-026-57714-9.
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, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 2 authors, 8 keywords, 12 MeSH terms, 1 funder, 32 references.
Cite
This paper
Mori, F., & Yanagihara, D. (2026). Moderate electrical muscle stimulation during voluntary movement does not disrupt the sense of agency or ownership. Scientific reports, 16(1), 27488. https://
BibTeX
@article{mori2026moderat
author = {Mori, Fumina and Yanagihara, Dai},
title = {{Moderate electrical muscle stimulation during voluntary movement does not disrupt the sense of agency or ownership}},
journal = {Scientific reports},
year = {2026},
month = jun,
volume = {16},
number = {1},
pages = {27488},
publisher = {Nature Publishing Group},
issn = {2045-2322},
doi = {10.1038/
url = {https://
pmid = {42304073},
pmcid = {PMC13534502}
}
RIS
TY - JOUR
AU - Mori, Fumina
AU - Yanagihara, Dai
TI - Moderate electrical muscle stimulation during voluntary movement does not disrupt the sense of agency or ownership
T2 - Scientific reports
J2 - Sci Rep
PY - 2026
DA - 2026/
VL - 16
IS - 1
SP - 27488
SN - 2045-2322
PB - Nature Publishing Group
DO - 10.1038/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1038/
"type": "article-journal",
"title": "Moderate electrical muscle stimulation during voluntary movement does not disrupt the sense of agency or ownership",
"container-title": "Scientific reports",
"author": [
{
"family": "Mori",
"given": "Fumina"
},
{
"family": "Yanagihara",
"given": "Dai"
}
],
"container-title-short":
"volume": "16",
"issue": "1",
"page": "27488",
"DOI": "10.1038/
"PMID": "42304073",
"PMCID": "PMC13534502",
"ISSN": "2045-2322",
"publisher": "Nature Publishing Group",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
16
]
]
}
}
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.1162/imag.a.1255
- Beta bursts spatiotemporal profiles and their links to hemodynamic responses during movement and rest.Journal: Imaging neuroscience (Cambridge, Mass.)In common: EEG, 2 references
- [2] doi:10.1093/pnasnexus/pgag220 [code]
- Neural mechanisms of awareness of action.Journal: PNAS nexusIn common: EEG, 1 reference
- [3] doi:10.1111/nyas.70314 [code]
- Neural Oscillatory Dynamics in Joint Action: Dissociable Roles of Entrainment and Beta Modulation in Self-Other Integration.Journal: Annals of the New York Academy of SciencesIn common: EEG, 1 reference
- [4] doi:10.1111/psyp.70280 [code]
- Spatial Distance and Temporal Attentional Focus Modulate Voluntary Action Preparation and Awareness.Journal: PsychophysiologyIn common: EEG, 1 reference
- [5] doi:10.1523/eneuro.0283-26.2026 [code]
- A Cortico-Basal Ganglia-Thalamic Network Model Linking Intermittent Postural Control to Sway-Related Beta-Band Oscillations.Journal: eNeuroIn common: EEG, 1 reference
- [6] doi:10.1162/imag.a.1359 [code]
- Distinct roles of brain network flexibility in motor learning across age.Journal: Imaging neuroscience (Cambridge, Mass.)In common: EEG, 1 reference
- [7] doi:10.1038/s41597-026-07809-9 [code]
- EEG-based brain-computer interface (BCI) dataset for directional word recognition.Journal: Scientific dataIn common: EEG, 1 reference
- [8] doi:10.1007/s10548-026-01240-4 [code]
- Back to the Future of qEEG: Lifespan Normative Modeling of Spectral Ratios and Functional Indices with Potential Applications to Therapeutic Monitoring.Journal: Brain topographyIn common: EEG, 1 reference
- [9] doi:10.1038/s41467-026-75435-5 [code]
- Sensory-guided human-machine joint learning accelerates the acquisition of motor imagery brain computer interface control.Journal: Nature communicationsIn common: EEG, 1 reference
- [10] doi:10.1186/s12984-026-02041-3 [code]
- Mental tasks induce common modulations of oscillations in cortex and spinal cord.Journal: Journal of neuroengineering and rehabilitationIn common: EEG, 1 reference
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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 0 scripts, and 0 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:7791c1090959d534…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
