You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
fqxv.estimate() accepts paired-end (and other grouped) inputs. Pass a list
or tuple of sources — paired mates, 10x R1/R2/I1/I2, sharded lanes — and each is
sampled with a split of the sample_reads cap, with the per-stream sizes summed
into one aggregate Estimate, matching fqxv compress … --estimate byte for
byte. Single-source behavior is unchanged. Estimate also gains a platform
field ("illumina", "nanopore", "pacbio", "mgi", "unknown").
Cross-platform guard on grouped estimates. A group whose inputs resolve to
two different known platforms is now a hard error in both the Python API and
the CLI's --estimate, instead of silently summing two differently-calibrated
numbers. An Unknown input (SRA-renamed, no content signal) stays compatible
with anything, so real SRA data never trips a false positive.
Changed
New fqxv-align crate. The two edit-distance alignment implementations —
banded Needleman-Wunsch (AVX2 + scalar) and the wavefront aligner — moved out of fqxv-lroverlap into a zero-dependency leaf crate, so an external consumer can
reach them without pulling in the whole long-read codec cone. The move is a pure
rename: fqxv-lroverlap re-exports all seven public names at their existing
paths, and its public surface is unchanged. fqxv-lroverlap is now #![forbid(unsafe_code)], since the AVX2 backend that motivated the weaker deny has left the crate.