/bio-chipseq-visualization
Visualize ChIP-seq data using deepTools, Gviz, and ChIPseeker. Create heatmaps, profile plots, and genome browser tracks. Visualize signal around peaks, TSS, or custom regions. Use when visualizing ChIP-seq signal and peaks.
$ npx -y skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-chipseq-visualization --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.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bio-chipseq-visualization
Context preview
The summary Claude sees to decide when to auto-load this skill.
Visualize ChIP-seq data using deepTools, Gviz, and ChIPseeker. Create heatmaps, profile plots, and genome browser tracks. Visualize signal around peaks, TSS, or custom regions. Use when visualizing ChIP-seq signal and peaks.
SKILL.md
bio-chipseq-visualization.SKILL.mdname: bio-chipseq-visualization
description: Visualize ChIP-seq data using deepTools, Gviz, and ChIPseeker. Create heatmaps, profile plots, and genome browser tracks. Visualize signal around peaks, TSS, or custom regions. Use when visualizing ChIP-seq signal and peaks.
tool_type: mixed
primary_tool: deepTools
Version Compatibility
Reference examples tested with: GenomicRanges 1.54+, deepTools 3.5+
Before using code patterns, verify installed versions match. If versions differ:
- R: `packageVersion('<pkg>')` then `?function_name` to verify parameters
- CLI: `<tool> --version` then `<tool> --help` to confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
ChIP-seq Visualization
**"Create a heatmap of ChIP-seq signal around peaks"** → Generate signal heatmaps, profile plots, and genome browser tracks showing enrichment patterns around genomic features.
- CLI: `deeptools computeMatrix reference-point` → `plotHeatmap`
- R: `Gviz`, `ChIPseeker::plotAvgProf()`
deepTools - Compute Matrix
**Goal:** Build a signal matrix of ChIP-seq coverage around reference points for downstream heatmaps and profiles.
**Approach:** Use computeMatrix to extract bigWig signal values in windows around genomic features like TSS.
# Compute signal matrix around TSS
computeMatrix reference-point \
--referencePoint TSS \
-b 3000 -a 3000 \ # 3kb upstream and downstream
-R genes.bed \ # Reference regions
-S sample.bw \ # Signal file (bigWig)
-o matrix.gz \
--outFileSortedRegions sorted_genes.beddeepTools - Scale-Regions
**Goal:** Visualize ChIP signal across gene bodies scaled to a uniform length.
**Approach:** Scale all gene regions to equal size and compute signal with flanking windows.
# Signal across gene bodies
computeMatrix scale-regions \
-R genes.bed \
-S sample1.bw sample2.bw \
-b 3000 -a 3000 \ # Flanking regions
-m 5000 \ # Scaled body length
-o matrix_scaled.gzdeepTools - Heatmap
**Goal:** Generate a heatmap of ChIP-seq signal intensity across genomic regions.
**Approach:** Render the precomputed signal matrix as a clustered heatmap with optional profile summary.
# Generate heatmap from matrix
plotHeatmap \
-m matrix.gz \
-o heatmap.png \
--colorMap RdBu \
--whatToShow 'heatmap and colorbar' \
--zMin -3 --zMax 3
# With profile on top
plotHeatmap \
-m matrix.gz \
-o heatmap_with_profile.png \
--plotTitle 'H3K4me3 Signal' \
--heatmapHeight 15 \
--refPointLabel TSSdeepTools - Profile Plot
**Goal:** Display average ChIP-seq signal profiles across genomic regions for sample comparison.
**Approach:** Plot mean signal from the computed matrix, optionally overlaying multiple samples.
# Average profile plot
plotProfile \
-m matrix.gz \
-o profile.png \
--plotTitle 'Average Signal Profile' \
--perGroup
# Multiple samples comparison
plotProfile \
-m matrix_multi.gz \
-o profile_compare.png \
--colors red blue green \
--plotTitle 'Sample Comparison'Create BigWig from BAM
**Goal:** Convert BAM alignments to normalized bigWig signal tracks for visualization.
**Approach:** Use bamCoverage for single-sample normalization or bamCompare for log2 ratio of ChIP over input.
# Normalized bigWig (CPM)
bamCoverage \
-b sample.bam \
-o sample.bw \
--normalizeUsing CPM \
--binSize 10 \
--numberOfProcessors 8
# With input subtraction
bamCompare \
-b1 chip.bam \
-b2 input.bam \
-o chip_vs_input.bw \
--operation log2ratio \
--binSize 50ChIPseeker Profile Heatmap (R)
**Goal:** Visualize peak distribution around TSS using ChIPseeker tag matrices and profile plots.
**Approach:** Build a tag density matrix from peak locations relative to promoter windows, then plot as heatmap or average profile.
library(ChIPseeker)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
# Load peaks
peaks <- readPeakFile('sample_peaks.narrowPeak')
# Get promoter regions
promoter <- getPromoters(TxDb = txdb, upstream = 3000, downstream = 3000)
# Compute tag matrix
tagMatrix <- getTagMatrix(peaks, windows = promoter)
# Heatmap
tagHeatmap(tagMatrix, xlim = c(-3000, 3000), color = 'red')
# Profile plot
plotAvgProf(tagMatrix, xlim = c(-3000, 3000), xlab = 'Distance from TSS (bp)',
ylab = 'Peak Count Frequency')
# With confidence interval
plotAvgProf2(tagMatrix, xlim = c(-3000, 3000), conf = 0.95)Gviz - Genome Browser Tracks (R)
**Goal:** Create publication-quality genome browser views combining signal tracks, gene models, and ideograms.
**Approach:** Layer Gviz track objects (ideogram, axis, data, gene) and render a specific genomic region.
library(Gviz)
library(GenomicRanges)
# Define region
chr <- 'chr1'
start <- 1000000
end <- 1100000
# Ideogram track
itrack <- IdeogramTrack(genome = 'hg38', chromosome = chr)
# Genome axis
gtrack <- GenomeAxisTrack()
# Data track from bigWig
dtrack <- DataTrack(
range = 'sample.bw',
genome = 'hg38',
type = 'histogram',
name = 'ChIP Signal',
col.histogram = 'darkblue',
fill.histogram = 'darkblue'
)
# Gene track
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
grtrack <- GeneRegionTrack(txdb, genome = 'hg38', chromosome = chr, name = 'Genes')
# Plot
plotTracks(list(itrack, gtrack, dtrack, grtrack),
from = start, to = end, chromosome = chr)Multiple Samples in Gviz
**Goal:** Compare ChIP-seq signal from multiple samples in a single browser view.
**Approach:** Create separate DataTrack objects per sample and stack them in the plotTracks call.
# Create data tracks for each sample
dtrack1 <- DataTrac
Read more
name: bio-chipseq-visualization description: Visualize ChIP-seq data using deepTools, Gviz, and ChIPseeker. Create heatmaps, profile plots, and genome browser tracks. Visualize signal around peaks, TSS, or custom regions. Use when visualizing ChIP-seq signal and peaks. tool_type: mixed primary_tool: deepTools
Version Compatibility
Reference examples tested with: GenomicRanges 1.54+, deepTools 3.5+
Before using code patterns, verify installed versions match. If versions differ:
- R: `packageVersion('<pkg>')` then `?function_name` to verify parameters
- CLI: `<tool> --version` then `<tool> --help` to confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
ChIP-seq Visualization
**"Create a heatmap of ChIP-seq signal around peaks"** → Generate signal heatmaps, profile plots, and genome browser tracks showing enrichment patterns around genomic features.
- CLI: `deeptools computeMatrix reference-point` → `plotHeatmap`
- R: `Gviz`, `ChIPseeker::plotAvgProf()`
deepTools - Compute Matrix
**Goal:** Build a signal matrix of ChIP-seq coverage around reference points for downstream heatmaps and profiles.
**Approach:** Use computeMatrix to extract bigWig signal values in windows around genomic features like TSS.
# Compute signal matrix around TSS
computeMatrix reference-point \
--referencePoint TSS \
-b 3000 -a 3000 \ # 3kb upstream and downstream
-R genes.bed \ # Reference regions
-S sample.bw \ # Signal file (bigWig)
-o matrix.gz \
--outFileSortedRegions sorted_genes.beddeepTools - Scale-Regions
**Goal:** Visualize ChIP signal across gene bodies scaled to a uniform length.
**Approach:** Scale all gene regions to equal size and compute signal with flanking windows.
# Signal across gene bodies
computeMatrix scale-regions \
-R genes.bed \
-S sample1.bw sample2.bw \
-b 3000 -a 3000 \ # Flanking regions
-m 5000 \ # Scaled body length
-o matrix_scaled.gzdeepTools - Heatmap
**Goal:** Generate a heatmap of ChIP-seq signal intensity across genomic regions.
**Approach:** Render the precomputed signal matrix as a clustered heatmap with optional profile summary.
# Generate heatmap from matrix
plotHeatmap \
-m matrix.gz \
-o heatmap.png \
--colorMap RdBu \
--whatToShow 'heatmap and colorbar' \
--zMin -3 --zMax 3
# With profile on top
plotHeatmap \
-m matrix.gz \
-o heatmap_with_profile.png \
--plotTitle 'H3K4me3 Signal' \
--heatmapHeight 15 \
--refPointLabel TSSdeepTools - Profile Plot
**Goal:** Display average ChIP-seq signal profiles across genomic regions for sample comparison.
**Approach:** Plot mean signal from the computed matrix, optionally overlaying multiple samples.
# Average profile plot
plotProfile \
-m matrix.gz \
-o profile.png \
--plotTitle 'Average Signal Profile' \
--perGroup
# Multiple samples comparison
plotProfile \
-m matrix_multi.gz \
-o profile_compare.png \
--colors red blue green \
--plotTitle 'Sample Comparison'Create BigWig from BAM
**Goal:** Convert BAM alignments to normalized bigWig signal tracks for visualization.
**Approach:** Use bamCoverage for single-sample normalization or bamCompare for log2 ratio of ChIP over input.
# Normalized bigWig (CPM)
bamCoverage \
-b sample.bam \
-o sample.bw \
--normalizeUsing CPM \
--binSize 10 \
--numberOfProcessors 8
# With input subtraction
bamCompare \
-b1 chip.bam \
-b2 input.bam \
-o chip_vs_input.bw \
--operation log2ratio \
--binSize 50ChIPseeker Profile Heatmap (R)
**Goal:** Visualize peak distribution around TSS using ChIPseeker tag matrices and profile plots.
**Approach:** Build a tag density matrix from peak locations relative to promoter windows, then plot as heatmap or average profile.
library(ChIPseeker)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
# Load peaks
peaks <- readPeakFile('sample_peaks.narrowPeak')
# Get promoter regions
promoter <- getPromoters(TxDb = txdb, upstream = 3000, downstream = 3000)
# Compute tag matrix
tagMatrix <- getTagMatrix(peaks, windows = promoter)
# Heatmap
tagHeatmap(tagMatrix, xlim = c(-3000, 3000), color = 'red')
# Profile plot
plotAvgProf(tagMatrix, xlim = c(-3000, 3000), xlab = 'Distance from TSS (bp)',
ylab = 'Peak Count Frequency')
# With confidence interval
plotAvgProf2(tagMatrix, xlim = c(-3000, 3000), conf = 0.95)Gviz - Genome Browser Tracks (R)
**Goal:** Create publication-quality genome browser views combining signal tracks, gene models, and ideograms.
**Approach:** Layer Gviz track objects (ideogram, axis, data, gene) and render a specific genomic region.
library(Gviz)
library(GenomicRanges)
# Define region
chr <- 'chr1'
start <- 1000000
end <- 1100000
# Ideogram track
itrack <- IdeogramTrack(genome = 'hg38', chromosome = chr)
# Genome axis
gtrack <- GenomeAxisTrack()
# Data track from bigWig
dtrack <- DataTrack(
range = 'sample.bw',
genome = 'hg38',
type = 'histogram',
name = 'ChIP Signal',
col.histogram = 'darkblue',
fill.histogram = 'darkblue'
)
# Gene track
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
grtrack <- GeneRegionTrack(txdb, genome = 'hg38', chromosome = chr, name = 'Genes')
# Plot
plotTracks(list(itrack, gtrack, dtrack, grtrack),
from = start, to = end, chromosome = chr)Multiple Samples in Gviz
**Goal:** Compare ChIP-seq signal from multiple samples in a single browser view.
**Approach:** Create separate DataTrack objects per sample and stack them in the plotTracks call.
# Create data tracks for each sample dtrack1 <- DataTrac
The largest open-source medical AI skill library for OpenClaw.
Other skills on openclaw-medical-skills.
- /aav-vector-design-agent
<!--
Open skill - /adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use
Open skill - /adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that
Open skill - /aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations
Open skill - /agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.
Open skill - /agentd-drug-discovery
<!--
Open skill

