Claude-skill-registry end-reason
Oxford Nanopore read end reason QC analysis. Use when analyzing nanopore sequencing quality, checking for adaptive sampling efficiency, investigating read termination patterns, diagnosing sequencing issues, or running QC on POD5/Fast5 data. Integrates with ont-experiments for provenance tracking via Pattern B orchestration. Supports signal_positive, unblock_mux_change, data_service_unblock_mux_change analysis with quality thresholds.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/end-reason" ~/.claude/skills/majiayu000-claude-skill-registry-end-reason && rm -rf "$T"
manifest:
skills/data/end-reason/SKILL.mdsource content
End Reason Analysis - ONT QC
Analyze Oxford Nanopore read end reasons for quality assessment and adaptive sampling efficiency.
Integration
Run through ont-experiments for provenance tracking:
ont_experiments.py run end_reasons exp-abc123 --json results.json --plot qc.png
Or standalone:
python3 end_reason.py /path/to/data --json results.json
End Reason Categories
| End Reason | Description | Expected % |
|---|---|---|
| Normal completion | 80-95% |
| Adaptive sampling rejection | 0-15% |
| Basecall-triggered rejection | 0-10% |
| Pore mux change | 1-5% |
| Signal lost | <5% |
Quality Assessment
| Status | Criteria |
|---|---|
| ✓ OK | signal_positive ≥75% |
| ⚠ CHECK | signal_positive <75% or anomalies |
| ✗ FAIL | signal_positive <50% |
Options
| Option | Description |
|---|---|
| Output JSON summary |
| Output per-read CSV |
| Output bar chart (PNG/PDF) |
| Force format (pod5, fast5, summary) |
| Sample 10k reads only |
Supported Formats
- POD5 (fastest, recommended)
- Fast5 (legacy)
- sequencing_summary.txt
Output JSON
{ "total_reads": 15000000, "quality_status": "OK", "signal_positive_pct": 90.0, "unblock_mux_pct": 8.0, "data_service_pct": 1.0, "end_reasons": { "signal_positive": {"count": 13500000, "pct": 90.0}, "unblock_mux_change": {"count": 1200000, "pct": 8.0} } }