Repository navigation
Commit 20d2cbb
Count FORMAT value items in the oracle, not only INFO ones
A run over any VCF with a positional FORMAT key failed validation. The oracle
reported the entire value-item layer as unexpected -- 401,606 extra
hasValueItem/forAllele/FieldValueItem rows on a 100k-record GIAB file -- and
13_query_cost failed 3/3 replicates at its large scale.
_emit_value_items is called from two places: the INFO pass, and
append_expanded_sample_rdf for FORMAT. emitted_record_counters only ever walked
parse_info_entries, so the FORMAT half was never expected. format_numbers was
already a parameter of that function and was never read once -- the counting had
simply never been written.
The layer is expanded-only, because append_expanded_sample_rdf is the only
emitter of it, so it is returned separately and merged by expected_census under
representation == "expanded", exactly as the genotype layer already is. The
emitter's two preconditions are mirrored rather than re-derived: at least one
ALT, and split_value_items yielding items (a missing cell yields none).
Why the fixtures never caught it: test-1k.vcf and test-10k.vcf declare no
positional FORMAT key at all, while HG005 declares AD and ADALL as Number=R. The
bug needed real data to appear.
Adds EmittedTermCensusCoverageTests, which diffs every vocab term the emitter
produces against everything the oracle counts, classifying each use by its
position in the triple so vocabulary objects are not mistaken for census terms.
This is the guard for the whole bug class -- it has now bitten twice, here and
in the INFO items under raw INFO. It ships with a waiver list of 35 terms that
are genuinely unmodelled today, grouped by feature: local alleles, phase sets,
SV/confidence intervals, gVCF reference blocks, tandem repeats and Number=M base
modifications. Each waived entry is a file shape that cannot pass validation, so
the list is a to-do, not a licence. A second test fails if a waived term later
becomes counted, so the list cannot rot.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent a3679e1 commit 20d2cbb
2 files changed
Lines changed: 221 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
583 | 583 | | |
584 | 584 | | |
585 | 585 | | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
586 | 591 | | |
587 | 592 | | |
588 | 593 | | |
| |||
650 | 655 | | |
651 | 656 | | |
652 | 657 | | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
653 | 695 | | |
654 | 696 | | |
655 | 697 | | |
| |||
696 | 738 | | |
697 | 739 | | |
698 | 740 | | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
699 | 749 | | |
700 | 750 | | |
701 | 751 | | |
702 | 752 | | |
703 | 753 | | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
704 | 757 | | |
705 | 758 | | |
706 | 759 | | |
| |||
870 | 923 | | |
871 | 924 | | |
872 | 925 | | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
873 | 932 | | |
874 | 933 | | |
875 | 934 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
788 | 788 | | |
789 | 789 | | |
790 | 790 | | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
0 commit comments