PPMI Parkinson's Progressive Markers Initiative
This repository has code that is used to process data from the PPMI dataset. There are no data files stored in this repository.
Apply for data access at PPMI- Download Data
After your application is approved and you can log in
- click on
Download->Study-Data. - Click the link on the left hand side (bottom) where it says
ALL - Download
ALL tabular data(csv format) andALL documents and zip files[48.0 MB]
- click on
Clone this github repository
Save the downloaded files in the data_docs directory of this cloned repository. Extract any zip files if necessary.
Run the create_ppmi_database.py script which will create the ppmi database in the database directory
cd scripts/python
python scripts/create_ppmi_database.py Install DB Browser for SQLite and use it to open the database that was created for you in the database directory.
DB Browserwill give you information on all the tables in the database. You can browser the data by table. After you have extracted information into the data_docs directory (see Setup the database), you will get further information on what the columns represent by looking at the files in the docs directory.- Page_Descriptions.csv A general idea of what the tables are named
- Data_Dictionary.csv A general idea of what the columns in the table are named
- Code_List.csv A code book that tells us how certain variables are coded
- Derived Variables Definition A document that tells us how to create derived variables like UPDRS scores etc.
Use SQL scripts to extract information from the database.
WITH A AS ( /* Calculated Part III UPDRS Score for everyone */SELECT PATNO, EVENT_ID , NP3SPCH + NP3FACXP + NP3RIGN + NP3RIGRU + NP3RIGLU + PN3RIGRL + NP3RIGLL + NP3FTAPR + NP3FTAPL + NP3HMOVR + NP3HMOVL + NP3PRSPR + NP3PRSPL + NP3TTAPR + NP3TTAPL + NP3LGAGR + NP3LGAGL + NP3RISNG + NP3GAIT + NP3FRZGT + NP3PSTBL + NP3POSTR + NP3BRADY + NP3PTRMR +
NP3PTRML + NP3KTRMR + NP3KTRML + NP3RTARU + NP3RTALU + NP3RTARL + NP3RTALL + NP3RTALJ + NP3RTCON as UPDRS_SCORE
FROM NUPDRS3 WHERE PAG_NAME ="NUPDRS3"ORDER BY PATNO)
/* Extract UPDRS scores at Baseline and sort in descending order */SELECT*from A WHERE EVENT_ID="BL"ORDER BY UPDRS_SCORE DESCThe output in SQLite Browser looks something like this for the first few rows. It can be exported to a csv file for further analysis.
| PATNO | EVENT_ID | UPDRS_SCORE |
|---|---|---|
| 42142 | BL | 72 |
| 42435 | BL | 72 |
| 40763 | BL | 71 |
| 42439 | BL | 67 |
| 40751 | BL | 66 |
| 42312 | BL | 62 |
| 50496 | BL | 61 |
| 51652 | BL | 61 |
| 41489 | BL | 60 |
You can find more complex sql scripts in the scripts directory