feat: add seq-content command and seq-stats improvements - #28
Merged
Merged
Conversation
seq-content counts canonical k-mers per bed region category. seq-stats gains numpy-style quantiles, FIFO input support, and better filters. Rebased flat onto the rust-htslib 1.0 migration: the faidx free workaround is gone because fetch_seq now returns an owned Vec.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the
rb seq-contentcommand. It counts canonical k-mers (k 1-7) in bed regions, grouped by the region name column, and prints one row per group with one column per canonical k-mer.Also improves
rb seq-stats: numpy-style linear-interpolation quantiles, clean one-decimal quantile headers, FIFO and process-substitution inputs, and skipping only missing or empty regular files.Review status: a multi-agent review ran on this branch earlier. The confirmed findings are fixed in this tree: per-region fasta fetches instead of one whole-chromosome buffer per contig, k=0 rejected at the CLI, and the input prefilter keeps FIFOs.
Note on the rebase: the branch history was flattened onto main after the rust-htslib 1.0 migration. The earlier faidx free workaround is removed, because
fetch_seqnow returns an owned Vec and freeing its pointer would be a double free.