Monitoring Gait at Home with Radio Waves in Parkinson's Disease: a Marker of Severity, Progression, and Medication Response
This repo includes the code for the Science Translational Medicine paper Liu et al. 2022.
The code is developed and tested on Ubuntu 18.04
, Python 3.9
, R 3.6.1
. We recommend using conda to handle environments and dependencies.
Create a new conda environment and install dependencies:
conda create -y -n pd_gait_py39 python=3.9
conda activate pd_gait_py39
pip install numpy scipy matplotlib seaborn pandas streamlit pingouin plotly tqdm openpyxl
Add this repo to PYTHONPATH
.
export PYTHONPATH={$PATH_TO_THIS_REPO}:$PYTHONPATH
For example, if you downloaded this repo to $HOME/code/rf-pd-gait/
, run this:
export PYTHONPATH=$HOME/code/rf-pd-gait/:$PYTHONPATH
Install R and dependencies with conda:
conda install -y -c r r
conda install -y -c conda-forge r-nloptr r-rcppeigen
In R CLI, run following command to install packages:
install.packages(c('ggeffects', 'lmerTest', 'argparse', 'crayon'))
Download and save data to ./data
. Once they are ready, the folder should look like this:
data
├── covariate_adjusted_lm // request and download: https://rf-pd-gait.csail.mit.edu/
│ └── data.csv
├── data.xlsx // download from supplementary material
├── longitudinal_data_linear_regression // request and download: https://rf-pd-gait.csail.mit.edu/
│ ├── hc.csv
│ └── pd.csv
└── ppmi // request and download: https://www.ppmi-info.org/
├── Consensus_Committee_Analytic_Datasets_28OCT21.xlsx
├── MDS-UPDRS_Part_I.csv
├── MDS-UPDRS_Part_I_Patient_Questionnaire.csv
├── MDS-UPDRS_Part_IV__Motor_Complications.csv
├── MDS_UPDRS_Part_II__Patient_Questionnaire.csv
├── MDS_UPDRS_Part_III.csv
└── Participant_Status.csv
If you only have access to parts of the data, the code will still work. However, it only produces results that correspond to the available data.
This part of the results requires you to have ./data/data.xlsx
.
Initialize a visualization server:
streamlit run ./scripts/visualization.py
Go to the visualization webpage with a browser. The server will run statistical analysis and visualize the outcomes when you click on different pages.
Available pages are: test_retest_reliability
, baseline_cross_sectional
, longitudinal_analysis
, medication_response_motor_fluctuation
, covid_lock_down
, and hospitalization
.
This part of the results requires you to have ./data/ppmi
.
Initialize the same visualization server:
streamlit run ./scripts/visualization.py
Results can be found on the page: ppmi_longitudinal_analysis
.
This part of the results requires you to have ./data/covariate_adjusted_lm
.
Run R script:
Rscript ./scripts/cross_sectional_analysis_with_covariates.r
Results can be found in the stdout of this command.
This part of the results requires you to have ./data/longitudianl_data_linear_regression
.
Run R script:
Rscript ./scripts/longitudinal_analysis.r
Results can be found in the stdout of this command.
This repo is licensed under the MIT License and the copyright belongs to all rf-pd-gait project authors - see the LICENSE file for details.
@article{liu2022monitoring,
title={Monitoring gait at home with radio waves in Parkinson’s disease: A marker of severity, progression, and medication response},
author={Liu, Yingcheng and Zhang, Guo and Tarolli, Christopher G and Hristov, Rumen and Jensen-Roberts, Stella and Waddell, Emma M and Myers, Taylor L and Pawlik, Meghan E and Soto, Julia M and Wilson, Renee M and others},
journal={Science Translational Medicine},
volume={14},
number={663},
pages={eadc9669},
year={2022},
publisher={American Association for the Advancement of Science}
doi={10.1126/scitranslmed.adc9669},
URL={https://www.science.org/doi/abs/10.1126/scitranslmed.adc9669},
eprint={https://www.science.org/doi/pdf/10.1126/scitranslmed.adc9669}
}
Email: [email protected]