Add an STRC regression test using public HG00733 HiFi data - #83
Open
lyfar wants to merge 2 commits into
Open
Conversation
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
strc_ok, which checks copy number, depth, phasing sites, haplotype classes, copy assignment, and complete variant lists.(1,1)for STRC and(2,3)for STRCP1.The test keys haplotype comparisons by sequence. Python v3.5.0 and Rust assign the two STRC
hap1/hap2labels in opposite order while preserving the same sequences and variants.Rationale
The Rust integration suite lacks an STRC fixture or test. It covers SMN1, AMY1A, AGAP9, and F8. The existing
HG00733.json.xzcame fromm64076_2021reads, while the public aligned BAM available from HPRC containsm54329U_2019reads. I generated the v3.5.0 expectation from that public BAM to keep the sequencing campaign fixed.The marker assertions are deliberately closed-world: an unfamiliar haplotype label can no longer fall through and count as STRC in the test.
Validation
I ran v3.5.0, v4.0.0, and current
maintwice on identical fixture and reference bytes. All six normalized calls matched:I found one primary MAPQ-60 alignment in each phased HG00733 assembly. Both alignments cover the full STRC and STRCP1 targets.
Provenance
https://s3-us-west-2.amazonaws.com/human-pangenomics/working/HPRC_PLUS/HG00733/analysis/aligned_reads/hifi/GRCh38/HG00733_aligned_GRCh38_winnowmap.sorted.bam871ee1d8f75241a9087fc08845a46c9dGCA_000001405.15 GRCh38 no-alt analysis set30f1a99359a5993edbf8c8bc885825a75921d64fc38ed81b99624b1eacfd557f28edf65b1cde624ee09fb2daf917cfc6bbde38b71970c41ad68da4c81bc299711f9a537d1f941186210254090d810a92c8016dff40d105501868719bdae0defd9937abfe8429a32ec7f2990480f5a0803b21b0f32db891a7f6a483da347e2fcbd2680156Scope
This PR remains test-only and changes no production code. It measures Python-to-Rust parity on one public sample. Clinical validation requires a separate study. The production abstention fix and an independent HG005 truth fixture are proposed separately in #84.