CRISPR screens
A CRISPR Screen analysis takes the guide counts of a pooled screen (knockout, CRISPRi or CRISPRa) and finds the genes whose guides are depleted or enriched in one group of samples against another, as MAGeCK does. For a growth screen it also calls the essential genes with BAGEL2 and measures how well the screen worked.
Start a CRISPR screen
In a project, click New session and choose CRISPR Screen as the kind of analysis. The sidebar marks CRISPR screens with scissors.
What to upload
- MAGeCK count's table:
sgRNA,Geneand a column of reads per sample, or any table like it with a guide column, a gene column and a column per sample. CSV, TSV, TXT or Excel, gzipped or not; titles or comment lines above the header are fine. - One table per sample, a guide column and a column of reads, each sample named after its file.
ScreenProcessing's
.fa.countsfiles, which have no header, load too. - Counts that name only the guides, with the library file in the same upload: each guide's id, sequence and gene, as Addgene and MAGeCK ship them. The counts are matched to it by id or by sequence. The Broad GPP's poolQ reference file (sequences and ids, no header) names the guides of counts given by their ids.
- MAGeCK's
countsummary.txtbeside the counts, which adds each sample's sequenced reads and the share that matched a guide to the Initial Plot.
When the counts name no genes but the guides' ids carry them, as hCRISPRi-v2's do
(ABCE1_-_146019460.23-P1P2 is ABCE1's), the genes are read from the ids and the upload says so. A table
counted per gene is refused: the analysis needs each guide's reads. Have FASTQ files? They are counted in Reads (see
below).
The upload leaves out, and says so under How baSeq read your data:
- a screen's results beside the counts: MAGeCK's gene and sgRNA summaries, BAGEL's Bayes factors, or any table of fold changes with p-values (Gene Hits computes them again from the counts);
- MAGeCK's
count_normalized.txt, when the raw counts of the same samples are in the upload; - a guide's repeated rows: a guide listed under each gene it matches, with the same reads on each row (GPP's chip
annotation writes it so), counts once, under its first gene, as
mageck testkeeps the first row of a repeated id.
Control guides and the library
Guides whose gene names a control are kept out of the genes: non-targeting guides (Non-Targeting,
NTC, GPP's NO_SITE), safe-targeting and intergenic guides (ONE_INTERGENIC_SITE),
AAVS1 and ROSA26, and reporters (EGFP, LacZ,
luciferase). They stay in the guide table, where Normalise by control uses them. GPP's
guides that target no current gene (NO_CURRENT, POTENTIALLY_ACTIVE) are left out of the
genes too. A gene's reads are the sum of its guides'.
The library is named from the guides' sequences or ids when it is one baSeq knows: Brunello, Brie, GeCKOv2 (human and mouse), TKOv3, Dolcetto (CRISPRi) and Calabrese (CRISPRa). That also sets the screen's modality and species.
Sample metadata
As in bulk RNA-seq, the metadata editor asks for a condition per sample. Give the starting library (the plasmid or
day 0) its own value and each arm its own (a drug and its vehicle, a sorted population and its unsorted cells), with
the replicates of an arm sharing it. A column naming each replicate's own culture or mouse lets Pair replicates
by compare each replicate with its own reference, as mageck test --paired does.
Gene Hits
Gene Hits is MAGeCK's robust rank aggregation, computed in baSeq. Each guide's reads are normalised (by the median ratio over all guides by default; or by the control guides, by the total reads, or not at all), its variance is modelled from all the samples, and it gets a p-value of being depleted and of being enriched. Each gene's guides are then ranked together: a gene whose guides sit consistently near the top gets a low RRA score, which is tested against random guides and corrected for the number of genes (Benjamini-Hochberg). A gene's fold change is the median of its guides', so one strong guide does not make a gene.
Depleted genes are those whose guides lose reads in the first group: in a growth screen, the genes the cells need; against a vehicle, the genes whose loss sensitises to the drug. Enriched genes are those whose loss helps: resistance, or the cells sorted into a population. The shared steps (Volcano Plot, Heatmap, GO Term Enrichment, GSEA, STRING and the Reactome pathway map) read Gene Hits' comparison.
Essential Genes and the screen's quality
For a growth (dropout) screen, compare the later samples (first) against the starting library (second). BAGEL2 learns, from the reference genes the screen holds, how the guides of genes every cell needs change and how those of genes no cell needs change: Hart's core essential genes (CEGv2) and non-essential genes (NEGv1), or their mouse sets. Each gene gets a Bayes factor of being essential, and is called essential at FDR ≤ 5% and a Bayes factor above 3, as Hart et al. 2017 call them.
The screen's quality is shown first. DepMap's NNMD is the difference between the essential and non-essential genes' median fold changes, divided by the non-essential genes' spread: a screen passes below −1.25. The AUROC says how well the fold changes alone separate the two sets, and the recall how many of the reference essential genes are called. A screen needs at least 20 genes of each reference set, so a kinome or other focused library cannot be judged this way: use Gene Hits against the starting library instead.
The gene card
Click a gene in the Gene Hits or Essential Genes table to open its gene card. From Gene Hits it reads Depleted in or Enriched in the first group, with the median log2 fold change of its guides and the RRA FDR, and Guides draws each guide's fold change, so a gene whose guides disagree shows at once. From Essential Genes it gives the call, the Bayes factor and the FDR.
FASTQ files
Reads, on the Data page, counts a screen's FASTQ files with MAGeCK count. The pre-flight finds the guides in each sample's reads and names the library, or you choose one or upload your own (each guide's id, sequence and gene). Start a CRISPR screen analysis opens the counts here, with MAGeCK's summary of them. See FASTQ files (Reads).
Import from GEO
Type the series number under Import from GEO on the start screen. A CRISPR screen is offered the series' guide count tables without MAGeCK's results beside them, and every sample of a count table keeps its own row, with its condition from GEO.
Sample datasets
Browse Sample Datasets has five published screens to try:
- HAP1 Essential Genes (TKOv3): a dropout screen, day 0 against three replicates at day 18 (Hart et al., G3 2017). Use it for Essential Genes.
- Glioblastoma Resistance to CAR T Cells: U87 cells with Brunello, killed by CAR T cells from six donors (Larson et al., Nature 2022). Compare CAR T against no CAR T: the enriched genes let the cells survive.
- Rhabdomyosarcoma Kinome Screen with Pralatrexate: a drug against its vehicle, with a baseline (Zimmerman et al., Nat Commun 2026).
- CD8 T-Cell Persistence under Repeated Antigen Challenge: primary human T cells with Brunello, sorted after one and six rounds of challenge (GEO GSE331343).
- Translation Genes in Stem Cells (CRISPRi): inducible CRISPRi in hiPSCs and HEK293 cells (Rodschinka et al., Nat Struct Mol Biol 2025).
Step reference
| Step | Stage | What it does | You get | Key inputs |
|---|---|---|---|---|
| Initial Plot | Setup | Reads the guide counts, keeps the control guides apart, sums each gene's guides and names the library when baSeq knows it. Shows each sample's reads (with the share that matched a guide when MAGeCK's count summary came along), the guides with no reads, how evenly the reads spread over the guides (the Gini index, as MAGeCK reports it) and how alike the samples are. | A data object with every gene's reads per sample and every guide's reads beside them; per-sample panels and a summary. | Guide count tables (see What to upload). |
| Essential Genes | Analysis | For a growth (dropout) screen: how clearly the screen separates the genes every cell needs from those no cell needs (DepMap's NNMD, the AUROC and the recall of the reference genes), and each gene's Bayes factor of being essential with BAGEL2, trained on the reference genes the screen holds. Essential means FDR ≤ 5% and a Bayes factor above 3. | The guides' fold changes of the reference sets, the precision and recall of the reference genes, every gene's Bayes factor, and a table with each gene's call. | Parameter to compare and two values: the later samples first, the starting library (plasmid or day 0) second. |
| Gene Hits | Analysis | Ranks each gene by its guides with MAGeCK's robust rank aggregation (RRA): the genes whose guides lose reads in the first group (depleted: needed there, or their loss sensitises) and those whose guides gain them (enriched: their loss helps, as with resistance or a sorted population). | Every gene's fold change with the strongest genes of each tail named, each guide of those genes, and a table with each gene's guides, fold change, RRA score, p-value and FDR of both tails. | Parameter to compare and two values, Normalise by: median (default), control, total or none, Pair replicates by. One sample per group is enough. |
| Volcano Plot, Heatmap, GO Term Enrichment, GSEA, STRING, Reactome pathway map | Analysis | The bulk RNA-seq steps, reading the comparison Gene Hits made: its fold changes, and the RRA FDR of the tail each gene is in for the adjusted p-value. | As in bulk RNA-seq. | Run Gene Hits first. |
On planted screens, Gene Hits' guide numbers match MAGeCK2 0.3.0's to its printed digits and the genes' FDR calls agree, and Essential Genes' Bayes factors differ from BAGEL.py's by little more than two runs of BAGEL.py differ from each other. On the HAP1 TKOv3 sample dataset, Essential Genes calls 1,912 genes essential (BAGEL.py on the same reads: 1,917) with an NNMD of −11.8; on the CD8 T-cell screen, Gene Hits ranks RNF7, ARIH2 and CUL5, the Cullin-5 ligase the study found, among the genes enriched after six rounds.