Skip to content

v2.6.7: fix MM tag string corruption in recall-tfs

Choose a tag to compare

@mtcicero26 mtcicero26 released this 16 Apr 17:48
· 501 commits to main since this release

⚠️ Reverse-strand MM/ML parsing bug — UPGRADE TO v2.9.0

Versions 2.6 – 2.8.2 had a parser bug that shifted m6A/m5C modification positions on reverse-aligned reads (~24 bp median), causing ns/nl/as/al/MA/AQ tags to be wrong on reverse reads. Forward reads unaffected. DAF with IUPAC (R/Y) encoding unaffected.

Upgrade: pip install --upgrade fiberhmm (v2.9.0+). See v2.9.0 release notes for details.


Critical bugfix on top of 2.6.6.

The slim IPC introduced in 2.6.6's `_make_payload` ran `list(val)` on every non-ML tag, including the MM tag (a string). `list('A+a,0,5,3;C+m,1,2,4')` returns `['A','+','a',',','0',...]` — a list of single chars — which then crashed `parse_mm_tag_query_positions.split(';')` on the worker side.

Affected: any `fiberhmm-recall-tfs` run on Hia5 PacBio / nanopore data (MM/ML path).

Not affected: DddB / DddA DAF runs (IUPAC R/Y path bypasses MM/ML entirely).

Fix

Only `list()` values that aren't already strings or bytes.

Install

```bash
pip install --upgrade fiberhmm
```

🤖 Generated with Claude Code