accessibility-aggregat…
Build comprehensive chromatin accessibility maps by aggregating ATAC-seq and DNase-seq narrowPeak data across multiple ENCODE experiments, donors, and labs.…
Build comprehensive histone mark maps by aggregating narrowPeak data across multiple ENCODE experiments, donors, and labs. Use when the user wants to answer "where is this histone mark present in my tissue?" by combining peak calls from multiple studies into a union peak set
$ npx -y skills add ammawla/encode-toolkit --skill histone-aggregation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/histone-aggregationContext preview
The summary Claude sees to decide when to auto-load this skill.
Build comprehensive histone mark maps by aggregating narrowPeak data across multiple ENCODE experiments, donors, and labs. Use when the user wants to answer "where is this histone mark present in my tissue?" by combining peak calls from multiple studies into a union peak set
name: histone-aggregation description: Build comprehensive histone mark maps by aggregating narrowPeak data across multiple ENCODE experiments, donors, and labs. Use when the user wants to answer "where is this histone mark present in my tissue?" by combining peak calls from multiple studies into a union peak set with confidence annotations. Handles cross-lab batch effects, broad vs narrow marks, and ENCODE blocklist filtering.
Build a comprehensive map of histone mark binding for a tissue/cell type by merging narrowPeak files from multiple ENCODE experiments into a union peak set.
**The question**: "Does my tissue have this histone mark, and at what genomic locations?"
This is a **detection/cataloging** question, not a differential one. Once a histone mark passes noise thresholds (ENCODE IDR, quality metrics), detection is binary — the mark is either bound or not. If detected in one donor but not another, that region is still a real binding site. Individual variation and technical differences (lab, depth, antibody lot) explain *absence*, not that *presence* is spurious.
**Therefore: we want the UNION of all detections, not a consensus.**
Search for all histone ChIP-seq data for the target mark and tissue:
encode_search_experiments(
assay_title="Histone ChIP-seq",
target="H3K4me1", # or H3K27ac, H3K4me3, H3K27me3, etc.
organ="pancreas", # user's tissue of interest
biosample_type="tissue", # or "cell line", "primary cell"
limit=100
)Present a summary table to the user showing:
Use `encode_get_facets` first if unsure what's available:
encode_get_facets(assay_title="Histone ChIP-seq", organ="pancreas")
For each experiment, check quality before including:
encode_get_experiment(accession="ENCSR...")
Track all included experiments:
encode_track_experiment(accession="ENCSR...")
For each passing experiment, get the peak files:
encode_list_files(
experiment_accession="ENCSR...",
file_format="bed",
output_type="IDR thresholded peaks",
assembly="GRCh38"
)**File selection priority:** 1. **IDR thresholded peaks** (gold standard — passed replicate concordance) 2. **Optimal IDR peaks** (pooled replicates — most complete set) 3. **Replicated peaks** (alternative peak caller output)
Prefer `preferred_default=True` files when available.
Download all selected files:
encode_download_files(
file_accessions=["ENCFF...", "ENCFF...", ...],
download_dir="/path/to/data/narrowpeaks",
organize_by="flat"
)**IMPORTANT**: Filter BEFORE merging, not after.
Remove artifact-prone regions (centromeres, telomeres, rDNA repeats, satellite repeats):
# Download ENCODE blocklist for GRCh38 from: # https://github.com/Boyle-Lab/Blacklist/blob/master/lists/hg38-blacklist.v2.bed.gz # For mm10: https://github.com/Boyle-Lab/Blacklist/blob/master/lists/mm10-blacklist.v2.bed.gz bedtools intersect -a sample.narrowPeak -b hg38-blacklist.v2.bed -v > sample.filtered.narrowPeak
Filter each sample's peaks to retain those above the 25th percentile signalValue (column 7 in narrowPeak). The top 75% of peaks by signalValue are the most reliable across processing pipelines:
# Calculate the 25th percentile of the signalValue DISTRIBUTION for this sample # (This is a true quantile, not 25% of the range) TOTAL=$(wc -l < sample.filtered.
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
Build comprehensive chromatin accessibility maps by aggregating ATAC-seq and DNase-seq narrowPeak data across multiple ENCODE experiments, donors, and labs.…
Guide for multi-experiment batch operations: QC screening, batch download, comparison, and report generation across many ENCODE experiments simultaneously. Use…
Install bioinformatics tools for ENCODE data analysis. Covers CLI tools (BWA, STAR, samtools, MACS2), R/Bioconductor packages (DESeq2, Seurat, ChIPseeker),…
Guide for integrating CellxGene Census single-cell data with ENCODE bulk experiments. Use when users need cell-type-specific expression context for ENCODE…
Generate proper ENCODE citations for publications, grants, and presentations. Use when the user needs to cite ENCODE data, create bibliography entries, write…
Guide for annotating ENCODE regulatory variants with ClinVar clinical significance. Use when users need to check if variants in ENCODE peaks have clinical…