Skip to content

Intron

This project analyzed an in-vivo single-cell CRISPR Perturb-seq screen of tumor-infiltrating CD8 T cells (Zhou et al.

Core trick

Integrates 16 scVI-corrected Perturb-seq samples, calls single guides per cell, and benchmarks GEARS against linear and mean baselines on held-out perturbations.

Tags

Description

This project analyzed an in-vivo single-cell CRISPR Perturb-seq screen of tumor-infiltrating CD8 T cells (Zhou et al. 2023, GEO GSE216909 — 16 samples, 180 transcription-factor knockouts plus non-targeting controls) to map which TFs steer CD8 differentiation toward or away from exhaustion, and to test whether that regulatory logic can be predicted computationally. Starting from raw 10x matrices, I called single guides per cell, integrated all 16 samples with scVI, gated to 89,754 CD8 T cells, and annotated their differentiation states, then reproduced the paper's regulatory-network analysis (MIMOSCA elastic-net regression yielding a TF×gene coefficient matrix, co-functional modules, and gene programmes) and cross-validated it with the pertpy framework (Mixscape, E-distance, Augur). Finally, I benchmarked in-silico perturbation prediction, comparing simple linear/mean baselines against the GEARS deep model. The analysis identified Ikzf1 as the dominant regulator — its knockout retains cells in the progenitor-exhausted state and has the broadest transcriptional footprint (~900 genes) — while Tcf7, Egr2, and Bhlhe40 knockouts drive terminal exhaustion along the opposite axis. Notably, the deep-learning model failed to beat trivial baselines at predicting held-out perturbations, reproducing the central finding of Ahlmann-Eltze et al. 2025. This matters because it pinpoints candidate TFs for reprogramming exhausted T cells — a central goal for improving cancer immunotherapy — while providing a sober, quantitative benchmark showing that current in-silico perturbation models are not yet reliable for predicting the effects of unseen genetic perturbations in this in-vivo setting.
In-tron/Perturb_seq_tumor_infiltrating_CD8★ 00 forksJupyter NotebookMITCreated Jul 13, 2026 · last push Jul 13, 2026

README excerpt

# CD8 Perturb-seq regulome

TF regulomes of CD8 T-cell exhaustion from an **in-vivo single-cell CRISPR
Perturb-seq** screen of tumor-infiltrating CD8 T cells (Zhou et al. 2023,
*Nature*; GEO **GSE216909**, 16 samples, 180 TFs × 4 guides + 80 non-targeting
controls).

The pipeline reproduces the regulatory-network analysis of Zhou et al. Fig 1,
applies the MIMOSCA (Dixit et al. 2016) and pertpy (Heumos et al.) frameworks,
and benchmarks in-silico perturbation prediction (Ahlmann-Eltze et al. 2025:
linear/mean baselines vs the GEARS deep model).

This repository is **fully self-contained** — each analysis stage is a
standalone Jupyter notebook with all helper code inlined (no external framework
required), and the stages are orchestrated by **Nextflow**.

## Pipeline

```
data/raw (16 CellRanger samples + feature_reference.csv)
        │
   ┌────▼─────────────────────────────────────────────┐
   │ 01_perturbseq_processing.ipynb                    │  guide calling · QC ·
   │   → cd8_all16_scvi_processed.h5ad                 │  scVI integration ·
   └────┬──────────────┬─────────────────┬────────────┘  CD8 gating · states
        │              │                 │
   ┌────▼────┐   ┌─────▼─────┐    ┌──────▼──────────┐
   │02_mimosca│   │03_pertpy  │    │04_insilico      │
   │ Zhou Fig1│   │ Mixscape  │    │ linear/mean vs  │
   │ β,modules│   │ E-distance│    │ GEARS (optional)│
   │ GSEA     │   │ Augur     │    │                 │
   └──────────┘   └───────────┘    └───────────

Team