Bio Chipseq Chromatin State Segmentation logo

Bio Chipseq Chromatin State Segmentation

Organization
PKU-YuanGroup
bio-chipseq-chromatin-state-segmentation

Segments the genome into chromatin states from combinatorial histone modification and chromatin factor ChIP-seq data. Uses ChromHMM (multivariate HMM on binarized signal, v1.27), Segway (Dynamic Bayesian Network on continuous signal), EpiSegMix (flexible-distribution HMM with duration modeling, 2024), EpiLogos (multi-biosample visualization), IDEAS (cell-type-aware joint), and full-stack ChromHMM (Vu Ernst 2022) for cross-cell-type segmentations. Handles state-count selection (15 vs 18 vs 25 states), binarization choice, OverlapEnrichment / NeighborhoodEnrichment downstream analysis, and cross-biosample integration. Use when learning chromatin states from a histone mark panel, characterizing learned states by genomic feature enrichment, or comparing chromatin landscapes across cell types.

Overview

PublisherPKU-YuanGroup
RepositoryOpenAI4S
Skill namebio-chipseq-chromatin-state-segmentation
Stars
622
Forks
72
Bundled files
2
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by PKU-YuanGroup on GitHub. Read the source before you install it.

Installation

Install the Bio Chipseq Chromatin State Segmentation AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/PKU-YuanGroup/OpenAI4S/tree/main/skills/bioskills/bio-chip-seq-chromatin-state-segmentation
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/PKU-YuanGroup/OpenAI4S.git /tmp/OpenAI4S
mkdir -p .claude/skills
cp -r /tmp/OpenAI4S/skills/bioskills/bio-chip-seq-chromatin-state-segmentation .claude/skills/bio-chipseq-chromatin-state-segmentation
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Bio Chipseq Chromatin State Segmentation in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Bio Chipseq Chromatin State Segmentation on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Bio Chipseq Chromatin State Segmentation is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Version Compatibility

Reference examples tested with: ChromHMM 1.27+, Segway 3.0+, EpiSegMix 1.0+, EpiLogos (Meuleman lab), IDEAS 1.20+, samtools 1.19+, bedtools 2.31+. ChromHMM requires Java 8+; runs as java -mx<MEMORY> -jar ChromHMM.jar <command>.

Chromatin State Segmentation

"Integrate multiple histone modification ChIP-seq tracks into chromatin states" -> Learn a small set of recurring combinatorial patterns of histone marks (active promoter, active enhancer, poised enhancer, polycomb-repressed, heterochromatic, transcribed, etc.) and segment the genome by which state each region belongs to. Output: per-state genomic intervals, state-by-mark emission matrix, and state-state transition matrix.

  • CLI (canonical): ChromHMM BinarizeBam -> LearnModel -> OverlapEnrichment / NeighborhoodEnrichment
  • CLI (continuous signal): Segway train -> posterior -> annotate
  • CLI (flexible distributions): EpiSegMix (2024)
  • Visualization across biosamples: EpiLogos (Meuleman lab)
  • Cell-type-aware joint: IDEAS

Chromatin state segmentation requires a panel of histone marks; minimum 4-5 marks (e.g., H3K4me3, H3K27ac, H3K4me1, H3K36me3, H3K27me3) for meaningful states. With fewer marks, simpler peak-based annotation (chipseq/peak-annotation) is more appropriate.

Tool Taxonomy

ToolMethodStrengthFails when
ChromHMM (Ernst & Kellis 2012; v1.27 current)Multivariate HMM on binarized 200 bp binsCanonical; widely used; integrated with Roadmap Epigenomics 15-state model; mature toolchainBinarization throws away signal quantitation; default 200 bp bins may be too coarse for sharp boundaries
Segway (Hoffman 2012)Dynamic Bayesian Network on continuous signalHigher resolution; uses signal magnitudes not binarizedMore complex setup; slower; less standardized output
EpiSegMix (Schmitz, Aggarwal, Laufer, Walter, Salhab, Rahmann 2024 Bioinformatics 40:btae178)HMM with flexible read-count distributions + duration modelingModern; handles both narrow and broad mark distributions in one modelNewer; smaller user base
EpiLogos (Meuleman lab)Multi-biosample visualization toolBuilt on top of ChromHMM/Segway segmentations; compare ChromHMM states across 100s of biosamplesVisualization tool, not a segmentation method itself
IDEAS (Zhang 2016)Cell-type-aware joint inferenceAcross-cell-type segmentation respecting cell-type identitySlower; complex parameter tuning
EpiCSeg (Mammana 2015)Negative binomial mixtureRead-count-based; doesn't need binarizationLess standardized output
GenoSTANHMM with various emission distributionsFlexibleLess actively developed
Roadmap 25-state model (Kundaje 2015)ChromHMM 25-state precomputed modelReference for cross-cell-type interpretationRequires the Roadmap imputed 12-mark panel
Full-stack ChromHMM (Vu Ernst 2022)100-state segmentation across 1032 datasets / 127 reference epigenomesComprehensive cross-tissue annotationComputationally intensive to retrain

