Skip to content

Normalize allele-set filters consistently across evidence exports - #433

Merged
iskandr merged 4 commits into
mainfrom
fix/427-export-allele-filters
Sep 7, 2026
Merged

Normalize allele-set filters consistently across evidence exports#433
iskandr merged 4 commits into
mainfrom
fix/427-export-allele-filters

Conversation

@iskandr

@iskandr iskandr commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

MS and binding exports duplicated the allele-set membership filter without the loader's normalization, so A*02:01 returned no evidence while HLA-A*02:01 succeeded. Both exporters now forward allele-set and provenance filters to their shared loaders, preserving comma-separated list inputs and removing the duplicate filtering code. Training exports inherit the same selection and empty-input validation.

Forty-two parity regressions compare raw-loader and exported assay identities across canonical/bare/case-variant alleles, provenance filters, list input forms, all training evidence modes, and empty allele queries. Version: 1.58.4.

Validation: ./format.sh and ./lint.sh pass. The combined export suite passes 200 tests; ./test.sh passes all 1,280 default-suite tests with one expected warning.

Closes #427.

Release verification: every PR CI job passed across Python 3.9–3.12, including all 24 corpus integration tests on 3.11. Merged as 13c37c0; ./deploy.sh ran from clean main and passed all 1,304 tests with one expected warning. Both the wheel and source archive are published at https://pypi.org/project/hitlist/1.58.4/ and their SHA-256 hashes match the local build artifacts.

The four-PR data-consistency series is shipped: #429 / 1.58.1, #431 / 1.58.2, #432 / 1.58.3, and #433 / 1.58.4. All seven original bug reproductions pass. The next prioritized block is #386 (species filters in every export), followed by #373 (ignored sample-curation fields); dependency and evidence constraints are recorded in tasks/todo.md.

@iskandr
iskandr merged commit 13c37c0 into main Sep 7, 2026
5 checks passed
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 34137341462

Coverage decreased (-0.01%) to 83.245%

Details

  • Coverage decreased (-0.01%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 103 coverage regressions across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

103 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
export.py 103 90.08%

Coverage Stats

Coverage Status
Relevant Lines: 8159
Covered Lines: 6792
Line Coverage: 83.25%
Coverage Strength: 0.83 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Export allele-set filters reject aliases accepted by the raw loaders

2 participants