Add real-world fixtures for 11 previously-uncovered formats - #37
Merged
Conversation
Extend the license-vetted real fixture suite from 5 covered validated formats to 16, so nearly every hand-written validator now runs against canonical tool/portal output offline. New Tier-1 coverage (validated formats that previously had no real fixture): SAM, FASTA, FASTQ, PAF, BEDPE, narrowPeak, broadPeak, bedGraph, WIG, and Picard interval_list. Plus one Tier-2 depth item: a real BED12 (IsoSeq collapsed transcripts) exercising the block fields (thickStart/thickEnd, itemRgb, blockCount/blockSizes/blockStarts) that the existing 3-column BED fixture never touched. Sources are all redistribution-safe: samtools examples (MIT), the nf-core/test-datasets modules branch (MIT), and the Ensembl sample WIG (Apache-2.0, the canonical UCSC wiggle example covering BED-style, variableStep and fixedStep in one file). All 11 fixtures pass the existing offline contract, including the zero-diagnostic guard: unlike the GENCODE round, no validator false positives surfaced -- the newly-covered validators already handle canonical input cleanly.
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.
Summary
Extends the license-vetted real-world fixture suite (added in #35) from 5 covered validated formats to 16. Nearly every hand-written validator now runs against canonical tool/portal output in the offline verify suite.
The prior GENCODE round proved the value of this: real data immediately caught three validator false positives (#36). This round does the same for the formats that had never seen real input.
New coverage
Tier 1 — validated formats with zero prior fixtures:
examples/toy.samexamples/toy.faTier 2 — depth on an already-covered format:
thickStart/thickEnd,itemRgb, andblockCount/blockSizes/blockStarts. The only prior BED fixture was 3-column, so the block fields had never seen real input.The WIG fixture is particularly good value: one file covering BED-style,
variableStep, andfixedStepsections.Result
All 11 new fixtures pass the existing offline contract (pinned sha256, supported-format, validates-without-throwing, min-rows) including the zero-diagnostic guard. Unlike the GENCODE round, no validator false positives surfaced — the newly-covered validators already handle canonical input cleanly. Each was separately smoke-tested to confirm it is live (emits on malformed input), so the clean result is meaningful rather than a no-op.
Not in scope (follow-ups)
getValidatorreturns nothing, so they can't join this harness until they have a validator. That's a separate "should we validate these?" decision.start=without a numeric check; the interval_list declarative spec enforces min-columns + strand only). These are false-negatives on synthetic input, not false positives, so they don't affect any fixture — noting for a possible validator-hardening pass.