/pipeline-cutandrun
Execute CUT&RUN processing pipeline from FASTQ to peaks and signal tracks. Child of pipeline-guide. Provides Nextflow execution with Docker and cloud deployment. Use when processing CUT&RUN or CUT&Tag data, an alternative to ChIP-seq with lower background. Trigger on: CUT&RUN
$ npx -y skills add ammawla/encode-toolkit --skill pipeline-cutandrun --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/pipeline-cutandrun
Context preview
The summary Claude sees to decide when to auto-load this skill.
Execute CUT&RUN processing pipeline from FASTQ to peaks and signal tracks. Child of pipeline-guide. Provides Nextflow execution with Docker and cloud deployment. Use when processing CUT&RUN or CUT&Tag data, an alternative to ChIP-seq with lower background. Trigger on: CUT&RUN
SKILL.md
pipeline-cutandrun.SKILL.mdname: pipeline-cutandrun
description: "Execute CUT&RUN processing pipeline from FASTQ to peaks and signal tracks. Child of pipeline-guide. Provides Nextflow execution with Docker and cloud deployment. Use when processing CUT&RUN or CUT&Tag data, an alternative to ChIP-seq with lower background. Trigger on: CUT&RUN pipeline, CUT&Tag, SEACR, Henikoff, targeted chromatin, pA-MNase, process CUT&RUN."
ENCODE CUT&RUN Pipeline: FASTQ to Peaks and Signal Tracks
When to Use
- User wants to run a CUT&RUN or CUT&Tag processing pipeline from FASTQ to peaks
- User asks about "CUT&RUN pipeline", "CUT&Tag", "SEACR", "spike-in normalization", or "targeted chromatin"
- User needs to process CUT&RUN/CUT&Tag data with spike-in calibration and SEACR peak calling
- Example queries: "process my CUT&RUN FASTQs", "run SEACR on CUT&Tag data", "normalize CUT&RUN with spike-in controls"
Execute the CUT&RUN/CUT&Tag processing pipeline for targeted chromatin profiling, producing peak calls with SEACR and spike-in normalized signal tracks.
Pipeline Overview
FASTQ -> Trim -> Bowtie2 align (genome) -> Filter/dedup -> SEACR peaks
| | |
Bowtie2 align (spike-in) Spike-in normalize Signal tracks
|
Scale factor calculationENCODE Repository
- **GitHub**: `ENCODE-DCC/cutandrun-pipeline`
- **Container**: `encodedcc/cutandrun-pipeline`
- **This skill**: Nextflow DSL2 reimplementation for portability
Core Tools and Versions
| Tool | Version | Purpose | Citation | |------|---------|---------|----------| | Bowtie2 | 2.5.3 | Alignment (genome + spike-in) | Langmead & Salzberg 2012 | | SEACR | 1.3 | Peak calling (CUT&RUN-specific) | Meers et al. 2019 | | MACS2 | 2.2.9.1 | Alternative peak caller | Zhang et al. 2008 | | Picard | 3.1.1 | Duplicate marking | Broad Institute | | samtools | 1.19 | BAM operations | Li et al. 2009 | | bedtools | 2.31.0 | Genomic arithmetic | Quinlan & Hall 2010 | | deepTools | 3.5.4 | Signal track generation | Ramirez et al. 2016 | | FastQC | 0.12.1 | Read quality | Andrews (Babraham) | | MultiQC | 1.21 | Aggregated QC | Ewels et al. 2016 |
Key Literature
1. **Skene & Henikoff 2017** - "An efficient targeted nuclease strategy for high-resolution mapping of DNA binding sites" (eLife, ~1,500 citations) DOI: 10.7554/eLife.21856
2. **Meers et al. 2019** - "Peak calling by Sparse Enrichment Analysis for CUT&RUN chromatin profiling" (Epigenetics & Chromatin, ~800 citations) DOI: 10.1186/s13072-019-0287-4
3. **Kaya-Okur et al. 2019** - "CUT&Tag for efficient epigenomic profiling of small samples and single cells" (Nature Communications, ~1,200 citations) DOI: 10.1038/s41467-019-09982-5
4. **Nordin et al. 2023** - "The CUT&RUN suspect list of problematic regions" (Genome Biology) DOI: 10.1186/s13059-023-02960-3
5. **Amemiya et al. 2019** - "The ENCODE Blacklist" (Scientific Reports, ~1,372 citations) DOI: 10.1038/s41598-019-45839-z
Execution
Quick Start (Local)
nextflow run main.nf \
-profile local \
--reads '/data/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index '/ref/bowtie2_index/genome' \
--spikein_index '/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes '/ref/hg38.chrom.sizes' \
--blacklist '/ref/hg38-blacklist.v2.bed' \
--outdir results/ \
-resumeSLURM HPC
nextflow run main.nf \
-profile slurm \
--reads '/data/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index '/ref/bowtie2_index/genome' \
--spikein_index '/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes '/ref/hg38.chrom.sizes' \
--blacklist '/ref/hg38-blacklist.v2.bed' \
--outdir results/ \
-resumeCloud (GCP / AWS)
nextflow run main.nf \
-profile gcp \
--reads 'gs://bucket/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index 'gs://bucket/ref/bowtie2_index/genome' \
--spikein_index 'gs://bucket/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes 'gs://bucket/ref/hg38.chrom.sizes' \
--blacklist 'gs://bucket/ref/hg38-blacklist.v2.bed' \
--outdir 'gs://bucket/results/' \
-resumeResource Requirements
| Step | CPUs | RAM | Time (per sample) | |------|------|-----|-------------------| | Bowtie2 align (genome) | 8 | 8 GB | 30-60 min | | Bowtie2 align (spike-in) | 4 | 4 GB | 10-20 min | | Filter/dedup | 4 | 8 GB | 15-30 min | | SEACR peaks | 2 | 4 GB | 10-20 min | | Signal tracks | 4 | 8 GB | 15-30 min | | **Total** | **8** | **8 GB** | **1.5-3 hours** |
Pipeline Parameters
| Parameter | Default | Description | |-----------|---------|-------------| | `--reads` | required | Glob pattern to paired FASTQ files | | `--bowtie2_index` | required | Bowtie2 genome index prefix | | `--spikein_index` | required | Bowtie2 E. coli spike-in index prefix | | `--chrom_sizes` | required | Chromosome sizes file | | `--blacklist` | required | ENCODE blacklist BED file | | `--outdir` | `./results` | Output directory | | `--seacr_mode` | `stringent` | SEACR mode: `stringent` or `relaxed` | | `--seacr_norm` | `norm` | SEACR normalization: `norm` or `non` | | `--control` | `null` | IgG control BAM (if available) | | `--peak_caller` | `seacr` | Peak caller: `seacr` or `macs2` or `both` | | `--skip_spikein` | `false` | Skip spike-in normalization |
Output Files
results/
fastqc/ # Raw read quality
alignment/
{sample}.filtered.bam # Filtered, deduplicated BAM
{sample}.filtered.bam.bai
spikein/
{sample}.spikein_counts.txt # Spike-in read counts
{sample}.scale_factor.txt # Computed scale factor
peaks/
{sample}.seacr.stringent.bed # SEACR stringent peaks
{sample}.seacr.relaxed.bed # SEACR relaxed peaks
{sample}.macs2_peaks.narrowPeak # MACS2 peaks (if requested)
signal/
{sample}.normalized.bw # Spike-in normalized signal
{sample}.fragments.bed # Fragment BED file
qc/Read more
name: pipeline-cutandrun description: "Execute CUT&RUN processing pipeline from FASTQ to peaks and signal tracks. Child of pipeline-guide. Provides Nextflow execution with Docker and cloud deployment. Use when processing CUT&RUN or CUT&Tag data, an alternative to ChIP-seq with lower background. Trigger on: CUT&RUN pipeline, CUT&Tag, SEACR, Henikoff, targeted chromatin, pA-MNase, process CUT&RUN."
ENCODE CUT&RUN Pipeline: FASTQ to Peaks and Signal Tracks
When to Use
- User wants to run a CUT&RUN or CUT&Tag processing pipeline from FASTQ to peaks
- User asks about "CUT&RUN pipeline", "CUT&Tag", "SEACR", "spike-in normalization", or "targeted chromatin"
- User needs to process CUT&RUN/CUT&Tag data with spike-in calibration and SEACR peak calling
- Example queries: "process my CUT&RUN FASTQs", "run SEACR on CUT&Tag data", "normalize CUT&RUN with spike-in controls"
Execute the CUT&RUN/CUT&Tag processing pipeline for targeted chromatin profiling, producing peak calls with SEACR and spike-in normalized signal tracks.
Pipeline Overview
FASTQ -> Trim -> Bowtie2 align (genome) -> Filter/dedup -> SEACR peaks
| | |
Bowtie2 align (spike-in) Spike-in normalize Signal tracks
|
Scale factor calculationENCODE Repository
- **GitHub**: `ENCODE-DCC/cutandrun-pipeline`
- **Container**: `encodedcc/cutandrun-pipeline`
- **This skill**: Nextflow DSL2 reimplementation for portability
Core Tools and Versions
| Tool | Version | Purpose | Citation | |------|---------|---------|----------| | Bowtie2 | 2.5.3 | Alignment (genome + spike-in) | Langmead & Salzberg 2012 | | SEACR | 1.3 | Peak calling (CUT&RUN-specific) | Meers et al. 2019 | | MACS2 | 2.2.9.1 | Alternative peak caller | Zhang et al. 2008 | | Picard | 3.1.1 | Duplicate marking | Broad Institute | | samtools | 1.19 | BAM operations | Li et al. 2009 | | bedtools | 2.31.0 | Genomic arithmetic | Quinlan & Hall 2010 | | deepTools | 3.5.4 | Signal track generation | Ramirez et al. 2016 | | FastQC | 0.12.1 | Read quality | Andrews (Babraham) | | MultiQC | 1.21 | Aggregated QC | Ewels et al. 2016 |
Key Literature
1. **Skene & Henikoff 2017** - "An efficient targeted nuclease strategy for high-resolution mapping of DNA binding sites" (eLife, ~1,500 citations) DOI: 10.7554/eLife.21856
2. **Meers et al. 2019** - "Peak calling by Sparse Enrichment Analysis for CUT&RUN chromatin profiling" (Epigenetics & Chromatin, ~800 citations) DOI: 10.1186/s13072-019-0287-4
3. **Kaya-Okur et al. 2019** - "CUT&Tag for efficient epigenomic profiling of small samples and single cells" (Nature Communications, ~1,200 citations) DOI: 10.1038/s41467-019-09982-5
4. **Nordin et al. 2023** - "The CUT&RUN suspect list of problematic regions" (Genome Biology) DOI: 10.1186/s13059-023-02960-3
5. **Amemiya et al. 2019** - "The ENCODE Blacklist" (Scientific Reports, ~1,372 citations) DOI: 10.1038/s41598-019-45839-z
Execution
Quick Start (Local)
nextflow run main.nf \
-profile local \
--reads '/data/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index '/ref/bowtie2_index/genome' \
--spikein_index '/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes '/ref/hg38.chrom.sizes' \
--blacklist '/ref/hg38-blacklist.v2.bed' \
--outdir results/ \
-resumeSLURM HPC
nextflow run main.nf \
-profile slurm \
--reads '/data/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index '/ref/bowtie2_index/genome' \
--spikein_index '/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes '/ref/hg38.chrom.sizes' \
--blacklist '/ref/hg38-blacklist.v2.bed' \
--outdir results/ \
-resumeCloud (GCP / AWS)
nextflow run main.nf \
-profile gcp \
--reads 'gs://bucket/fastq/*_R{1,2}.fastq.gz' \
--bowtie2_index 'gs://bucket/ref/bowtie2_index/genome' \
--spikein_index 'gs://bucket/ref/bowtie2_ecoli/ecoli' \
--chrom_sizes 'gs://bucket/ref/hg38.chrom.sizes' \
--blacklist 'gs://bucket/ref/hg38-blacklist.v2.bed' \
--outdir 'gs://bucket/results/' \
-resumeResource Requirements
| Step | CPUs | RAM | Time (per sample) | |------|------|-----|-------------------| | Bowtie2 align (genome) | 8 | 8 GB | 30-60 min | | Bowtie2 align (spike-in) | 4 | 4 GB | 10-20 min | | Filter/dedup | 4 | 8 GB | 15-30 min | | SEACR peaks | 2 | 4 GB | 10-20 min | | Signal tracks | 4 | 8 GB | 15-30 min | | **Total** | **8** | **8 GB** | **1.5-3 hours** |
Pipeline Parameters
| Parameter | Default | Description | |-----------|---------|-------------| | `--reads` | required | Glob pattern to paired FASTQ files | | `--bowtie2_index` | required | Bowtie2 genome index prefix | | `--spikein_index` | required | Bowtie2 E. coli spike-in index prefix | | `--chrom_sizes` | required | Chromosome sizes file | | `--blacklist` | required | ENCODE blacklist BED file | | `--outdir` | `./results` | Output directory | | `--seacr_mode` | `stringent` | SEACR mode: `stringent` or `relaxed` | | `--seacr_norm` | `norm` | SEACR normalization: `norm` or `non` | | `--control` | `null` | IgG control BAM (if available) | | `--peak_caller` | `seacr` | Peak caller: `seacr` or `macs2` or `both` | | `--skip_spikein` | `false` | Skip spike-in normalization |
Output Files
results/
fastqc/ # Raw read quality
alignment/
{sample}.filtered.bam # Filtered, deduplicated BAM
{sample}.filtered.bam.bai
spikein/
{sample}.spikein_counts.txt # Spike-in read counts
{sample}.scale_factor.txt # Computed scale factor
peaks/
{sample}.seacr.stringent.bed # SEACR stringent peaks
{sample}.seacr.relaxed.bed # SEACR relaxed peaks
{sample}.macs2_peaks.narrowPeak # MACS2 peaks (if requested)
signal/
{sample}.normalized.bw # Spike-in normalized signal
{sample}.fragments.bed # Fragment BED file
qc/Showing the first part of this file.
Search ENCODE, cross-reference 14 databases, run 7 analysis pipelines, and generate publication-ready methods — all from natural language in Claude Code.
Repo: ammawla/encode-toolkit
Other skills on encode-toolkit.
- /accessibility-aggregation
Build comprehensive chromatin accessibility maps by aggregating ATAC-seq and DNase-seq narrowPeak data across multiple ENCODE experiments, donors, and labs. Use when the user wants to answer "where is chromatin accessible in my tissue?" by combining peak calls into a union peak
Open skill - /batch-analysis
Guide for multi-experiment batch operations: QC screening, batch download, comparison, and report generation across many ENCODE experiments simultaneously. Use when users need to process 5+ experiments together, create experiment comparison tables, perform batch quality checks,
Open skill - /bioinformatics-installer
Install bioinformatics tools for ENCODE data analysis. Covers CLI tools (BWA, STAR, samtools, MACS2), R/Bioconductor packages (DESeq2, Seurat, ChIPseeker), Python packages (Scanpy, deeptools), and Nextflow pipeline infrastructure. Generates conda environments, R install scripts,
Open skill - /cellxgene-context
Guide for integrating CellxGene Census single-cell data with ENCODE bulk experiments. Use when users need cell-type-specific expression context for ENCODE regulatory data, want to deconvolve bulk ENCODE signals, or validate regulatory elements at single-cell resolution. Trigger
Open skill - /cite-encode
Generate proper ENCODE citations for publications, grants, and presentations. Use when the user needs to cite ENCODE data, create bibliography entries, write acknowledgment sections, or ensure compliance with ENCODE data use policy.
Open skill - /clinvar-annotation
Guide for annotating ENCODE regulatory variants with ClinVar clinical significance. Use when users need to check if variants in ENCODE peaks have clinical associations, find pathogenic variants in regulatory regions, or assess variant clinical impact. Trigger on: ClinVar,
Open skill

