
This repository contains code accompanying the paper “Optimizing Parkinson’s Disease progression scales using computational methods.” https://www.nature.com/articles/s41531-026-01259-1
The main goal is to demonstrate how to learn data-driven weights for items in standard Parkinson’s Disease (PD) assessments — such as the MDS-UPDRS and MoCA — so the resulting composite scores better capture disease progression.
Table of Contents
.
├── data/
│ └── PPMI/ # Where to place PPMI data files
├── optimizers/
│ ├── <various_optimizer_files>.py # Implementations of the optimization methods
│ └── weights/ # Directory where generated CSV files of item weights are saved
├── pipeline.ipynb # Main flow: data prep, optimization, evaluation, visualization
├── data_preparation.py # Data filtering and encoding logic
├── requirements.txt # Dependencies for Python environment
├── self_report_short.html # A demo of a short self-reported questionnaire
└── LICENSE # GNU General Public License
git clone https://github.com/Shamir-Lab/MOPS.git
cd MOPS
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Several optimizers in optimizers/ rely on the Gurobi solver for integer or mixed integer programming.
To use these formulations:
GUROBI_HOME and PATH/LD_LIBRARY_PATH are set appropriately (platform-specific instructions are available on their site).This code uses the Parkinson’s Progression Markers Initiative (PPMI) data, which is not distributed here. To replicate our analysis:
data/PPMI in this repository.pipeline.ipynbBased on our results, we’ve created an online self-reported questionnaire that achieves good consistency with only 11 simple questions.
Tool is available here.
This project is licensed under the terms of the GNU General Public License v3.0. You are free to use, modify, and distribute this code under the conditions detailed in the license, which requires that derivative works also be distributed under the same license.
If you have any questions or suggestions regarding this repository or the associated paper: