bio-chipseq-spike-in-normalization
Normalizes ChIP-seq data using exogenous spike-in (ChIP-Rx with Drosophila chromatin per Orlando 2014 / Egan 2016; E. coli carryover for CUT&RUN/CUT&Tag). Distinguishes RRPM from Rx-Input scaling, integrates with DiffBind / DESeq2 / edgeR / csaw via sizeFactors and DiffBind library-size vectors, and applies the Patel et al 2024 *Nat Biotechnol* review's failure-mode framework to validate that normalization is correctly applied at the read level (not peak counts). Use when global signal shifts are expected (HDACi, BETi, EZH2i, dosage, target knockdown), when ChIPseqSpikeInFree detects post-hoc
npx skills add BioTender-max/awesome-bio-agent-skills --skill spike-in-normalization --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
## Version Compatibility Reference examples tested with: DiffBind 3.20+, DESeq2 1.42+, edgeR 4.0+, csaw 1.36+, ChIPseqSpikeInFree 1.6+, SpikChIP 1.0+, SpikeFlow (NAR Genom Bioinform 2024), samtools 1.19+, bowtie2 2.5+. # ChIP-seq Spike-In Normalization **"Account for global signal changes that defeat standard normalization"** -> Add exogenous reference chromatin (Drosophila for human/mouse ChIP-Rx; E. coli carryover for CUT&RUN/CUT&Tag) at fixed concentration BEFORE IP, derive scaling factors from spike-in read counts, and apply at the read or size-factor level (never to peak counts) to enable quantitative cross-condition comparison. - CLI: align reads to combined target + spike genome; count spike reads via `samtools view -c` - R (DiffBind integration): `dba.normalize(obj, spikein = TRUE)` - R (DESeq2 / edgeR): `sizeFactors(dds) <- 1 / scale_factors` (note inverse) - CLI (deepTools tracks): `bamCoverage --scaleFactor <derived>` (mutually exclusive with `--normalizeUsing`) - Wrapper: SpikeFlow (Snakemake; 2024) automates end-to-end - Post-hoc detection: ChIPseqSpikeInFree (when no spike-in was added) The fundamental rule: spike-in scaling is applied at the READ level (via size fact
- Version Compatibility
- When Spike-In Is Required
- Spike-In Protocol Taxonomy
- Scaling Factor Calculation
- Workflow: Drosophila ChIP-Rx Spike-In
- Step 1: Alignment to combined genome
- Step 2: Filter, deduplicate, count spike reads
- Step 3: Compute scaling factors
- Step 4: Apply scaling — three layers
- Workflow: E. coli Spike-In (CUT&RUN/CUT&Tag Automatic)
- ChIPseqSpikeInFree: Post-Hoc Detection
- Internal-Control Sanity Check (Mandatory)
- Per-Tool Failure Modes
- Scaling factor applied to peak counts instead of read counts
Build combined index (target + Drosophila) cat hg38.fa dm6.fa > hg38_dm6.fa bowtie2-build hg38_dm6.fa hg38_dm6 Align reads bowtie2 -x hg38_dm6 -1 R1.fq -2 R2.fq -S aln.sam --very-sensitive --no-mixed samtools view -bS aln.sam | samtools sort -o aln.bam samtools index aln.bam Apply ENCODE filter (-F 1804 -q 30) BEFORE counting spike reads samtools view -F 1804 -q 30 -b aln.bam > aln.filt.bam samtools index aln.filt.bam
What does the bio-chipseq-spike-in-normalization skill do?
Normalizes ChIP-seq data using exogenous spike-in (ChIP-Rx with Drosophila chromatin per Orlando 2014 / Egan 2016; E. coli carryover for CUT&RUN/CUT&Tag). Distinguishes RRPM from Rx-Input scaling, integrates with DiffBind / DESeq2 / edgeR / csaw via sizeFactors and DiffBind library-size vectors, and applies the Patel et al 2024 *Nat Biotechnol* review's failure-mode framework to validate that normalization is correctly applied at the read level (not peak counts). Use when global signal shifts are expected (HDACi, BETi, EZH2i, dosage, target knockdown), when ChIPseqSpikeInFree detects post-hoc
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill spike-in-normalization --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
