Gradient Biotech
U

Menu

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

DataRequiredPurpose
Bulk RNA-seq expression matrixYesDeconvolution, TIDE phenotype, exhaustion scoring
Sample metadata with response labelsYesResponder/non-responder group comparison
TCR/BCR repertoire tableNoClonotype diversity and clonal expansion analysis
Per-cell expression + metadataNoCell-cell communication with condition comparison
Clinical endpointsNoOptional 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.

See Cell-cell communication.

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.

Related guides