bio-crispr-screens-bagel-essentiality

Identifies essential genes from CRISPR-Cas9 fitness screens using BAGEL2 Bayes Factors.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/mrsonord2240/openscience-specialists --skill bio-crispr-screens-bagel-essentiality-mrsonord2240
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bio-crispr-screens-bagel-essentiality
Source: https://github.com/mrsonord2240/openscience-specialists/tree/main/specialists/crispr-screen-analyst/versions/1.0.0/package/skills/bio-crispr-screens-bagel-essentiality
Command: npx skills add https://github.com/mrsonord2240/openscience-specialists --skill bio-crispr-screens-bagel-essentiality-mrsonord2240

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pandas, numpy, scipy, matplotlib.

What problem does it solve? CRISPR-Cas9 fitness screens produce per-sgRNA count data that must be converted into defensible per-gene essentiality calls; doing this by hand risks miscalibrated thresholds, non-reproducible results from unseeded resampling, and false tumor-suppressor calls from dropout-only screens. ## Core Features & Use Cases - End-to-end BAGEL2 workflow: Runs the fc + bf + pr pipeline to compute per-sgRNA fold changes, per-gene Bayes Factors against CEGv2/NEGv1 reference sets, and precision-recall curves for empirical threshold calibration. - Reproducibility and failure-mode guards: Enforces fixed -s seeds (unseeded runs flip dozens of gene calls), detects swapped -e/-n references (all-nan BF output), and restricts tumor-suppressor calls to enrichment-designed screens. - Cross-method reconciliation: Compares BAGEL2 hits against MAGeCK and drugZ, with per-sgRNA BF contribution analysis to catch guide-of-one artifacts. - Use Case: Given a Brunello-library dropout screen count matrix, compute fold changes versus the plasmid control, score all genes with a seeded bootstrap run, and report essentials at BF >6 calibrated by the screen's own PR curve. ## Quick Start Run BAGEL2 on my counts.txt with Plasmid as control, compute Bayes Factors against CEGv2 and NEGv1 with a fixed seed, and pick the BF threshold from the precision-recall curve.

Frequently Asked Questions about bio-crispr-screens-bagel-essentiality

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify essential genes from a CRISPR screen with BAGEL2?▼

Run BAGEL.py fc to compute per-sgRNA fold changes against a control sample, then BAGEL.py bf with CEGv2 and NEGv1 reference sets to get per-gene Bayes Factors. Genes with BF >6 are standard essentiality calls, corresponding to roughly 90% posterior probability per Hart 2017.

BAGEL2 vs MAGeCK for CRISPR screen hit calling?▼

BAGEL2 uses a Bayes factor classifier anchored to CEGv2/NEGv1 reference sets and detects tumor suppressors via linear extrapolation, while MAGeCK uses a negative binomial GLM with an internal null. BAGEL2 suits essentiality classification; MAGeCK suits general hit calling without reference dependence.

Why do BAGEL2 results differ between identical runs?▼

BAGEL.py seeds its resampling from the system clock by default, so unseeded runs produce different Bayes Factors and can flip dozens of genes across the BF >6 threshold. Always pass a fixed -s integer and record it for reproducible results.

Why does BAGEL2 output nan for every gene's Bayes Factor?▼

An all-nan BF column means the -e and -n reference arguments were swapped; BAGEL.py exits 0 with no warning. Check the argument order against the documentation and re-run with CEGv2 as -e and NEGv1 as -n.

Can BAGEL2 detect tumor suppressors in a dropout screen?▼

No; negative-BF genes in a pure dropout screen are noise, not tumor suppressors, and naive calling can flag most of the genome. Restrict tumor-suppressor calls to screens designed for enrichment, such as drug-resistance or gain-of-function screens, and exclude assay-control pseudo-genes first.