Repository navigation
fix(rseqc): honor explicit infer-experiment sampling limits - #184
Draft
NicoDeVeaux wants to merge 4 commits into
Draft
NicoDeVeaux wants to merge 4 commits into
NicoDeVeaux wants to merge 4 commits into
Conversation
This branch has not been deployed
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.
Explicit
--infer-experiment-sample-sizeand YAMLrna.infer_experiment.sample_sizevalues are ignored. A generated 300,000-record witness reports all-read fractions0.8533/0.1467even when the requested first 200,000 eligible records imply0.7800/0.2200. That changes the downstream strandedness/QC decision in this synthetic boundary case. The intentional all-read default remains intact; the published 186M-read benchmark still indicates strong reverse-strandedness under both sampling policies.The history keeps the reproducer, behavioral fix and follow-ups independently reviewable:
Unknown Data type\nframe. The writer uses that exact 18-byte frame for every Unknown report, including no-data and mixed reports; a direct writer test covers the formatting change.crossbeam-epochto0.9.20andlibz-systo1.1.31in Cargo.lock, fixing the two audit failures without new ignore rules.Run at the reproducer and behavioral-fix commits:
cargo test --release --test infer_samplingFixtures are generated with existing dependencies; no external executable or downloaded scientific dataset is needed. Controls cover SE/PE records, filtering and ambiguous overlaps, supplementary reads, chromosome aliases/prefixes, CRAM with a configured reference, CLI/YAML precedence, zero/unset/maximum caps, threads 1/2/4/8 and cap reset with reversed multi-input order. Full flagstat equality checks that sampling leaves the other analysis unchanged.
Local release validation after the dependency updates passes all 240 tests, and formatting passes.
cargo auditnow exits zero with zero vulnerabilities using the same advisory database and policy; informational warnings remain. The sampling suite and Unknown-report writer control pass. The filtered-read flagstat control compares bytes to this branch's uncapped baseline, keeping #175's existing QC-column repair separate.Hosted CI passes all seven checks on the final head: Linux baseline, Linux x86-64-v3 and macOS ARM tests, formatting, Clippy, MSRV and security audit.
The local toolchain still reports three inherited
needless_range_loopdiagnostics in strict Clippy. Unchanged-main control code reproduces them; no lint suppression is included. Hosted Clippy is checked separately. The PR remains draft for maintainer review.Finite caps require an additional streaming prefix pass, potentially a full extra scan if too few records qualify. The current global default remains unchanged; workflows must explicitly request their intended limit after adopting a fixed artifact. Unknown-strand annotation eligibility and full RNA/workflow equivalence remain outside this repair. The existing counting repairs remain separate.
This is written by an AI agent (model name unavailable) on Nico DeVeaux’s behalf.