ChromHMM Workflow

ChromHMM is the de facto standard. The workflow has 4 stages:

Step 1: Binarize ChIP-seq signal

bash
# Build cellMarkFileTable: cell_type<TAB>mark<TAB>file<TAB>(optional control)
cat > cellMarkFileTable.txt << EOF
GM12878	H3K4me3	gm12878_h3k4me3.bam	gm12878_input.bam
GM12878	H3K27me3	gm12878_h3k27me3.bam	gm12878_input.bam
GM12878	H3K27ac	gm12878_h3k27ac.bam	gm12878_input.bam
GM12878	H3K4me1	gm12878_h3k4me1.bam	gm12878_input.bam
GM12878	H3K36me3	gm12878_h3k36me3.bam	gm12878_input.bam
EOF

# Binarize BAMs into 200 bp bins; emission = whether mark exceeds Poisson threshold
java -mx16G -jar ChromHMM.jar BinarizeBam \
    -b 200 \
    chromsizes_hg38.txt \
    bam_dir/ \
    cellMarkFileTable.txt \
    binarized_output/

Output: per-chromosome _binary.txt files, one row per 200 bp bin, columns = marks, values 0/1.

Step 2: Learn model

bash
# Train HMM with N states; common choices: 15, 18, 25
# 15 states: Ernst & Kellis 2011 model; canonical
# 18 states: extends with additional regulatory states
# 25 states: Roadmap Epigenomics extended model
java -mx16G -jar ChromHMM.jar LearnModel \
    -p 8 \
    binarized_output/ \
    model_15state/ \
    15 \
    hg38

# Output: model_15state.txt (emission + transition matrices),
# emissions_15.png (visualization), transitions_15.png,
# per-chromosome _segments.bed (state assignments)
# AND automatically runs OverlapEnrichment + NeighborhoodEnrichment

Step 3: Interpret states from emission matrix

Roadmap 15-state assignments (canonical)
1_TssA — Active TSS (high H3K4me3, H3K27ac)
2_TssAFlnk — Flanking TSS (H3K4me3, H3K27ac, lower)
3_TxFlnk — Transcript flanking
4_Tx — Strong transcription (H3K36me3, H3K79me2 if available)
5_TxWk — Weak transcription
6_EnhG — Enhancer in gene body (H3K4me1, H3K27ac)
7_Enh — Generic enhancer (H3K4me1, H3K27ac)
8_ZNF/Rpts — Zinc-finger / repeats
9_Het — Heterochromatin (H3K9me3)
10_TssBiv — Bivalent TSS (H3K4me3 + H3K27me3)
11_BivFlnk — Bivalent flanking
12_EnhBiv — Bivalent enhancer (H3K4me1 + H3K27me3)
13_ReprPC — Polycomb-repressed (H3K27me3)
14_ReprPCWk — Weak Polycomb
15_Quies — Quiescent (no signal)

Step 4: Functional enrichment of states

bash
# OverlapEnrichment: enrichment of each state for external feature sets.
# Options (e.g. -labels) MUST precede the three positional args.
java -mx16G -jar ChromHMM.jar OverlapEnrichment \
    -labels \
    model_15state/GM12878_15_segments.bed \
    /path/to/anchor_files/ \
    enrichment_output/GM12878

# NeighborhoodEnrichment: enrichment relative to anchor positions (e.g., TSS)
java -mx16G -jar ChromHMM.jar NeighborhoodEnrichment \
    -labels \
    model_15state/GM12878_15_segments.bed \
    /path/to/tss_anchors.txt \
    enrichment_output/GM12878_TSS

Anchor files: BED files of features (CGIs, repeats, conserved elements, etc.) for OverlapEnrichment; position files for NeighborhoodEnrichment.

Choosing State Count

StatesUse caseMark panel size
8-10Initial exploration; small mark panel (3-4 marks)3-5 marks
15Roadmap Epigenomics canonical5 core (H3K4me3, H3K4me1, H3K36me3, H3K27me3, H3K9me3)
18Roadmap extended (adds H3K27ac -> fine enhancer subtypes)6 marks (core 5 + H3K27ac)
25Roadmap Epigenomics extended; cross-cell-type compatibility12 imputed marks
50+Full-stack model (Vu Ernst 2022)Many marks across many cell types

