Immuno-oncology response
Stratify checkpoint inhibitor cohorts by immune phenotype, exhaustion state, and signaling patterns to understand responder vs. non-responder biology.
Research question
Why do some patients respond to anti-PD-1 / anti-PD-L1 therapy while others do not? Which immune features — infiltration, exclusion, exhaustion, repertoire diversity — best separate response groups?
Who this is for
- Immuno-oncology labs studying checkpoint blockade, CAR-T, and T-cell exhaustion
- Translational teams correlating IO response with transcriptomic and repertoire data
- Pharma biomarker groups building immunotherapy stratification signatures
Data requirements
| Data | Required | Purpose |
|---|---|---|
| Bulk RNA-seq expression matrix | Yes | Deconvolution, TIDE phenotype, exhaustion scoring |
| Sample metadata with response labels | Yes | Responder/non-responder group comparison |
| TCR/BCR repertoire table | No | Clonotype diversity and clonal expansion analysis |
| Per-cell expression + metadata | No | Cell-cell communication with condition comparison |
| Clinical endpoints | No | Optional survival follow-up by immune phenotype |
Register samples with group_label or response_status fields before launching pipelines.
Workflow
Register samples with response labels
→ Immune profile (deconvolution, TIDE, exhaustion)
→ Cell-cell communication (optional, with condition comparison)
→ Survival stratified by immune phenotype (optional)
→ AI interpretation
Step 1 — Immune profiling
Launch the immune profile pipeline with bulk expression from pre-treatment or on-treatment biopsies:
curl -X POST http://localhost:8001/oncology/jobs/immune-profile \
-H "Content-Type: application/json" \
-d '{
"study_id": "your-study-id",
"parameters": {
"expression_path": "/path/to/bulk_expression.csv",
"repertoire_path": "/path/to/tcr_repertoire.csv"
}
}'
Review deconvolution fractions, TIDE-like phenotype labels (inflamed / excluded / desert), exhaustion scores, and repertoire diversity on the Immune page.
Step 2 — Signaling comparison (optional)
When single-cell data is available, run cell-cell communication with condition_column set to response group. Compare immunosuppressive vs. co-stimulatory axes between responders and non-responders.
Step 3 — Outcome correlation (optional)
Export immune phenotype labels or exhaustion scores as a feature matrix and stratify survival analysis by treatment arm or immune subgroup.
See Survival analysis.
Step 4 — Interpretation
Launch interpretation with immune profile (and communication) run IDs for a grounded summary of IO-relevant findings.
Expected outputs
- Per-sample immune cell fractions and TIDE phenotype classification
- Exhaustion gene program scores and checkpoint target expression landscape
- TCR/BCR diversity metrics and top expanded clonotypes (when repertoire provided)
- Condition-comparison deltas for dominant ligand-receptor axes (when communication run included)
- AI narrative connecting immune phenotype to therapy response hypotheses
Example insight
The non-responder cohort shows a significantly higher proportion of terminally exhausted CD8 T-cells with suppressive LGALS9-HAVCR2 signaling as the dominant ligand-receptor axis — consistent with immune exclusion and reduced immunotherapy responsiveness.