Skip to content

FiberHMM 3.0.1

Choose a tag to compare

@mtcicero26 mtcicero26 released this 16 Oct 05:23
· 6 commits to main since this release

Patch release. Outputs from FiberHMM 3.0 calls are unchanged; the fixes affect reverse-strand reads in BAMs called with FiberHMM 2.12 or earlier, or whose header lost its provenance.

Fixed

  • fiberhmm-extract reads footprint tags in the frame the BAM records,
    by the same rule as recall, QC and consensus. Nucleosome, MSP and TF
    tracks from BAMs called with FiberHMM 2.12 or earlier were mirrored on
    reverse-strand reads; extract those BAMs again. Tracks from BAMs called
    with 3.0 are unchanged. New --input-frame auto|molecular|query sets the
    frame of legacy ns/nl/as/al; a merged BAM whose histories
    disagree now stops nucleosome and MSP extraction and asks for it.
  • fiberhmm-extract --both-strand reads deam+/deam- groups by the same
    rule. On reverse-strand reads of BAMs without coord=molecular the
    both-strand region was mirrored; fiberhmm-pair output (forward
    consensus reads) is unchanged.
  • The other readers of MA groups follow the same per-group frame rule.
    On reverse-strand reads of BAMs called with FiberHMM 2.12 or earlier (or
    whose header lost its @PG lines): fiberhmm-tag-m5c/-call-m5c read
    nucleosome and MSP footprints mirrored; consensus loading placed a .
    group wrongly when the same feature also had a +/- group; consensus
    export moved fibertools Ma footprints on headers without frame
    evidence; fiberhmm-pair placed nucleosome dyads mirrored; and
    fiberhmm-utils transfer --reference-bam read SEQ-frame ns/nl as
    molecular. Re-run those steps on such BAMs; BAMs called with 3.0 are
    unchanged. The same applies to fiberhmm-footprint-model input loading,
    fiberhmm-strand-rescue, -strand-rescue-annotate, -strand-rescue-audit,
    fiberhmm-tag-consensus and the native TF quality that consensus export
    copies onto a family.
  • Writers keep the annotations they carry through at their original
    positions. fiberhmm-apply (--no-msps MSPs), -call
    (--no-legacy-tags) and -recall-tfs/-nucs (preserved MA groups such
    as tf_sr and deam, kept legacy tags, uncalled reads) declare molecular
    output and now convert what they carry from the input's frame; on reverse
    reads of FiberHMM 2.12 or @PG-stripped BAMs these were mirrored. On
    3.0 output their results are unchanged.
  • fiberhmm-tag-m5c and fiberhmm-call-m5c --tag-mode locus on fibertools
    output keep its native Ma footprints: the MA they create (which wins
    over Ma) now carries them.
  • Every command that reads or carries footprint annotations prints one
    warning per input file whose header has no FiberHMM/fibertools provenance
    (stripped @PG, no coord=molecular marker): its reverse-read coordinates
    cannot be confirmed. Results are unchanged.
  • The QC that fiberhmm-call runs after calling follows --no-use-m5c and
    --cpg-mask-policy for the sampled reads it calls itself.
  • Writing apply tags without footprints keeps the hl:i:1 marker on reads
    whose harmonized ns/nl stay in place (Python API; fiberhmm-apply
    output is unchanged).
  • fiberhmm-transfer --parameters naming a parameter group the frozen
    catalog fixes exits 2 with one error line instead of a traceback.
  • fiberhmm-call-m5c path conflicts exit 2 with a
    fiberhmm-call-m5c: error: line, as fiberhmm-tag-m5c does.
  • fiberhmm-check describes the 2.x Nanopore Hia5 and pre-3.0 DddB tables
    as earlier emission tables. Its findings are unchanged.

Supported inputs

  • Standalone pass-through tools (fiberhmm-dedup, -pair, -merge,
    -tag-m5c, -call-m5c, -tag-consensus, -strand-rescue-annotate) are
    supported on FiberHMM 3.0 output. On pre-3.0 or header-stripped BAMs,
    re-call with FiberHMM 3.0 first.

Documentation

  • --input-frame help (recall-tfs/-nucs, tag-m5c, call-m5c --tag-input-frame) states the full frame rule.
  • fiberhmm-probs no longer names the combined *_probs.tsv as
    fiberhmm-train input; -p takes the accessible and inaccessible tables.
  • The fiberhmm-recall-tfs description no longer mentions --phase-nrl.
  • CI tests Python 3.14.
pip install fiberhmm==3.0.1