Practical workflow: Train at N=15, 18, 25; compare emission matrices; choose the smallest N where biology is interpretable. Higher N risks over-segmentation (state splitting random variation).

Segway Workflow

bash
# Segway reads only the Genomedata format, so first pack the signal tracks
# (one track per bigWig) plus the genome sequence into an archive.
genomedata-load \
    -s hg38.fa \
    -t h3k4me3=h3k4me3.bw \
    -t h3k27ac=h3k27ac.bw \
    -t h3k4me1=h3k4me1.bw \
    -t h3k36me3=h3k36me3.bw \
    -t h3k27me3=h3k27me3.bw \
    signal.genomedata

# Train Segway model; GENOMEDATA and TRAINDIR are positional
segway train \
    --num-labels=25 \
    --num-instances=3 \
    --resolution=100 \
    signal.genomedata traindir/

# Posterior probabilities + hard-call annotation (GENOMEDATA TRAINDIR OUTDIR, positional)
segway posterior signal.genomedata traindir/ posteriordir/
segway annotate signal.genomedata traindir/ identifydir/

# Output: identifydir/segway.bed.gz (state assignments)

Segway uses continuous signal (from the genomedata archive) vs ChromHMM's binarized bins. Trade-off: more information per region (continuous) but more complex training.

EpiLogos Visualization

EpiLogos doesn't perform segmentation; it visualizes existing ChromHMM/Segway segmentations across many biosamples (epilogos.org).

bash
# Use precomputed ChromHMM segmentations across multiple cell types
# Web interface: https://epilogos.altius.org/
# Local: github.com/meuleman/epilogos

Useful for: cross-cell-type comparison; identifying tissue-specific regulatory states; cohort-level chromatin landscape summaries.

Full-Stack ChromHMM (Vu Ernst 2022)

The full-stack model trained on 1032 datasets / 127 reference epigenomes:

bash
# Use precomputed model from Ernst lab
# github.com/ernstlab/full_stack_ChromHMM_annotations
# Annotate new sample by applying model to binarized data
java -mx16G -jar ChromHMM.jar MakeSegmentation \
    full_stack_model_100states.txt \
    binarized_sample/ \
    full_stack_output/

Useful for: applying a comprehensive cross-tissue annotation to a new sample; comparing to canonical Roadmap states.

Per-Tool Failure Modes

ChromHMM -- Bin size 200 bp too coarse for sharp boundaries

Trigger: Studying TF binding boundaries or sharp enhancer transitions at 200 bp resolution.

Mechanism: ChromHMM default 200 bp bins; biology may shift within a bin.

Fix: Reduce to -b 100 or -b 50 (smaller bin); increases memory and compute time but improves boundary resolution. Re-train model at finer resolution.

ChromHMM -- Binarization throws away signal quantitation

Trigger: Distinguishing low- from high-signal regions of the same state.

Mechanism: ChromHMM binarizes each 200 bp bin to 0/1 per mark; state assignment uses combinatorial pattern, not magnitude.

Fix: Use Segway (continuous signal) or EpiSegMix (flexible distributions) for magnitude-aware segmentation.

ChromHMM / Segway -- Wrong state count

Trigger: Training with N=50 states on a 4-mark panel; or N=10 on a 7-mark panel.

Mechanism: Excess states fragment biology; insufficient states force unrelated regions into the same state.

Symptom: Emission matrix shows redundant states (multiple states with same emission profile) at high N; or biologically distinct regions lumped together at low N.

Fix: Train at N=15, 18, 25; inspect emission matrix similarity; choose the smallest N where states are interpretable as distinct biology.

Mark panel mismatch with model

Trigger: Applying Roadmap 25-state model to a sample with different mark panel.

Mechanism: Model was trained on specific marks; emission probabilities are mark-specific. Applying to different mark panel produces nonsensical state assignments.

Fix: Either train a new model on the available mark panel; OR ensure the exact same marks (and ordering) as used in the model.

IgG control instead of input

Trigger: Using IgG controls in BinarizeBam for histone marks.

Mechanism: ChromHMM's binarization compares mark signal to control; histone mark biology assumes input (sonicated chromatin) as background, not IgG.

Fix: Use sonicated input as control for histone mark ChIP. IgG is not appropriate for ChromHMM binarization of histone marks.

Cross-cell-type state mapping

Trigger: Training separate models per cell type and trying to compare state assignments.

Mechanism: State 5 in cell type A may not correspond to state 5 in cell type B if trained independently.

