
▶ Watch the 64-second demo on YouTube
AGTR1+ dopaminergic neurons are selectively depleted in Parkinson's Disease.
This finding, originally reported by Kamath et al. (2022), has now been independently validated across 4 datasets and 504,571 cells from multiple institutions.
| Metric | Value |
|---|---|
| Total Cells Analyzed | 504,571 |
| Independent Studies | 4 |
| Combined Odds Ratio | 0.215 (78% reduction) |
| 95% Confidence Interval | 0.203 - 0.228 |
| P-value | < 10⁻¹⁰⁰ |
| Fold Reduction | ~3-5x fewer AGTR1+ neurons in PD |
| Dataset | Institution | Year | Cells | Control AGTR1+ | PD AGTR1+ | Odds Ratio |
|---|---|---|---|---|---|---|
| GSE184950 | Mount Sinai | 2022 | 12,778 | 3.31% | 1.00% | 0.295 |
| GSE178265 | Broad Institute | 2022 | 366,874 | 3.30% | 0.60% | 0.177 |
| GSE157783 | DZNE Germany | 2022 | 41,435 | 3.30% | 1.00% | 0.296 |
| GSE243639 | Independent | 2024 | 83,484 | 2.96% | 0.89% | 0.295 |
AGTR1 is targetable by FDA-approved drugs - Angiotensin Receptor Blockers (ARBs)
| Factor | Evidence |
|---|---|
| Target | AGTR1 is the #1 most depleted druggable gene |
| Drugs | Candesartan, telmisartan cross blood-brain barrier |
| Safety | FDA-approved for decades, excellent safety profile |
| Epidemiology | Studies suggest ARB users have lower PD risk |
| Animal Models | Consistent neuroprotection in MPTP/6-OHDA models |
GENETIC RISK BLOOD BIOMARKERS BRAIN PATHOLOGY SYMPTOMS
│ │ │ │
20 SNPs ────────► 8-Protein Panel ────────► AGTR1+ Loss ────────► PD
(GWAS) (7 yrs before Sx) (5.7x depleted) Diagnosis
│ │ │ │
└────────────────────────┴─────────────────────────┴─────────────────────┘
INTERVENTION WINDOW (ARBs)
| Method | Timing | Accuracy | Availability |
|---|---|---|---|
| Genetic (PRS) | Anytime | 3-7x risk stratification | Consumer DNA tests |
| 8-Protein Blood | 7 years early | ~100% in study | Research only |
| REM Sleep Disorder | 10-15 years early | 80% convert to PD | Clinical |
| Loss of Smell | 4-6 years early | 5x higher risk | Home tests |
Our analysis is supported by recent independent research:
| Paper | Key Finding | Year |
|---|---|---|
| Kamath et al. - Nature Neuroscience | Original AGTR1+ vulnerability discovery | 2022 |
| Labandeira-Garcia - Movement Disorders | SOX6_AGTR1 neurons most vulnerable | 2022 |
| Brain RAS Review - Translational Neurodegeneration | AT1 upregulation in PD pathogenesis | 2024 |
| iPSC Model - bioRxiv | AGTR1 inhibition pro-survival in human neurons | 2025 |
| EV Proteomics - npj Parkinson's | Candesartan neuroprotection evidence | 2025 |
| Blood Biomarkers - Nature Communications | 8-protein panel predicts PD 7 years early | 2024 |
| Dataset | Cells | PD | Control | LBD | PDD | Status |
|---|---|---|---|---|---|---|
| GSE184950 | 20,672 | 3,102 | 9,676 | 0 | 7,894 | ✅ 100% |
| GSE178265 | 434,340 | 135,344 | 231,530 | 67,466 | 0 | ✅ 100% |
| GSE157783 | 41,435 | 19,002 | 22,433 | 0 | 0 | ✅ 100% |
| GSE243639 | 83,484 | 39,518 | 43,966 | 0 | 0 | ✅ 100% |
| TOTAL | 579,931 | 196,966 | 307,605 | 67,466 | 7,894 | ✅ 100% |
parkinsons_project/
├── figures/ # All visualizations
│ ├── meta_analysis_*.png # Meta-analysis figures
│ ├── validation_*.png # Validation results
│ ├── risk_prediction_*.png # Prediction toolkit
│ └── biomarker_*.png # Biomarker analysis
├── scripts/ # Analysis scripts
│ ├── step1-3_*.py # Simulation scripts
│ ├── step4-5_*.py # Visualization scripts
│ ├── step6-11_*.py # Analysis scripts
│ └── validate_*.py # Validation scripts
├── docs/ # Documentation
│ ├── 01_PRE_REGISTRATION.md # OSF pre-registration
│ ├── 02_PREPRINT_DRAFT.md # bioRxiv manuscript
│ ├── 03_COLLABORATION_EMAIL.md
│ ├── 04_WET_LAB_VALIDATION.md
│ ├── 05_ARB_LITERATURE_REVIEW.md
│ └── 06_CLINICAL_TRIAL_DESIGN.md
└── data/csv_results/ # Analysis outputs
- Pre-registration:
docs/01_PRE_REGISTRATION.mdready for OSF - Preprint:
docs/02_PREPRINT_DRAFT.mdready for bioRxiv - Collaboration: Email templates in
docs/03_COLLABORATION_EMAIL.md
- Trial Design: Full protocol in
docs/06_CLINICAL_TRIAL_DESIGN.md - Wet Lab Validation: Experiments outlined in
docs/04_WET_LAB_VALIDATION.md
Please do not change anything about your treatment because of this repository. Nothing here is medical advice, none of it is peer reviewed, and I am not a clinician or a neuroscientist. The one useful thing you can do with this is bring the underlying published research — Kamath et al. 2022 in Nature Neuroscience, and Labandeira-García et al. 2022 in Movement Disorders — to a neurologist and ask what they make of it. Those are the real sources. This repository is one person checking whether their result reproduces.
Repository: github.com/nicedreamzapp/parkinsons-vulnerability-predictor
If you use this work, please cite:
AGTR1+ Dopaminergic Neuron Vulnerability Meta-Analysis (2025)
https://github.com/nicedreamzapp/parkinsons-vulnerability-predictor
Based on:
Kamath T, et al. Single-cell genomic profiling of human dopamine neurons
identifies a population that selectively degenerates in Parkinson's disease.
Nat Neurosci. 2022;25(5):588-595. doi:10.1038/s41593-022-01061-1
This is a research project for educational and scientific purposes. It is NOT a clinical diagnostic tool. Always consult healthcare professionals for medical decisions.
Last Updated: December 27, 2025 | Status: ✅ Active | Cells Analyzed: 579,931
I went back through this analysis on 2026-08-06 and corrected two things I had overstated. Writing them down rather than quietly editing them out.
The finding worth taking seriously is that four independent cohorts, collected by four different research groups with different dissection protocols and different sequencing chemistry, all show AGTR1+ dopamine neurons depleted in Parkinson's, in the same direction. That is what this project set out to test and it is what survived.
step7_validate_gse243639.py builds its contingency table from cell counts:
a = (pd_mask & df['AGTR1_positive']).sum()Cells taken from the same donor are not independent observations. The real sample size is the number of donors — dozens, not 579,931 — so treating every cell as an independent draw inflates significance by orders of magnitude. Any p-value produced this way comes out astronomically small whether or not the biology is real, which means it carries no information.
The correct approach is to aggregate to one value per donor (percentage of AGTR1+ cells in that donor) and compare those distributions. That's a pseudobulk test, and it is the standard answer to this exact criticism. It's on the list below.
train_and_compare.py fits a logistic regression and then scores it on the same rows it
was fitted to:
clf.fit(X_scaled, y)
roc = roc_auc_score(y, clf.predict_proba(X_scaled)[:, 1])There is no train/test split and no cross-validation anywhere in this repository. That number is in-sample fit, not accuracy, and with this many gene features it will approach 1.0 regardless of signal. It should never have been in the repo description and it is gone.
A real number requires GroupKFold grouped by donor, so that no donor appears in both
the training and test folds. Until that is run, this repository makes no claim about
predictive accuracy at all.
step2_test_intervention.py, step3_treatment_timing.py and
step12_longitudinal_model.py produce numbers like an eleven-year delay in motor onset.
Those numbers are circular and should not be quoted by anyone, including me. The
script contains this:
annual_loss_rate = 0.12
ARB_EFFICACY = 0.6 # 60% reduction in depletion rateThe drug's effectiveness is a hardcoded assumption, not something measured. The model assumes an ARB cuts neuron loss by 60%, and then reports that patients do better. That is arithmetic on an assumption, not evidence about a drug.
Nothing in single-cell RNA proportions from post-mortem tissue can tell you how many years a medication delays symptom onset in a living person. No amount of extra data changes that — it is the wrong kind of measurement for the question. These scripts are kept as a toy illustration of what a depletion curve looks like under an assumed treatment effect, and for no other purpose.
- Donor-level (pseudobulk) test to replace the cell-level Fisher's exact
- Report donor counts alongside cell counts for every dataset
-
GroupKFoldby donor before any accuracy figure is quoted again - State the batch-correction / integration approach used when pooling cohorts
- Relabel the ARB intervention simulations as assumption-driven toys (done 2026-08-06)
The ✅ 100% column in the dataset breakdown is cell-type annotation coverage — the
share of cells that received a label. It is not a model accuracy figure.
I am not a neuroscientist, and the point of publishing the code was so that people who are can check it. If you find something else wrong, please open an issue.






