ci: opt-in large-dataset differential against STAR - #249
Open
BenjaminDEMAILLE wants to merge 1 commit into
Open
Conversation
The suites in tests/ use a synthetic micro-genome and finish in seconds, which is why two reported bugs (#31, #48) were invisible to them: both are about aggregate behaviour over tens of thousands of reads, not about one alignment. test/nfcore_diff.py fetches the nf-core/rnaseq test dataset (50 000 paired reads, S. cerevisiae chrI plus the GFP transgene), runs STAR and rustar-aligner over it, and compares mapping rates, the unmapped-reason buckets and the multimapper depth histogram. Thresholds are the measured gaps plus headroom, so today's state passes and a regression does not; --report-only prints the comparison without failing, for use while a difference is being investigated. The workflow is opt-in rather than per-push: manual dispatch, or the `large-tests` label on a pull request. Dispatch takes a runner label, so it can be aimed at a scverse AWS runner without editing the file. Checked against a known regression: on main the script fails on exactly the two unmapped buckets that #247 fixes, and reports the NH gap of #31 at 1.43x. Closes #244.
This was referenced Aug 27, 2026
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.
Closes #244.
Why
The suites in
tests/use a synthetic micro-genome and finish in seconds. That is why the two bugs reported from nf-core/rnaseq data (#31, #48) were invisible to them: both are about aggregate behaviour over tens of thousands of reads, not about one alignment.What runs
test/nfcore_diff.pyfetches the nf-core/rnaseq test dataset from public URLs (50 000 paired reads, S. cerevisiae chrI plus the GFP transgene — the same fixture the reporter used), builds both indexes, runs STAR and rustar-aligner, and compares:unmapped: too short,unmapped: other, each as a fraction of input reads;Thresholds are the measured gaps plus headroom, so today's state passes and a regression trips them.
--report-onlyprints the comparison and exits 0, which is what to use while a difference is being investigated.Checked against a known regression
Run on
mainright now, the script fails on exactly the two buckets #247 fixes, and reports #31's depth gap:With #247 merged those two lines read 3778 and 3596, inside the thresholds.
How it is triggered
Opt-in, never on every push: manual dispatch, or the
large-testslabel on a pull request. The dispatch form takes a runner label, so it can be aimed at a scverse AWS runner without editing the workflow — that is the part of the issue I cannot do from here, since it needs the runner group to exist.STAR comes from Ubuntu's
rna-starpackage; building it from source would triple the job runtime without changing what is measured.One note carried into the script:
--readFilesCommand zcatyields zero reads on macOS for both aligners, silently, so the fixture is decompressed up front rather than piped.🤖 Generated with Claude Code