Fix: Train one model on concatenated data from all cell types (joint segmentation); or apply a single precomputed model (Roadmap 15-state, full-stack) to all samples for consistent state labels.

Reconciliation

PatternLikely causeAction
ChromHMM and Segway segments differDifferent bin sizes / binarization vs continuousBoth can be valid; inspect emission matrices; pick the tool matching the resolution needs
State assignment varies wildly between replicatesInsufficient marks; over-binnedIncrease mark panel; reduce state count
Active TSS state overlaps polycomb state at promotersBivalent biology (Bernstein 2006)Expected for ESC-like cells; not an error; consider bivalent-specific state in N=18 model
Roadmap 25-state model annotates unknown cell typeCross-cell-type generalizationUse cautiously; verify against tissue-specific tracks
Heterochromatin (H3K9me3) state has too many binsH3K9me3 covers large fraction of genomeExpected; heterochromatin is genome-wide

Common Errors

Error / symptomCauseSolution
java.lang.OutOfMemoryErrorInsufficient JVM heapjava -mx32G -jar ChromHMM.jar ...
BinarizeBam very slowLarge BAMs without indexsamtools index all BAMs first
All states have similar emissionsMark panel too smallNeed at least 5 marks for canonical 15-state model
Segments file empty for some chromosomesChromosome not in chromsizes fileAdd or use -chrom flag to restrict
State labels don't match RoadmapTrained model independentlyUse Roadmap precomputed model OR map states by emission similarity
ChromHMM "no signal in marks"All bins binarized to 0Check signal quality; verify control normalization

References

  • Ernst J & Kellis M 2012 Nat Methods 9:215 (ChromHMM v1)
  • Ernst J & Kellis M 2017 Nat Protoc 12:2478 (ChromHMM protocol)
  • Hoffman MM et al 2012 Nat Methods 9:473 (Segway)
  • Schmitz JE, Aggarwal N, Laufer L, Walter J, Salhab A, Rahmann S 2024 Bioinformatics 40:btae178 (EpiSegMix)
  • Meuleman W et al 2020 Nature 584:244 (EpiLogos / DHS index)
  • Zhang Y & Hardison 2016 Nucleic Acids Res 44:6721 (IDEAS)
  • Mammana A & Chung HR 2015 Genome Biol 16:151 (EpiCSeg)
  • Roadmap Epigenomics Consortium 2015 Nature 518:317 (Roadmap 25-state model)
  • Vu H & Ernst J 2022 Genome Biol 23:9 (full-stack ChromHMM)
  • Kundaje A et al 2015 Nature 518:317 (Roadmap integrative analysis)

Related Skills

  • chip-seq/peak-calling - Peak calling per mark before segmentation
  • chip-seq/chipseq-qc - Replicate concordance per mark; QC before integration
  • chip-seq/peak-annotation - cCRE classification (PLS/pELS/dELS) complementary to chromatin states
  • chip-seq/spike-in-normalization - Spike-in normalize per-mark BAMs before binarization for cross-condition state comparison
  • atac-seq/single-cell-atac - scATAC + ChIP integration via multimodal methods
  • machine-learning/model-validation - Model selection (state count); cross-validation
  • data-visualization/genome-tracks - Visualize state segmentations
  • gene-regulatory-networks/coexpression-networks - Cross-reference chromatin states with co-expression modules

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Bio Chipseq Chromatin State Segmentation AI skill do?

Segments the genome into chromatin states from combinatorial histone modification and chromatin factor ChIP-seq data. Uses ChromHMM (multivariate HMM on binarized signal, v1.27), Segway (Dynamic Bayesian Network on continuous signal), EpiSegMix (flexible-distribution HMM with duration modeling, 2024), EpiLogos (multi-biosample visualization), IDEAS (cell-type-aware joint), and full-stack ChromHMM (Vu Ernst 2022) for cross-cell-type segmentations. Handles state-count selection (15 vs 18 vs 25 states), binarization choice, OverlapEnrichment / NeighborhoodEnrichment downstream analysis, and cr...

Why use Bio Chipseq Chromatin State Segmentation on TypingMind?

Because you install it once and use it with any model. Bio Chipseq Chromatin State Segmentation is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Bio Chipseq Chromatin State Segmentation in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/PKU-YuanGroup/OpenAI4S/tree/main/skills/bioskills/bio-chip-seq-chromatin-state-segmentation. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Bio Chipseq Chromatin State Segmentation?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Bio Chipseq Chromatin State Segmentation?

As many as you like. As long as a model supports skills, you can use Bio Chipseq Chromatin State Segmentation with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Bio Chipseq Chromatin State Segmentation AI skill free?

Yes. It is published on GitHub by PKU-YuanGroup under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