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.md
source 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 ReasonDescriptionExpected %
signal_positive
Normal completion80-95%
unblock_mux_change
Adaptive sampling rejection0-15%
data_service_unblock_mux_change
Basecall-triggered rejection0-10%
mux_change
Pore mux change1-5%
signal_negative
Signal lost<5%

Quality Assessment

StatusCriteria
✓ OKsignal_positive ≥75%
⚠ CHECKsignal_positive <75% or anomalies
✗ FAILsignal_positive <50%

Options

OptionDescription
--json FILE
Output JSON summary
--csv FILE
Output per-read CSV
--plot FILE
Output bar chart (PNG/PDF)
--format FORMAT
Force format (pod5, fast5, summary)
--quick
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}
  }
}