ChIP/CUT&RUN Peaks QC
Use this skill for antibody-targeted enrichment workflows: ChIP-seq, CUT&RUN, or CUT&Tag. Use ngs-atacseq-peaks-qc for ATAC-seq.
Essential Inputs
Confirm:
- assay: ChIP-seq, CUT&RUN, or CUT&Tag
- target class: transcription factor, histone mark, chromatin regulator, or custom target
- FASTQ/BAM inputs and paired-end status
- input DNA, IgG, no-antibody, or spike-in controls
- organism, genome build, blacklist, and spike-in genome if used
- biological replicates, conditions, batches, and sample metadata
- desired endpoint: QC, peaks, bigWigs, consensus peaks, or differential binding
Route
Use nf-core/chipseq for ChIP-seq and nf-core/cutandrun for CUT&RUN/CUT&Tag when they fit the assay. Use direct MACS2 only for prepared BAMs with known control and duplicate policy.
Preflight command:
python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline chip_cutrun_peaks_qc --emit-install-plan
For compact FASTQ intake/QC, use the shared epigenomics execution package:
python plugins/ngs-analysis/scripts/run_fastq_assay_package.py \
--lane epigenomics_peaks \
--sample-sheet chip_or_cutrun_samples.csv \
--execute
It records FASTQ-level QC and peak-calling readiness.
For local-light alignment, control-aware MACS2 peak calling, FRiP, bigWig tracks, consensus peaks, and motif-handoff artifacts, use the dedicated ChIP/CUT&RUN runner:
python plugins/ngs-analysis/scripts/run_chip_cutrun_peaks_qc.py \
--sample-sheet chip_or_cutrun_samples.csv \
--assay chipseq \
--target-class tf \
--peak-mode narrow \
--bowtie2-index /refs/GRCh38/bowtie2/genome \
--genome-size hs \
--blacklist-bed /refs/GRCh38/blacklists/encode_blacklist.bed \
--execute
This runner emits qc/chip_cutrun_qc_summary.{tsv,json}, qc/chip_cutrun_qc_dashboard.html, native SVG FRiP/peak and insert-size plots, browser-track handoff files under tracks/, and motifs/motif_summary.tsv. Add --run-motifs --motif-genome <genome> when HOMER motif enrichment should be executed instead of only planned.
It also emits resources/resource_plan.json, resource_manifest.tsv, resource_env.sh, and resource_readiness.md. The resource check is advisory by default for local-light runs; add --genome-build, --bundle-root <bundle>=<path>, and --require-resource-plan when missing registered reference bundles should block readiness.
For nf-core execution, use plugins/ngs-analysis/scripts/run_nfcore_pipeline.py --pipeline chipseq or --pipeline cutandrun.
Decision Points
- Choose narrow versus broad peak mode from target biology, not from convenience.
- Preserve control pairing and spike-in metadata through sample sheets.
- For histone marks, expect broad or domain-like signal for many marks; for TFs, expect sharper peaks and stronger replicate checks.
- Review alignment rate, duplicate rate, fragment size, FRiP/peak signal, blacklist overlap, and replicate concordance.
- Keep consensus peak generation and differential binding design separate from raw peak calling.
Outputs
Produce:
- assay/target/control manifest
- command/profile and sample sheet
- QC summary with replicate/control status
- peaks, bigWigs, browser-track manifests, browser-track preview HTML, native QC dashboard/SVG plots, consensus peaks, and count matrix when requested
- motif summary files when a motif backend is requested
- differential binding design and caveats for missing controls, weak enrichment, or poor replicate concordance
1---2name: ngs-chip-cutrun-peaks-qc3description: Run or plan ChIP-seq, CUT&RUN, or CUT&Tag QC, control handling, spike-in, peak calling, broad-vs-narrow target selection, replicate, bigWig, and differential binding workflows.4---56# ChIP/CUT&RUN Peaks QC78Use this skill for antibody-targeted enrichment workflows: ChIP-seq, CUT&RUN, or CUT&Tag. Use `ngs-atacseq-peaks-qc` for ATAC-seq.910## Essential Inputs1112Confirm:1314- assay: ChIP-seq, CUT&RUN, or CUT&Tag15- target class: transcription factor, histone mark, chromatin regulator, or custom target16- FASTQ/BAM inputs and paired-end status17- input DNA, IgG, no-antibody, or spike-in controls18- organism, genome build, blacklist, and spike-in genome if used19- biological replicates, conditions, batches, and sample metadata20- desired endpoint: QC, peaks, bigWigs, consensus peaks, or differential binding2122## Route2324Use `nf-core/chipseq` for ChIP-seq and `nf-core/cutandrun` for CUT&RUN/CUT&Tag when they fit the assay. Use direct MACS2 only for prepared BAMs with known control and duplicate policy.2526Preflight command:2728```bash29python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline chip_cutrun_peaks_qc --emit-install-plan30```3132For compact FASTQ intake/QC, use the shared epigenomics execution package:3334```bash35python plugins/ngs-analysis/scripts/run_fastq_assay_package.py \36 --lane epigenomics_peaks \37 --sample-sheet chip_or_cutrun_samples.csv \38 --execute39```4041It records FASTQ-level QC and peak-calling readiness.4243For local-light alignment, control-aware MACS2 peak calling, FRiP, bigWig tracks, consensus peaks, and motif-handoff artifacts, use the dedicated ChIP/CUT&RUN runner:4445```bash46python plugins/ngs-analysis/scripts/run_chip_cutrun_peaks_qc.py \47 --sample-sheet chip_or_cutrun_samples.csv \48 --assay chipseq \49 --target-class tf \50 --peak-mode narrow \51 --bowtie2-index /refs/GRCh38/bowtie2/genome \52 --genome-size hs \53 --blacklist-bed /refs/GRCh38/blacklists/encode_blacklist.bed \54 --execute55```5657This runner emits `qc/chip_cutrun_qc_summary.{tsv,json}`, `qc/chip_cutrun_qc_dashboard.html`, native SVG FRiP/peak and insert-size plots, browser-track handoff files under `tracks/`, and `motifs/motif_summary.tsv`. Add `--run-motifs --motif-genome <genome>` when HOMER motif enrichment should be executed instead of only planned.5859It also emits `resources/resource_plan.json`, `resource_manifest.tsv`, `resource_env.sh`, and `resource_readiness.md`. The resource check is advisory by default for local-light runs; add `--genome-build`, `--bundle-root <bundle>=<path>`, and `--require-resource-plan` when missing registered reference bundles should block readiness.6061For nf-core execution, use `plugins/ngs-analysis/scripts/run_nfcore_pipeline.py --pipeline chipseq` or `--pipeline cutandrun`.6263## Decision Points6465- Choose narrow versus broad peak mode from target biology, not from convenience.66- Preserve control pairing and spike-in metadata through sample sheets.67- For histone marks, expect broad or domain-like signal for many marks; for TFs, expect sharper peaks and stronger replicate checks.68- Review alignment rate, duplicate rate, fragment size, FRiP/peak signal, blacklist overlap, and replicate concordance.69- Keep consensus peak generation and differential binding design separate from raw peak calling.7071## Outputs7273Produce:7475- assay/target/control manifest76- command/profile and sample sheet77- QC summary with replicate/control status78- peaks, bigWigs, browser-track manifests, browser-track preview HTML, native QC dashboard/SVG plots, consensus peaks, and count matrix when requested79- motif summary files when a motif backend is requested80- differential binding design and caveats for missing controls, weak enrichment, or poor replicate concordance