Skip to content

Releases: fiberseq/fibertools-rs

0.9.0 - 2026-05-21

21 May 21:12
a5d68f6

Choose a tag to compare

Release Notes

🚀 New subcommands

  • ft call-peaks: peak caller for FIRE pileup BED output. Identifies enriched regions, applies optional FIRE fiber-level filters, and emits per-peak statistics.
  • ft mock-fire: generate mock FIRE-style data for testing and benchmarking pipelines.
  • ft benchmark: lightweight benchmarking harness for measuring throughput on key subcommands.

🔧 Improvements

  • ft pileup: accepts multiple regions in a single invocation; default --frac-fibers filter applied to drop low-coverage windows.
  • FIRE fiber-level filters hoisted to global FiberFilters: --fire-filter, --min-msp, --min-ave-msp-size, and --skip-no-m6a are now available as global flags shared by ft fire, ft pileup, and ft call-peaks. --fire-filter is a convenience preset; individual flags override its defaults.
  • Train-FIRE Snakemake pipeline added under Train-FIRE/ for end-to-end FIRE model training.
  • Build/dev-loop improvements: thin-LTO and a dedicated test profile for faster iteration.

🐛 Bug fixes

  • fa:Z extras pairing on reverse-strand reads with overlapping/shared-start peaks (follow-up to #103): when multiple BED annotations share a query start position on a reverse-strand read, the post-hoc ann_vals.reverse() step in FiberAnnotations::from_bam_tags did not produce a permutation equivalent to the stable sort over flipped coordinates, scrambling the fa:Z extras (e.g. peak names/lengths) relative to their fs/fl annotations on extraction. Fix pre-pairs extras with annotations before the flip+sort so the permutation is consistent. BAM encodings were always correct; the bug only affected extraction. Affects v0.8.0–v0.8.2.
  • hp tag parsing accepts all integer widths. longcalld writes hp as a 32-bit integer; the previous code only accepted one width and would error on those reads. hp is not in the SAM aux spec, so we now accept any integer type. (#108)

🧪 Tests

  • tests/call_peaks_test.rs: end-to-end coverage of the new peak caller.
  • tests/fibertig_test.rs: regression test for the fa:Z reverse-strand shared-start pairing bug, using Anna Minkina's exact failing input.
  • Unit tests in src/utils/input_bam.rs covering passes_fire_filter semantics: skip-no-m6a behavior, min-msp, min-ave-msp-size, the --fire-filter combo, and explicit-flag overrides.
  • Regression test harness via insta snapshots (tests/regression/, #106). Covers ft extract --m6a/--nuc/--msp/--all, ft center, ft qc, ft pileup, and ft fire --extract against the existing test BAMs. Update workflow documented in CONTRIBUTING.md.

⚡ Performance

  • Per-record FIRE feature extraction in ft fire -f is now parallelized (#104).

[0.8.2]

Bug Fixes

  • ft center: fix off-by-one in centered_query_start/centered_query_end for minus strand reads. The half-open interval negation was incorrect, causing m6a positions to index into the wrong base when slicing query_sequence[-centered_query_end:] on minus strand reads. Plus strand and subset_sequence were unaffected.
  • ft center: add missing fire_qual column to wide format header. The header had 21 columns but data rows had 22, causing column misalignment when parsing.

[0.8.1]

Fixed a bug where pg-inject could make fibertigs that were longer than needed at the end of chromosomes.

Install fibertools-rs 0.9.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.9.0/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.9.0

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.8.2

03 Feb 01:20

Choose a tag to compare

Release Notes

Bug Fixes

  • ft center: fix off-by-one in centered_query_start/centered_query_end for minus strand reads. The half-open interval negation was incorrect, causing m6a positions to index into the wrong base when slicing query_sequence[-centered_query_end:] on minus strand reads. Plus strand and subset_sequence were unaffected.
  • ft center: add missing fire_qual column to wide format header. The header had 21 columns but data rows had 22, causing column misalignment when parsing.

Install fibertools-rs 0.8.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.8.2/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.8.2

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.8.1

21 Nov 14:50

Choose a tag to compare

Release Notes

Fixed a bug where pg-inject could make fibertigs that were longer than needed at the end of chromosomes.

Install fibertools-rs 0.8.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.8.1/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.8.1

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.8.0

29 Oct 03:37

Choose a tag to compare

Install fibertools-rs 0.8.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.8.0/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.8.0

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.6.4 - 2025-01-31

31 Jan 20:43

Choose a tag to compare

Release Notes

  • Fix: Error on unrecognized PacBio chemistry.

Install fibertools-rs 0.6.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.6.4/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.6.4

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.6.3 - 2025-01-31

31 Jan 20:38

Choose a tag to compare

Release Notes

  • Fix: bit flag filtering #70.

Install fibertools-rs 0.6.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.6.3/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.6.3

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.6.2

11 Dec 22:15

Choose a tag to compare

Install fibertools-rs 0.6.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fiberseq/fibertools-rs/releases/download/v0.6.2/fibertools-rs-installer.sh | sh

Download fibertools-rs 0.6.2

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.6.0 - 2024-11-14

14 Nov 18:38

Choose a tag to compare

Release Notes

  • fix: do not report m6A predictions that happen within the first 7 or last 7 bp of a read. This is so the ML model only operates on real data. No changes to other calls. Will fix #65
  • fix: report footprint codes even if there is no spanning msp, fixes #63
  • feat: add a pyft utility that can take extract --all data and make it long format for plotting.
  • feat: Add a shuffle option to pileup to help with the FDR calculations in FIRE
  • feat: make nucleosomes and MSPs optional in pileup
  • chore: use vergen for cli version
  • feat: add phasing stats to QC
  • feat: allow strip-base mods to filter on base mod quality.

Download fibertools-rs 0.6.0

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.5.4 - 2024-09-10

10 Sep 04:18

Choose a tag to compare

Release Notes

  • Added filtering expressions to ft #57
  • ADD ft qc #59
  • Extended QC commands and added FIRE to prediction #60

Download fibertools-rs 0.5.4

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.5.3 - 2024-07-31

31 Jul 04:19

Choose a tag to compare

Release Notes

⚙️ Miscellaneous Tasks

  • Update changelog with release
  • Update changelog with release
  • Update changelog with release
  • Update changelog with release
  • Update changelog with release

Download fibertools-rs 0.5.3

File Platform Checksum
fibertools-rs-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
fibertools-rs-x86_64-apple-darwin.tar.xz Intel macOS checksum
fibertools-rs-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum