sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
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
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill homer-motif-analysis -a windsurf -y
name: "homer-motif-analysis" description: "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." license: "GPL-3.0"
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.
> **Check before installing**: The tool may already be available in the current environment (e.g., inside a `pixi` / `conda` env). Run `command -v findMotifsGenome.pl` first and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool via `pixi run findMotifsGenome.pl` rather than bare `findMotifsGenome.pl`.
# Install HOMER via conda (recommended — handles Perl dependencies) conda install -c bioconda homer # Verify installation findMotifsGenome.pl 2>&1 | head -3 # Usage: findMotifsGenome.pl <peak/BED file> <genome> <output directory> [options] annotatePeaks.pl 2>&1 | head -3 # Usage: annotatePeaks.pl <peak/BED file> <genome> [options] # 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
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: genomeAssembly
kind: derived
source: upstream
ask: "Which assembly are the peak coordinates on?"
default: "carried from the peak-calling stage"
- id: D2
param: searchWindow
kind: required
source: user
ask: "How wide a window around each peak centre should be searched?"
default: "200 bp for TF ChIP, 150 bp for ATAC"
- id: D3
param: backgroundRegions
kind: required
source: user
ask: "Compare peaks against GC-matched random genomic regions, or against a specific control set?"
default: "auto-generated GC-matched background"
- id: D4
param: repeatMasking
kind: required
source: user
ask: "Mask repetitive sequence, which otherwise dominates the enrichment as false positives?"
default: "masked"
- id: D5
param: denovoDiscovery
kind: required
source: user
ask: "Search for previously undescribed motifs, or only test the known-motif library?"
default: "known motifs only - de novo discovery is roughly ten times slower"
- id: D6
param: motifLengths
kind: optional
source: user
depends_on: [D5]
ask: "Which motif widths should the de novo search try?"
default: "8, 10, 12"
skip_if: "de novo discovery disabled"
- id: D7
param: numDenovoMotifs
kind: optional
source: user
depends_on: [D5]
ask: "How many de novo motifs should be reported?"
default: 25
skip_if: "de novo discovery disabled"
- id: D8
param: knownMotifMismatches
kind: optional
source: user
ask: "How loosely may a sequence match a known motif and still count?"
default: 2
- id: D9
param: threads
kind: never_ask
source: data
reason: "Affects runtime only, not the enrichment"
default: "min(8, available_cores)"D1 is derived rather than asked: peak coordinates are meaningless outside the assembly they were called on, so the answer is whatever the upstream stage used, not a preference. D3 is the decision most often left at its default without thought - a background that does not match the peaks in GC content produces enrichment for GC content rather than for biology.
# Run de novo + known motif enrichment on TF ChIP-seq peaks (hg38, 200 bp window)
findMotifsGenome.pl peaks/tf_chip_summits.bed hg38 motif_output/ \
-size 200Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.