homer-motif-analysis
De novo and known TF motif enrichment in ChIP-seq/ATAC-seq peaks via HOMER. findMotifsGenome.pl finds over-represented patterns vs background; annotatePeaks.pl assigns context (TSS distance, gene, repeat). Use after MACS3 to identify enriched TFs, annotate peaks with nearest genes, and validate ChIP-seq via the target motif.
npx skills add BioTender-max/awesome-bio-agent-skills --skill homer-motif-analysis --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Identifies over-represented motifs in peak regions (de novo and known) and annotates peaks with genomic context and nearest genes. It provides commands to run motif discovery, to annotate peaks, and to parse results with Python for downstream analyses. Also includes steps to prepare summit-centered peaks, run motif discovery, and generate summary visuals.
How it works
- Uses findMotifsGenome.pl on a BED file of peaks against a genome (e.g., hg38) to perform de novo motif discovery and known motif enrichment; supports options like -size, -mask, -p, and -S. Outputs motif results in motif_output/ (knownResults.txt, homerResults, etc.).
- Uses annotatePeaks.pl to map peaks to nearest genes and genomic features, producing annotated_peaks.txt.
- Provides a workflow for preparing summit-centered peaks, optional background regions, and background customization.
- Includes Python parsing scripts to read knownResults.txt, compute enrichment metrics, and summarize top motifs; also demonstrates loading annotated peaks for visualization.
- Demonstrates quick-start commands and common recipes, including how to run with mm10/hg38 and how to generate a summary figure homer_summary.png.
When to use it
- When identifying which transcription factors bind in a ChIP-seq peak set by enriching known motifs or discovering novel motifs de novo.
- When annotating genomic peaks with nearest genes and distance to TSS for downstream analyses.
- When comparing motif landscapes between conditions (treat vs control) by running with different peak sets.
- When validating ChIP-seq quality by confirming the presence of the target motif among top hits.
- After MACS3 peak calling to prepare input for HOMER; use jaspar-database to cross-reference motifs; consider MEME-CHIP or AME for alternative motif analyses.
What it can touch
- Commands and files: uses findMotifsGenome.pl, annotatePeaks.pl, and related outputs (peaks/tf_chip_200bp.bed, motif_output/, annotated_peaks.txt, knownResults.txt).
- Expects input BED files and genome assemblies (hg38, mm10) installed via installGenome.pl.
- Uses optional background BED files and peak files for background comparisons.
Caveats
- License declared: GPL-3.0.
- Requires HOMER and genome data; performance depends on CPU cores and proper genome installation.
- Output and parsing rely on specific HOMER output formats (e.g., knownResults.txt); downstream Python parsing assumes those columns exist.
# HOMER — Motif Analysis and Peak Annotation ## Overview HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of Perl/C++ tools for analyzing genomic regulatory elements. Its two primary commands are `findMotifsGenome.pl`, which performs de novo motif discovery and known motif enrichment against JASPAR/HOMER databases, and `annotatePeaks.pl`, which maps each peak to the nearest gene, distance to TSS, and genomic feature class (promoter, intron, intergenic, repeat). HOMER takes BED-format peak files from MACS3 or similar peak callers and a reference genome assembly as input, and outputs HTML/text reports ranking enriched motifs by p-value and fold enrichment over a matched background. ## When to Use - Identifying which transcription factors are bound in a ChIP-seq peak set by enriching their known motifs from JASPAR or the HOMER motif library - Discovering novel sequence motifs de novo in open chromatin regions from ATAC-seq without prior knowledge of the binding TF - Comparing motif landscapes between two conditions (e.g., treated vs. untreated peak sets) by running HOMER with one set as target and the other as background - Annotating genomic peaks with nearest genes
- Overview
- When to Use
- Prerequisites
- Quick Start
- Workflow
- Step 1: Installation and Genome Setup
- Step 2: Prepare Input Peak File
- Step 3: De Novo Motif Discovery
- Step 4: Known Motif Enrichment Only
- Step 5: Peak Annotation
- Step 6: Parse HOMER Results with Python
- Step 7: Parse Peak Annotations and Visualize
- Key Parameters
- Common Recipes
Install HOMER via conda (recommended — handles Perl dependencies) conda install -c bioconda homer Verify installation findMotifsGenome.pl 2>&1 | head -3 annotatePeaks.pl 2>&1 | head -3 Install reference genomes (downloads 2-way masker + sequence; ~3–10 GB each) installGenome.pl hg38 installGenome.pl mm10 Install Python parsing dependencies pip install pandas matplotlib seaborn
What does the homer-motif-analysis skill do?
De novo and known TF motif enrichment in ChIP-seq/ATAC-seq peaks via HOMER. findMotifsGenome.pl finds over-represented patterns vs background; annotatePeaks.pl assigns context (TSS distance, gene, repeat). Use after MACS3 to identify enriched TFs, annotate peaks with nearest genes, and validate ChIP-seq via the target motif.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill homer-motif-analysis --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 144 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
