Agent skill · Data & Analytics

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

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeNOASSERTION
Install
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.

Facts
Files in the skill folder: 3
SKILL.md size: 17 KB
Bundled scripts: none
Path: skills/bioskills/spike-in-normalization/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

## 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

What's inside
Steps it walks through
  1. Version Compatibility
  2. When Spike-In Is Required
  3. Spike-In Protocol Taxonomy
  4. Scaling Factor Calculation
  5. Workflow: Drosophila ChIP-Rx Spike-In
  6. Step 1: Alignment to combined genome
  7. Step 2: Filter, deduplicate, count spike reads
  8. Step 3: Compute scaling factors
  9. Step 4: Apply scaling — three layers
  10. Workflow: E. coli Spike-In (CUT&RUN/CUT&Tag Automatic)
  11. ChIPseqSpikeInFree: Post-Hoc Detection
  12. Internal-Control Sanity Check (Mandatory)
  13. Per-Tool Failure Modes
  14. Scaling factor applied to peak counts instead of read counts
Ships with 2 files
  • examples/spikein_chiprx_diffbind.R
  • usage-guide.md
Commands it runs
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
More from awesome-bio-agent-skills
All skills →
About this skill
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.

Keep going