chromatin-state-inference
This skill should be used when users need to infer chromatin states from histone modification ChIP-seq data using chromHMM. It provides workflows for chromatin state segmentation, model training, state annotation.
Best use case
chromatin-state-inference is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This skill should be used when users need to infer chromatin states from histone modification ChIP-seq data using chromHMM. It provides workflows for chromatin state segmentation, model training, state annotation.
Teams using chromatin-state-inference should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/chromatin-state-inference/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How chromatin-state-inference Compares
| Feature / Agent | chromatin-state-inference | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill should be used when users need to infer chromatin states from histone modification ChIP-seq data using chromHMM. It provides workflows for chromatin state segmentation, model training, state annotation.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# ChromHMM Chromatin State Inference
## Overview
This skill enables comprehensive chromatin state analysis using chromHMM for histone modification ChIP-seq data. ChromHMM uses a multivariate Hidden Markov Model to segment the genome into discrete chromatin states based on combinatorial patterns of histone modifications.
Main steps include:
- Refer to **Inputs & Outputs** to verify necessary files.
- **Always prompt user** if required files are missing.
- **Always prompt user** for genome assembly used.
- **Always prompt user** for the bin size for generating binarized files.
- **Always prompt user** for the bin size for the number of states the ChromHMM target.
- **Run chromHMM workflow**: Binarization → Learning.
---
## When to use this skill
Use this skill when you need to infer chromatin states from histone modification ChIP-seq data using chromHMM.
---
## Inputs & Outputs
### Inputs
(1) Option 1: BED files of aligned reads
```bash
<mark1>.bed
<mark2>.bed
... # Other marks
```
(1) Option 2: BAM files of aligned reads
```bash
<mark1>.bam
<mark2>.bam
... # Other marks
```
### Outputs
```bash
chromhmm_output/
binarized/
*.txt
model/
*.txt
... # other files output by the ChromHMM
```
---
## Decision Tree
### Step 0: Initialize Project
Call:
- `mcp__project-init-tools__project_init`
with:
- `sample`: all
- `task`: chromhmm
### Step 1: Prepare the `cellmarkfile` (skip this step if signal files are provided)
- Prepare a .txt file (without header) containing following three columns:
- sample name
- marker name
- name of the BED/BAM file
- control file of the sample (only provided if the input/control file is available)
- example of the cellmark.txt file
```bash
cell1 mark1 cell1_mark2.bam cell1_control.bam
cell1 mark2 cell1_mark2.bam cell1/control.bam
```
### Step 2: Data Binarization
- For BAM inputs:
Call:
- `mcp__chromhmm-tools__binarize_bam`
with:
- `path_chrom_sized`: Provide by user or detect from the working directory
- `input_dir`: Directory containing BAM files
- `cellmarkfile`: Cell mark file defining histone modifications
- `output_dir`: (e.g. `binarized/`)
- `bin_size`: Provided by user
- For BED inputs:
Call `mcp__chromhmm-tools__binarize_bed` instead.
- For Signal inputs:
Call: `mcp__chromhmm-tools__binarize_signal`
with:
- `input_dir`: Directory of signals
- `output_dir`: (e.g. `binarized/`)
### Step 3: Model Learning
Call
- `mcp__chromhmm-tools__learn_model`
with:
- `binarized_dir`: Directory binarized file located in
- `num_states`: Provide by user (e.g. 15)
- `output_model_dir`: (e.g. `model_15_states/`)
- `genome`: Provide by user (e.g. `hg38`)
- `threads`: Provide by user (e.g. 16)
## Parameter Optimization
### Number of States
- **8 states**: Basic chromatin states
- **15 states**: Standard comprehensive states
- **25 states**: High-resolution states
- **Optimization**: Use Bayesian Information Criterion (BIC)
### Bin Size
- **200bp**: Standard resolution
- **100bp**: High resolution (requires more memory)
- **500bp**: Low resolution (faster computation)
## State Interpretation
### Common Chromatin States
1. **Active Promoter**: H3K4me3, H3K27ac
2. **Weak Promoter**: H3K4me3
3. **Poised Promoter**: H3K4me3, H3K27me3
4. **Strong Enhancer**: H3K27ac, H3K4me1
5. **Weak Enhancer**: H3K4me1
6. **Insulator**: CTCF
7. **Transcribed**: H3K36me3
8. **Repressed**: H3K27me3
9. **Heterochromatin**: Low signal across marks
## Troubleshooting
- **Memory errors**: Reduce bin size or number of states
- **Convergence problems**: Increase iterations or adjust learning rate
- **Uninterpretable states**: Check input data quality and mark combinations
- **Missing chromosomes**: Verify chromosome naming consistencyRelated Skills
inference-smoke-tests
Run repeatable inference smoke tests using geppetto/pinocchio example binaries (single-pass, streaming, tool-loop, OpenAI Responses thinking) including tmux-driven TUI tests. Use when refactors touch InferenceState/Session/EngineBuilder, tool calling loop, event sinks, provider request formatting, or when you need a quick 'does inference still work?' checklist.
1k-state-management
Jotai state management patterns for OneKey. Use when working with atoms, global state, feature state, or context atoms. Triggers on jotai, atom, state, globalAtom, contextAtom, store, persistence, settings.
alfworld-object-state-inspector
Checks the current state or contents of a specified object or receptacle. Trigger this skill when the agent needs to determine if an object is present, missing, or in a certain condition before proceeding with a task, such as verifying if a holder is empty or if an item is available. It typically follows navigation and involves observing the environment's feedback, providing crucial information for decision-making in the task flow.
state-directory-manager
Manage persistent state directories for bash scripts
symfony:api-platform-state-providers
Use when symfony api platform state providers
API State Management
Your approach to handling API state management. Use this skill when working on files where API state management comes into play.
allstate
Manage Allstate insurance with Drivewise and Milewise programs.
ai-llm-inference
Operational patterns for LLM inference: latency budgeting, tail-latency control, caching, batching/scheduling, quantization/compression, parallelism, and reliable serving at scale. Emphasizes production-grade performance, cost control, and observability.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
mcp-create-declarative-agent
Skill converted from mcp-create-declarative-agent.prompt.md
MCP Architecture Expert
Design and implement Model Context Protocol servers for standardized AI-to-data integration with resources, tools, prompts, and security best practices