Skip to content

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_ids for matching model instances;
  • prioritized_source_names for matching annotation sources;
  • overall prioritized = True when 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.