Muscle electromyographic activity normalized to maximal muscle activity, not to Mmax, better represents voluntary activation
Joanna Diong1,2 Kenzo Kishimoto3 Jane E Butler2,4 Martin E Héroux2,4
1School of Medical Sciences, Faculty of Medicine and Health, The University of Sydney, New South Wales, Australia
2Neuroscience Research Australia (NeuRA), Sydney, New South Wales, Australia
3School of Health Sciences, Faculty of Medicine and Health, The University of Sydney, New South Wales, Australia
4School of Medical Sciences, University of New South Wales, New South Wales, Australia
Diong J, Kishimoto K, Butler JE, Héroux ME (2022) Muscle electromyographic activity normalized to maximal muscle activity, not to Mmax, better represents voluntary activation. PLOS One (in press).
The protocol for this study was registered on the Open Science Framework (OSF): https://osf.io/7f3nk
This study is a secondary analysis of data from a related study, which is under the same registered protocol.
The description, data and code of the related study are available from the GitHub repository:
https://github.com/joannadiong/Kishimoto_et_al_2021_JAP
Raw data to generate Fig 1 are available in the zipped folder "sub22.zip" from the Open Science Foundation repository https://osf.io/wt7z8/ in these formats:
- Spike2 .smr
- Matlab .mat
- Text .txt
Unzip the subject data folder and place it in data -> raw. (Create the raw folder if it does not exist)
Processed data to generate Figs 2 and 3 are available from the data -> proc folder as the files:
- subjects_data.csv
- subjects_data.json
- subjects_times_mvc.csv
Python code files (Python v3.8) were written by Joanna Diong with input from Martin Héroux.
script_proc
: Main script to run analysis.
fig-1
: Script to generate PNG and SVG files of single participant trial data (Fig 2), saved in data -> proc -> sub22
process
, utilities
, trials_key
: Modules containing functions used to clean data and plot figures.
process
calls the deprecated Python package spike2py
written by Martin Héroux.
The deprecated package is bundled with this repo as "spike2py.zip"
Download the package, save it in a location outside of this project folder,
and point the Python interpreter (i.e. add the root) towards that location.
(For the new and revised packaged, see the spike2py GitHub page.)
A reliable way to reproduce the analysis would be to run the code in an integrated development environment for Python (e.g. PyCharm).
Create a virtual environment and install dependencies. Using the Terminal (Mac or Linux, or PyCharm Terminal),
python -m venv env
Next, activate the virtual environment.
For Mac or Linux,
source env/bin/activate
For Windows,
.\env\Scripts\activate
Then, install dependencies,
pip install -r requirements.txt
Download all code files and data.zip into a single folder.
Unzip the data file into the same location.
Download the spike2py
package. Point the Python interpreter to the location of spike2py
.
Run each file separately:
script_proc.py
fig-1.py
Table 1. is generated using data from "results.txt", saved in data -> proc
Table 2. is generated using data from "subjects_data_describe.csv", saved in data -> proc
Fig 1. is generated using data from sub22, and saved in data -> proc -> sub22
Fig 2. is generated using data from "subjects_data.csv", saved as PNG and SVG files labelled "emg_torque" in data -> proc
Fig 3. is generated using data from "subjects_data.csv", saved as PNG and SVG files labelled "emg_normalised" in data -> proc