PARP-inhibitor adaptation score for single cells (in vitro)
Scores each cell in a single-cell RNA-seq sample by how far it has adapted to the PARP inhibitor olaparib (0 = untreated, 1 = adapted to the highest training dose), with the pathways behind the score. It extends the hierarchical model of Satyal, Long, Gao. Attention-Based Hierarchical Graph Autoencoder for Dose-Specific Single-Cell Resistance Dynamics to cell-level learning with held-out-line validation.
Research use only. Not a diagnostic, and not a tumor or patient resistance score.
Scope
Validated for
- Ranking olaparib doses in a ovarian cancer cell line it was not trained on (leave-one-line-out over kuramochi, cov362, ovsaho): dose Spearman 0.70–0.99, AUROC untreated vs top dose 0.76–0.94.
kuramochi_10x(ovarian, GSE247688): AUROC 1.000 (gated).
Not validated for
pdx_resistance(ovarian, GSE247690): AUROC 0.614 (reported, not part of the claim).pdx_resistance_allcells(ovarian, GSE247690): AUROC 0.650 (reported, not part of the claim).- Breast cancer: not evaluated.
- Tumors or patients: the score is not a tumor- or patient-level resistance measure.
- Absolute levels: scores shift between cell lines; compare samples within one experiment.
- Uncertainty: the ensemble spread is not yet calibrated and understates the real error.
- Pathway explanations:
top_pathwaysnames Hallmark sets only, and they explain the Hallmark part of the score; the model also uses Reactome sets. Reactome names mislead here: four immune/viral-named sets (e.g. Downstream TCR Signaling) share the same 43 proteasome genes. A Hallmark-only model is planned for v0.2.
Released model
- Model: ridge, trained on 31,762 cells from kuramochi, cov362, ovsaho
- Doses (µM): [0.0, 1.0, 2.5, 5.0, 10.0, 20.0, 40.0, 80.0, 160.0, 320.0]
- Config fingerprint
da7e460af890· git commit6772349b0f41b0608afae76bed7713974e945952
Evaluation
Cross-validation
Each training cell line is held out in turn; the model is trained on the others.
| held-out line | dose Spearman | AUROC untreated vs top | cell MAE | mean baseline MAE |
|---|---|---|---|---|
| cov362 | 0.700 | 0.756 | 0.201 | 0.226 |
| kuramochi | 0.988 | 0.942 | 0.247 | 0.307 |
| ovsaho | 0.900 | 0.778 | 0.203 | 0.191 |
External datasets
AUROC separates treated/resistant from untreated cells; 0.5 = chance. Only gated datasets are part of the claim above.
| dataset | cancer | AUROC | cells | role |
|---|---|---|---|---|
| kuramochi_10x | ovarian | 1.000 | 8474 | gated |
| pdx_resistance | ovarian | 0.614 | 8515 | report only |
| pdx_resistance_allcells | ovarian | 0.650 | 19890 | report only |
| pdx_persistence | ovarian | n/a (no resistant labels) | — | report only |
Usage
from parpi.bundle import ModelBundle
from parpi.data.readers import read_any
bundle = ModelBundle.load("hf://sawcheet/parpi-resistance")
predictions = bundle.predict(read_any("my_sample.h5ad")) # one row per cell
Input: raw counts, HGNC gene symbols, human cells; at least 60% of the model's genes must be present. Compare samples within one experiment (for example treated vs untreated of the same line).
Data and citation
Training and test data: França et al., Cellular adaptation to cancer therapy along a resistance continuum, Nature 631, 876–883 (2024) (GEO SuperSeries GSE247691). Model architecture: Satyal, Long, Gao. Attention-Based Hierarchical Graph Autoencoder for Dose-Specific Single-Cell Resistance Dynamics.
Reproduce
git clone https://github.com/sachitsatyal/parpi-resistance && cd parpi-resistance
uv sync --all-extras
uv run parpi reproduce -c configs/release.yaml