Skip to content

v2.2.0

Choose a tag to compare

@mtcicero26 mtcicero26 released this 20 Mar 20:58

FiberHMM v2.2.0

Bug Fixes

  • Fix BAM tag types: as/ns/al/nl tags now correctly use B:I (unsigned 32-bit int arrays) per the Fiber-seq BAM format spec. Previously, pysam inferred B:C or B:S from value magnitudes, breaking compatibility with pyft and other fibertools ecosystem tools.
  • Remove unreliable BAM mode auto-detection: Mode is now resolved as command line > model metadata > pacbio-fiber default. The auto-detect heuristic misidentified BAMs with both 5mC and m6A tags as DAF-seq, causing confusing warnings.

Improvements

  • MSPs now match fibertools convention: Only nucleosome-sized footprints (>= 85bp by default) act as MSP boundaries. Small footprints are absorbed into surrounding MSPs, consistent with how fibertools defines MSPs.
  • Skip reason reporting: Both region-parallel and standard processing paths now track and print a summary of why reads were skipped (low MAPQ, too short, no modifications, no footprints, etc.)
  • Improved CLI help text: --min-mapq and --min-read-length descriptions now explain filtering behavior and how to override defaults.
  • Read filtering documentation: README now includes a table of all skip reasons, default thresholds, and override flags.

New Flags

  • --no-msps — Suppress as/al/aq MSP tag output. Useful for Fiber-seq workflows where MSPs are computed separately by fibertools.
  • --nuc-min-size (default: 85) — Minimum footprint size to count as nucleosome-sized for MSP boundary detection.