bio-crispr-screens-batch-correction

Diagnose and correct batch effects in pooled CRISPR screens using ComBat, RUV, SVA, and covariate modeling.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pycombat, numpy, pandas, scipy, scikit-learn.

What problem does it solve? Multi-batch CRISPR screens suffer from technical variation (library lot, passage cohort, infection day, sequencing run) that can mask or mimic biological signal, and naive correction can destroy the very biology being measured. This Skill diagnoses whether batch effects dominate, selects the appropriate correction strategy, and applies it without eliminating condition signal. ## Core Features & Use Cases - Batch Diagnostics: PCA plus variance decomposition with F-statistics to quantify whether batch or condition dominates each principal component before any correction. - Four Correction Methods: ComBat empirical-Bayes with biological covariates, RUV with non-targeting control sgRNAs, SVA surrogate variables, and NTC-anchored normalization, plus the preferred alternative of modeling batch as an explicit covariate in MAGeCK MLE or Chronos design matrices. - Failure-Mode Guardrails: Detects confounded batch-condition designs, all-NaN ComBat outputs, collinear MLE design matrices, and over-correction, with post-correction validation via PCA overlap and CEGv2 PR-AUC preservation. - Use Case: You combined two screen batches and across-batch replicate Pearson is 0.78 versus 0.95 within-batch. The Skill diagnoses the batch source, applies ComBat with a condition covariate, and verifies PR-AUC is preserved before hit calling. ## Quick Start Diagnose batch effects in my multi-batch CRISPR screen with PCA and variance decomposition, then apply the appropriate correction while preserving condition signal.

Frequently Asked Questions about bio-crispr-screens-batch-correction

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

FAQPage Schema
How do I correct batch effects in CRISPR screens?▼

First run PCA and variance decomposition to confirm batch dominates over condition. Then apply ComBat with a biological covariate, RUV with non-targeting controls, or include batch as a covariate in the MAGeCK MLE design matrix, which is preferred for hit calling.

ComBat vs RUV for CRISPR screen batch correction?▼

ComBat is preferred when batches are known and well-annotated with at least 3 samples per batch. RUV is better when batch sources are unknown, using non-targeting control sgRNAs to estimate unwanted variation factors.

Why did ComBat remove my biological signal?▼

ComBat without a biological covariate treats condition variance as batch variance when batch is confounded with condition. Always pass the condition as the mod covariate, and verify CEGv2 PR-AUC is preserved after correction.

Should I pre-correct counts or add batch to the MAGeCK MLE design matrix?▼

Adding batch as an explicit covariate in the MLE design matrix is preferred because it propagates batch-term uncertainty into the condition beta standard error. ComBat-then-test treats corrected counts as noise-free and biases FDR.

When should I not apply batch correction to a screen?▼

Skip correction when batch is fully confounded with condition, when replicates already correlate above 0.95 across batches, when fewer than 3 samples exist per batch, or for single-screen analyses with no batch structure.

Why does ComBat return an all-NaN matrix without an error?▼

Features constant within any batch cause division by zero during standardization, and near-zero pooled variance when no real batch effect exists also yields NaN with exit code 0. Drop constant features and validate the output matrix before downstream use.