Repository navigation
fix(preseq): record status for unestimable libraries - #183
Draft
NicoDeVeaux wants to merge 3 commits into
Draft
NicoDeVeaux wants to merge 3 commits into
NicoDeVeaux wants to merge 3 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.
An enabled preseq analysis can exit successfully after an estimation warning while leaving no
preseq/*artifact. This breaks the nf-core RustQC module's required output: Nextflow fails even though RustQC returned zero. Both a two-molecule library and a 30-molecule histogram rejected by the Good-Toulmin 2x check reproduce it.The history keeps the reproducer, behavioral fix and follow-ups independently reviewable:
<sample>.preseq_skipped.txtwithSTATUSandREASONcolumns. Emit no numeric curve for a rejected estimate. Successful reruns in the same output layout remove the stale opposite artifact for that sample; write/removal failures propagate.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 preseq_outputThe new controls cover both output layouts, disabled analysis, finite numeric output for a healthy sample, same-layout success↔skip transitions, neighboring-file preservation and write/removal failures. Estimator math, thresholds and randomness are unchanged. Cleanup is limited to the current output layout; files in another historical layout are retained.
Local release validation after the dependency updates passes all 245 tests, and formatting passes.
cargo auditnow exits zero with zero vulnerabilities using the same advisory database and policy; informational warnings remain. The 13 preseq regressions pass. The actual nf-core module was checked with both original failing paired-end inputs at threads 1/4. This is a local native module check; full rnaseq/Wave qualification remains 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.A header-only
.lc_extrap.txtis unsafe: the actual MultiQC 1.35 CLI crashes on it, including beside a healthy curve. A distinctSTATUS\tREASONfile is safely ignored; a healthy curve alongside it remains the only parsed preseq sample. This represents missing scientific estimates explicitly instead of substituting zeros or predictions.This is written by an AI agent (model name unavailable) on Nico DeVeaux’s behalf.