| name | chipseqspikeinfree |
| description | Maintain, test, review, and use the ChIPseqSpikeInFree R package for spike-in-free ChIP-seq normalization. Use when working on this repository, changing package code or docs, running testthat/R checks, preparing releases, helping users run GenerateBins/CountRawReads/ParseReadCounts/CalculateSF/PlotDistr/BoxplotSF/ChIPseqSpikeInFree, or interpreting scaling-factor outputs. |
ChIPseqSpikeInFree
Use this skill for agent work on the ChIPseqSpikeInFree R package and for helping users run or interpret the package workflow.
Quick Start
- Read
references/package-workflow.md when the task involves package behavior, expected inputs/outputs, release metadata, tests, or interpretation of scaling factors.
- Prefer focused changes in
R/ChIPseqSpikeInFree.R; avoid broad style rewrites unless the user asks.
- For validation from the repo root, run
scripts/run_tests.ps1 from this skill or use its Rscript command directly.
- If
Rscript is not on PATH on Windows, use the fallback path in the reference and script.
Maintenance Workflow
- Start with
git status --short and inspect any touched files before editing.
- For bug fixes, add or update focused tests under
tests/testthat/.
- Keep public function signatures stable unless the user explicitly requests an API change.
- Update
DESCRIPTION and README examples when package version or user-visible behavior changes.
- Leave the versioned PDF link alone unless a matching PDF exists in
docs/.
Package Workflow
Use the high-level pipeline in this order:
ReadMeta() validates metadata with required ID, ANTIBODY, and GROUP columns.
CountRawReads() counts BAM reads in bins generated by GenerateBins().
ParseReadCounts() converts raw counts to cumulative CPMW distributions.
CalculateSF() computes QC and scaling factors by antibody.
PlotDistr() and BoxplotSF() write summary PDF/text outputs.
ChIPseqSpikeInFree() wraps the full workflow.
Validation
Run the focused suite after changes:
powershell -ExecutionPolicy Bypass -File skills\chipseqspikeinfree\scripts\run_tests.ps1
Expected successful result includes FAIL 0.