End-to-end pipeline for pooled and single-cell CRISPR screens. Takes raw FASTQ files (or pre-counted matrices) through library QC, guide counting, six-stage quality control, optional copy-number correction for cancer lines, optional batch correction for multi-batch screens, design-matched hit calling across MAGeCK RRA/MLE, BAGEL2, drugZ, JACKS, and Chronos, and tier-based consensus. Branches into specialized workflows for single-cell Perturb-seq, combinatorial paralog screens, base-editor and prime-editor variant-function screens, and in vivo bottleneck-aware screens.
# Core hit-calling tools (MAGeCK/mageck-vispr are on bioconda, NOT PyPI)
conda install -c bioconda mageck mageck-vispr
# BAGEL2 and JACKS are GitHub clones (the PyPI `jacks` is an unrelated package)
git clone https://github.com/hart-lab/bagel
git clone https://github.com/felicityallen/JACKS
pip install pertpy scanpy anndata
# drugZ (clone from GitHub)
git clone https://github.com/hart-lab/drugz
# Editing analysis (CRISPResso2 is on bioconda, not PyPI)
conda install -c bioconda crispresso2
# Chronos for DepMap-style cancer-line CN+quality jointly (GitHub, not PyPI)
pip install git+https://github.com/broadinstitute/chronos
# R packages
R -e "BiocManager::install('sva')"
# MAGeCKFlute was removed from Bioconductor at the 3.22 release
R -e "remotes::install_github('WubingZhang/MAGeCKFlute')"
# CRISPRcleanR and sceptre are GitHub packages, not Bioconductor/CRAN
R -e "devtools::install_github(c('francescojm/CRISPRcleanR', 'katsevich-lab/sceptre'))"
# Helpers
pip install pandas numpy scipy matplotlib seaborn scikit-learn biopython statsmodels
Required inputs: - FASTQ files (one per sample) OR pre-counted matrix - sgRNA library CSV with columns sgRNA, Gene, Sequence - Sample-to-condition mapping - For cancer-line screens: copy-number profile (WGS / SNP-array / ASCAT) - For multi-batch: batch annotation per sample - For in vivo: per-animal sample annotation
Tell the AI agent what to run: - "Run the end-to-end CRISPR screen pipeline on my Brunello dropout screen with vehicle and drug arms" - "Apply CRISPRcleanR copy-number correction before MAGeCK on my HER2+ SK-BR-3 panel" - "Pick MAGeCK RRA vs MLE vs BAGEL2 vs drugZ vs JACKS vs Chronos for my screen design and execute" - "Build tier-based consensus across MAGeCK + BAGEL2 + drugZ for high-stakes drug-target nomination" - "Branch the pipeline into perturb-seq-analysis for my single-cell CROP-seq dataset" - "Diagnose CEGv2 PR-AUC under 0.5 in my screen and recommend remediation"
"I have FASTQ from a Brunello dropout screen: plasmid + Day 0 + 3 replicates of Day 14 vehicle + 3 replicates of Day 14 drug. Run guide counting, six-stage QC, then MAGeCK test (drug vs vehicle) and drugZ in parallel. Output tier-2 consensus hits at FDR <0.05."
"Pick the appropriate hit-calling method for my time-course screen across 5 cell lines. Run MAGeCK MLE with cell-line covariates."
"My screen is in SK-BR-3 (HER2+, high-level ERBB2 amplification). Run CRISPRcleanR pre-hoc, then MAGeCK on corrected counts. Verify ERBB2 is no longer top hit."
"DepMap-style screen across 12 cancer cell lines, longitudinal sampling, matched WGS CN profiles. Use Chronos as the integrated CN + screen-quality + gene-effect model."
"PARPi sensitivity screen: vehicle vs olaparib at 14 days. Run drugZ with -i -o -c -x flags; expect sensitizers in DDR pathway (BRCA1/2, RAD51) and resistance in PARP1 paradox."
"Build a MAGeCK MLE design matrix for Day 0 / 7 / 14 / 21 timepoints. Run mle; output per-condition beta scores; identify genes with monotonic depletion trends."
"Branch to perturb-seq-analysis: my data is CROP-seq with 10X 3' direct capture. Run sgRNA assignment, Mixscape escaper filter, then per-perturbation DE."
"Branch to combinatorial-screens: Inzolia 4-guide-array Cas12a library targeting 400 paralog pairs. Compute GI scores and identify synthetic-lethal pairs at GI z <-2."
"Branch to base-editing-analysis for my CBE saturation screen of BRCA1 exons 1-23 (Hanna 2021 methodology). Filter to >30% editing-efficient sgRNAs; aggregate to per-variant fitness."
"Branch to in-vivo-screens: focused 2,500-gene library in B16-OVA syngeneic with 10 mice per condition. Per-animal MAGeCK + Stouffer Z meta-analysis."
"Screen passes Gini and Pearson but CEGv2 PR-AUC is 0.45. Diagnose Cas9 selection failure vs early timepoint vs library positioning vs CN bias and recommend remediation."
"My MAGeCK RRA says everything is significant at FDR <0.01. Diagnose heavy selection breaking median normalization; recommend switching to --norm-method control with NTCs or BAGEL2."
| Screen design | Primary method | Secondary check |
|---|---|---|
| Two-condition essentiality | MAGeCK RRA | BAGEL2 |
| Time course | MAGeCK MLE | JACKS |
| Drug vs vehicle | drugZ | MAGeCK MLE |
| Multi-screen, same library | JACKS | MAGeCK MLE |
| Cancer-line panel | Chronos | MAGeCK MLE per line |
| Single-cell | SCEPTRE (see perturb-seq-analysis) | Mixscape pre-filter |
| Combinatorial / paralog | MAGeCK MLE + GI scoring | See combinatorial-screens |
| Variant function (BE/PE) | CRISPResso2 + MAGeCK | See base/prime-editing-screens |
| In vivo | MAGeCK with animal covariate | Per-animal Stouffer meta |
| Stage | Check | Pass | Action if fail |
|---|---|---|---|
| Counting | Mapping rate | >65-70% | Check adapter / library format |
| Plasmid | Gini | <0.1 | Re-amplify or re-clone |
| Endpoint | Replicate Pearson on log-counts | >=0.8 (MAGeCK-VISPR floor) | Drop outlier replicate |
| Biology | CEGv2 PR-AUC | >0.7 | Cas9 selection / timepoint / TSS issue |
| CN | Spearman LFC vs CN | abs(rho) <0.05 post-correction | Apply CRISPRcleanR / Chronos |
| Depth | Reads per sgRNA | >300 | Re-sequence |
| MOI | Poisson P(>=2) | <5% | Re-infect at lower MOI |
| File | Source | Description |
|---|---|---|
| experiment.count.txt | mageck count | Raw count matrix |
| experiment.countsummary.txt | mageck count | Per-sample QC summary |
| screen_cleanr_corrected_counts.txt | CRISPRcleanR | CN-corrected counts |
| essentiality_rra.gene_summary.txt | mageck test | Gene-level RRA scores + FDR |
| bayes_factor.txt | BAGEL2 | Per-gene Bayes Factor |
| drugz_output.txt | drugZ | Per-direction Z + FDR |
| jacks_out_gene_JACKS_results.txt | JACKS | Gene effect + sgRNA efficacy |
| tier_consensus.csv | Pipeline aggregation | Tier-1/2/3 hit assignment |
| volcano.png, rank.png | Visualization | Standard hit plots |