Skip to content

Port Parser.t (v2 paradigm, Tier 3)#171

Open
sitekwb wants to merge 2 commits into
dev-testfrom
port-parser-2026-05-28
Open

Port Parser.t (v2 paradigm, Tier 3)#171
sitekwb wants to merge 2 commits into
dev-testfrom
port-parser-2026-05-28

Conversation

@sitekwb

@sitekwb sitekwb commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

v2-paradigm port of ensembl-vep/t/Parser.t (Tier 3 PORT row 8 in
porting-tests/port-status.md). Implements the 9 Axis A unit-ports + 3
Axis B unit-ports identified in porting-tests/detailed_plans/Parser.md
(post-Phase-D audit 2026-05-27).

11 active tests across 3 files (B2 cross-references InputBuffer test):

Coverage: 12/77 = 16% Perl-denominator (incl. 3 Axis B); 39%
addressable once engine blockers land. 47 architectural-no-analogue
rows + 21 blocked-future-work rows documented as comment blocks /
commented stubs in tests/port_parser.rs. 0 new future-work
entries created
— all 21 blocked rows fold into 6 existing
porting-tests/future-work-vepyr.md entries.

Companion porting-tests update: biodatageeks/vepyr-porting-tests
commit d4d8c51 (joint with Cache_Variation flip) + 518df9e
(counter fix to 10/49 = 20%).

Test plan

  • cargo test -p datafusion-bio-function-vep --lib — 834 passed
  • cargo test -p datafusion-bio-function-vep --test port_parser
    4 passed
  • cargo test -p datafusion-bio-function-vep --tests (release) —
    full integration regression passed
  • Targeted regression: port_input_buffer,
    port_annotation_source_adaptor — pass

🤖 Generated with Claude Code

sitekwb and others added 2 commits May 28, 2026 11:32
Per-test placement (per `porting-tests/detailed_plans/Parser.md`):

- `src/allele.rs::tests::port_parser_*` (4 tests): subtests #17 (GA/GT
  minimise via `vcf_to_vep_allele`), #18/#19 (MNV-preserves-suffix —
  documented divergence from Perl's broader trim per Ensembl-Variation
  `trim_sequences()` rule at allele.rs:300-302), Axis B B1 (degenerate
  same-allele input collapses to "-/-" under MNV rule).
- `src/transcript_consequence.rs::tests::port_parser_*` (3 tests):
  subtests #31 (bare chrom in valid set), #32 (`chr` prefix stripped
  by `normalize_chrom` then matches), #34 (unknown chrom rejected).
- `tests/port_parser.rs` (4 tests): subtests #7 (nonexistent path —
  catches panic from `object_storage.rs:183` unwrap), #12 (gzipped VCF
  reads), #57 (CRLF line endings tolerated), Axis B B3 (`.vcf.bgz`
  extension routes through gzip reader).

Axis B B2 (`buffer_variant_bounds` multi-chrom first-chrom-wins) is
cross-referenced — already covered by
`src/annotate_provider.rs::tests::port_input_buffer_axisB1_buffer_variant_bounds_multi_chrom_binds_to_first_chrom`.

Coverage parity: 12 / 77 Perl-denominator unit-ports (incl. 3 Axis B);
47 architectural-no-analogue rows documented inline in
`tests/port_parser.rs` (multi-format Parser base class, `validate_vf`
warning emission, lowercase coercion, DB mode/LRG, 27 `detect_format`
/ STDIN / factory-dispatch rows); 21 blocked-future-work rows as
commented-out stubs (all fold into existing future-work-vepyr.md
entries — SO-term cluster engine blocker #2 × 6, chromosome-synonyms
× 4, check_ref × 5, lookup_ref × 4, Uploaded_variation × 1,
chr_filter × 1). **0 new future-work entries created**.

v2 paradigm anchors: ~/.claude/skills/port-to-vepyr/references/v2-paradigm.md
- sztywno 1:1: every Perl subtest gets a Rust analogue (test or
  documented stub).
- standalone: no docker, no golden.vcf, no run_and_compare_csq.

cargo test: 11 active passing tests across the 3 files; full lib
suite 834 passed / 0 failed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Resolves CI build-test failure on cargo fmt step. Pure whitespace/
line-wrap changes; no semantic edits. Includes pre-existing fmt
drift in files from #172 (cache_variation) merged into dev-test
that ship unformatted.

Bounded fix for PR #171 (Parser) CI rehab.
@sitekwb sitekwb force-pushed the port-parser-2026-05-28 branch from 2a419e7 to 2ba9169 Compare May 28, 2026 09:37
@sitekwb sitekwb changed the base branch from master to dev-test May 28, 2026 09:37
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.

1 participant