What “prioritized” means¶
prioritized means that at least one declared model or annotation rule evaluated to true for a variant.
It does not mean:
- pathogenic or benign;
- causal for a phenotype;
- clinically actionable;
- statistically significant;
- higher quality than every unprioritized variant;
- calibrated to the same meaning across model architectures.
How the flag is assembled¶
Each model binding may declare a predicate over its score columns and joined annotations. Each annotation source may also declare a predicate over its own fields. Altar evaluates the rules independently and records:
prioritized_model_idsfor matching model instances;prioritized_source_namesfor matching annotation sources;- overall
prioritized = Truewhen either list is non-empty.
That provenance makes the flag auditable. Consumers should display why a variant was selected, not only the boolean rollup.
Required annotations¶
A model's rule can read annotation columns, such as ChromBPNet's region_type. The model's manifest declares
each one as an AnnotationDependency on a published annotation contract. Result assembly refuses to run when
no configured source supplies a dependency's columns. It warns when the columns come from a source that does
not declare the contract, because nothing then states that the values follow it. See
Use your own annotation tables.
Missing values¶
Predicates use three-valued logic. If a required input is missing, evaluation is unknown rather than false. An unknown rule does not cause overall prioritization, but it remains scientifically different from a rule that observed the value and returned false. A variant that a configured source has no row for is such a missing input.
Comparing models¶
A shared flag does not make the underlying scores commensurate. Compare raw values only when their model cards
define the same quantity, units, direction, and context. A ChromBPNet logfc, an AlphaGenome maximum track
effect, and a GPN-Star calibrated likelihood ratio answer different questions.
Any cross-model weighting or learned ranker belongs in a separately versioned downstream policy. It should not be hidden inside result assembly.