Decision-grade analysis of CRISPR drug-modifier screens with drugZ (Colic et al. 2019 Genome Medicine). Uses bidirectional Z-scores comparing drug vs vehicle (NOT Day-0) to identify sensitizing (synthetic-lethal) genes and resistance-conferring (suppressor) genes. More sensitive to small-effect hits than MAGeCK / STARS / edgeR / RIGER on drug screens. Covers vehicle-vs-Day-0 reference choice, sumZ / normZ math, per-direction FDR, and reconciliation with MAGeCK MLE.
# drugZ (Python)
git clone https://github.com/hart-lab/drugz
cd drugz # run python drugz.py directly; the repo has no setup.py
# OR (if available)
# drugZ is not on PyPI; use the GitHub clone above
# Helpers
pip install pandas numpy scipy statsmodels matplotlib
Required inputs:
- Count matrix with sgRNA, GENE, then sample columns (tab-separated)
- Vehicle (DMSO or carrier) sample columns
- Drug-treated sample columns
- Same time point for both arms (e.g., Day 14 vehicle vs Day 14 drug)
Tell the AI agent what to do:
- "Run drugZ on PARPi screen: vehicle vs olaparib at 14 days; identify sensitizers (BRCA1/2) and suppressors (PARP1 paradox)"
- "Compare drugZ vs MAGeCK MLE on the same chemogenomic screen; expect drugZ to recover more small-effect sensitizers with stronger expected-pathway enrichment"
- "Drug screen at 3 doses: run drugZ per dose; require consistent direction across doses for high-confidence hits"
- "Diagnose drugZ calling many essentials as sensitizers -- recommend -r with a comma-list of essential gene names to excludele` with CEGv2"
"Run drugZ on counts.txt with vehicle samples Veh_r1, Veh_r2, Veh_r3 (passed via -c flag) and drug samples Drug_r1, Drug_r2, Drug_r3 (via -x flag). Pseudocount 5 (-p 5). Output ranked by fdr_synth (sensitizers) and fdr_supp (suppressors)."
"Run drugZ on a PARPi (olaparib) chemogenomic screen. Expect sensitizers in DDR pathway (BRCA1, BRCA2, RAD51, FANCD2). Identify novel resistance genes (suppressors)."
"Diagnose why my drugZ output has no sensitizers. Confirm: am I comparing drug vs vehicle, or drug vs Day 0? If Day-0, re-run with vehicle samples."
"For my 3-dose PARPi screen, run drugZ at low, mid, and high dose vs vehicle. Identify dose-consistent sensitizers (same gene appearing at all 3 doses with same direction)."
"Run drugZ with
-rset to a comma-delimited list of CEGv2 essential gene names. Compare to default output; the difference is the artifact from essentiality inflating the null."
"Compare drugZ vs MAGeCK MLE on the same drug screen. Compute Jaccard similarity at FDR 0.05. For drugZ-only hits, investigate per-sgRNA evidence."
"MAGeCK and drugZ disagree on PARPi resistance hits. drugZ shows 12 hits at fdr_supp <0.05; MAGeCK shows 4 at pos|fdr <0.05. Reconcile."
"drugZ hits are dominated by RPS / RPL / EIF essentials. Diagnose: am I running with Day-0 baseline by mistake, or do I need to exclude essentials from the null?"
"Replicate-to-replicate drugZ runs give different top hits. Diagnose: insufficient sgRNAs per gene, or biological variation between replicates?"
-r (comma-delimited gene names)-r option excludes specified genes from the null distribution. Use it to remove CEGv2 essentials when they dominate the sensitizer list -- this is a common pitfall in dropout-heavy drug screens.| Screen design | Method |
|---|---|
| Vehicle vs drug, single dose, 3+ replicates | drugZ |
| Multi-dose response | drugZ per dose + consistency |
| Time course + drug | MAGeCK MLE with time + dose covariates |
| Drug × cell-line panel | drugZ per line + meta-analysis |
| Synergy / antagonism | MAGeCK MLE with interaction term |
| Small-effect screen | drugZ (preferred for chemogenomic) |
| Essentiality + drug | drugZ for drug, BAGEL2 for essentiality |
| Threshold | Value | Rationale |
|---|---|---|
| Sensitizer FDR | fdr_synth < 0.05 |
Colic et al. 2019 |
| Suppressor FDR | fdr_supp < 0.05 |
Same |
| High-confidence sensitizer | fdr_synth < 0.01 AND normZ < -3 |
Conservative |
| Replicate Pearson | >0.85 | Pre-drugZ QC |
| Min sgRNAs/gene | 4-6 (Brunello-style) | Stable Z |
| Pseudocount | 5 (default); higher for low-count | Colic et al. 2019 |