Skip to content

feat: calibration controls and disease context in the UI - #722

Merged
bencap merged 3 commits into
release-2026.3.0from
feature/bencap/754/calibration-controls-ui
Sep 30, 2026
Merged

bencap merged 3 commits into
release-2026.3.0from
feature/bencap/754/calibration-controls-ui

Conversation

@bencap

@bencap bencap commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Frontend for the calibration clinical-controls and disease features, plus a UI freeze on published scores.

Depends on VariantEffect/mavedb-api#873 (regenerated OpenAPI types).

Changes

  • Disease/disorder — MONDO typeahead (DiseaseAutocomplete) in the calibration wizard, defaulting to the generic term; shown on the calibration table and detail views.
  • Clinical controls — CSV upload behind a PHI acknowledgment gate; a pathogenic/benign overlay in the score histogram, selectable alongside ClinVar via a new clinical-control-source dropdown; per-range placement rows and a concordance summary in the calibration table; a "used as a control" badge on the variant page.
  • Freeze scores — variant-scores editor shown only while the score set is private.
  • Regenerated OpenAPI types.

Calibrations gain two curator-provided pieces of clinical context, edited in the
calibration wizard and surfaced across the score-set and variant views:

- Disease/disorder: a MONDO term chosen via typeahead (DiseaseAutocomplete),
  defaulting to the generic "disease or disorder" concept. Sent to the server as the
  bare code and shown on the calibration table and detail views.
- Clinical controls: a CSV of variants with known pathogenic/benign status used to
  derive the calibration, behind a PHI acknowledgment gate. Controls drive a
  pathogenic/benign overlay in the score histogram (selectable alongside ClinVar
  through the new clinical-control-source dropdown), per-range placement rows and a
  concordance summary in the calibration table, and a "used as a control" badge on
  the variant page.

The two share the calibration editor plumbing (draft model, save payload, field
descriptions, calibration types), which interleaves them across the same files, so
they land as one change rather than as two non-buildable commits.
Mirror the API's SET_SCORES restriction in the editor: the variant-scores card is
shown only while the score set is private, so a published set's scores can no longer
be edited from the UI. Corrections go through a superseding set.
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 12.839% (+2.3%) from 10.496% — feature/bencap/754/calibration-controls-ui into release-2026.3.0

@bencap
bencap merged commit 5219cd0 into release-2026.3.0 Sep 30, 2026
1 check passed
@bencap
bencap deleted the feature/bencap/754/calibration-controls-ui branch September 30, 2026 18:43
bencap added a commit that referenced this pull request Sep 30, 2026
…ta-model

- score-sets.ts: the preview requests keep release's drop_unused_hgvs_columns
  'false' (#729); RT's new lean-view and score set fetchers are kept.
- VariantInfoSection.vue stays deleted. #722's calibration-control row moves
  onto the variant page's Functional evidence card, with
  selectedVariantControlStatus in use-variant-lookup.
- ScoreSetHistogram.vue: RT's version with #722's calibration-controls source
  re-applied, keyed on variantUrn.
- SearchVariantsScreen.vue keeps CALIBRATION_STATUS_LEGEND_HTML and drops the
  score-set list constants RT removed.
- calibrations.ts renames #722's FunctionalClassification alias to
  ScoreCalibrationFunctionalClassification, to avoid RT's string type.
- openapi.d.ts regenerated from the synced API branch.
@bencap bencap mentioned this pull request Sep 30, 2026
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.

Add calibration controls to support clinical confidence in variant interpretation

2 participants