Skip to content

Commit a50daca

Browse files
committed
Add IGVF Coding Variant Focus Group score range models for controls and missense variants
1 parent fa5aedf commit a50daca

File tree

1 file changed

+101
-1
lines changed

1 file changed

+101
-1
lines changed

src/mavedb/view_models/score_range.py

Lines changed: 101 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,90 @@ class ScottScoreRanges(BrnichScoreRanges, SavedScottScoreRanges):
338338
research_use_only: bool = False
339339

340340

341+
##############################################################################################################
342+
# IGVF Coding Variant Focus Group (CVFG) range models
343+
##############################################################################################################
344+
345+
# Controls: All Variants
346+
347+
348+
class IGVFCodingVariantFocusGroupControlScoreRangesBase(BrnichScoreRangesBase):
349+
title: str = "IGVF Coding Variant Focus Group -- Controls: All Variants"
350+
research_use_only: bool = False
351+
352+
353+
class IGVFCodingVariantFocusGroupControlScoreRangesModify(
354+
BrnichScoreRangesModify, IGVFCodingVariantFocusGroupControlScoreRangesBase
355+
):
356+
title: str = "IGVF Coding Variant Focus Group -- Controls: All Variants"
357+
research_use_only: bool = False
358+
359+
360+
class IGVFCodingVariantFocusGroupControlScoreRangesCreate(
361+
BrnichScoreRangesCreate, IGVFCodingVariantFocusGroupControlScoreRangesModify
362+
):
363+
title: str = "IGVF Coding Variant Focus Group -- Controls: All Variants"
364+
research_use_only: bool = False
365+
366+
367+
class SavedIGVFCodingVariantFocusGroupControlScoreRanges(
368+
SavedBrnichScoreRanges, IGVFCodingVariantFocusGroupControlScoreRangesBase
369+
):
370+
record_type: str = None # type: ignore
371+
372+
title: str = "IGVF Coding Variant Focus Group -- Controls: All Variants"
373+
research_use_only: bool = False
374+
375+
_record_type_factory = record_type_validator()(set_record_type)
376+
377+
378+
class IGVFCodingVariantFocusGroupControlScoreRanges(
379+
BrnichScoreRanges, SavedIGVFCodingVariantFocusGroupControlScoreRanges
380+
):
381+
title: str = "IGVF Coding Variant Focus Group -- Controls: All Variants"
382+
research_use_only: bool = False
383+
384+
385+
# Controls: Missense Variants
386+
387+
388+
class IGVFCodingVariantFocusGroupMissenseScoreRangesBase(BrnichScoreRangesBase):
389+
title: str = "IGVF Coding Variant Focus Group -- Controls: Missense Variants Only"
390+
research_use_only: bool = False
391+
392+
393+
class IGVFCodingVariantFocusGroupMissenseScoreRangesModify(
394+
BrnichScoreRangesModify, IGVFCodingVariantFocusGroupMissenseScoreRangesBase
395+
):
396+
title: str = "IGVF Coding Variant Focus Group -- Controls: Missense Variants Only"
397+
research_use_only: bool = False
398+
399+
400+
class IGVFCodingVariantFocusGroupMissenseScoreRangesCreate(
401+
BrnichScoreRangesCreate, IGVFCodingVariantFocusGroupMissenseScoreRangesModify
402+
):
403+
title: str = "IGVF Coding Variant Focus Group -- Controls: Missense Variants Only"
404+
research_use_only: bool = False
405+
406+
407+
class SavedIGVFCodingVariantFocusGroupMissenseScoreRanges(
408+
SavedBrnichScoreRanges, IGVFCodingVariantFocusGroupMissenseScoreRangesBase
409+
):
410+
record_type: str = None # type: ignore
411+
412+
title: str = "IGVF Coding Variant Focus Group -- Controls: Missense Variants Only"
413+
research_use_only: bool = False
414+
415+
_record_type_factory = record_type_validator()(set_record_type)
416+
417+
418+
class IGVFCodingVariantFocusGroupMissenseScoreRanges(
419+
BrnichScoreRanges, SavedIGVFCodingVariantFocusGroupMissenseScoreRanges
420+
):
421+
title: str = "IGVF Coding Variant Focus Group -- Controls: Missense Variants Only"
422+
research_use_only: bool = False
423+
424+
341425
##############################################################################################################
342426
# Zeiberg specific calibration models
343427
##############################################################################################################
@@ -452,12 +536,20 @@ class ScoreSetRangesBase(BaseModel):
452536
investigator_provided: Optional[InvestigatorScoreRangesBase] = None
453537
scott_calibration: Optional[ScottScoreRangesBase] = None
454538
zeiberg_calibration: Optional[ZeibergCalibrationScoreRangesBase] = None
539+
cvfg_all_variants: Optional[IGVFCodingVariantFocusGroupControlScoreRangesBase] = None
540+
cvfg_missense_variants: Optional[IGVFCodingVariantFocusGroupMissenseScoreRangesBase] = None
455541

456542
_fields_to_exclude_for_validatation = {"record_type"}
457543

458544
@model_validator(mode="after")
459545
def score_range_labels_must_be_unique(self: "ScoreSetRangesBase") -> "ScoreSetRangesBase":
460-
for container in (self.investigator_provided, self.zeiberg_calibration, self.scott_calibration):
546+
for container in (
547+
self.investigator_provided,
548+
self.zeiberg_calibration,
549+
self.scott_calibration,
550+
self.cvfg_all_variants,
551+
self.cvfg_missense_variants,
552+
):
461553
if container is None:
462554
continue
463555

@@ -480,12 +572,16 @@ class ScoreSetRangesModify(ScoreSetRangesBase):
480572
investigator_provided: Optional[InvestigatorScoreRangesModify] = None
481573
scott_calibration: Optional[ScottScoreRangesModify] = None
482574
zeiberg_calibration: Optional[ZeibergCalibrationScoreRangesModify] = None
575+
cvfg_all_variants: Optional[IGVFCodingVariantFocusGroupControlScoreRangesModify] = None
576+
cvfg_missense_variants: Optional[IGVFCodingVariantFocusGroupMissenseScoreRangesModify] = None
483577

484578

485579
class ScoreSetRangesCreate(ScoreSetRangesModify):
486580
investigator_provided: Optional[InvestigatorScoreRangesCreate] = None
487581
scott_calibration: Optional[ScottScoreRangesCreate] = None
488582
zeiberg_calibration: Optional[ZeibergCalibrationScoreRangesCreate] = None
583+
cvfg_all_variants: Optional[IGVFCodingVariantFocusGroupControlScoreRangesCreate] = None
584+
cvfg_missense_variants: Optional[IGVFCodingVariantFocusGroupMissenseScoreRangesCreate] = None
489585

490586

491587
class SavedScoreSetRanges(ScoreSetRangesBase):
@@ -494,6 +590,8 @@ class SavedScoreSetRanges(ScoreSetRangesBase):
494590
investigator_provided: Optional[SavedInvestigatorScoreRanges] = None
495591
scott_calibration: Optional[SavedScottScoreRanges] = None
496592
zeiberg_calibration: Optional[SavedZeibergCalibrationScoreRanges] = None
593+
cvfg_all_variants: Optional[SavedIGVFCodingVariantFocusGroupControlScoreRanges] = None
594+
cvfg_missense_variants: Optional[SavedIGVFCodingVariantFocusGroupMissenseScoreRanges] = None
497595

498596
_record_type_factory = record_type_validator()(set_record_type)
499597

@@ -502,3 +600,5 @@ class ScoreSetRanges(SavedScoreSetRanges):
502600
investigator_provided: Optional[InvestigatorScoreRanges] = None
503601
scott_calibration: Optional[ScottScoreRanges] = None
504602
zeiberg_calibration: Optional[ZeibergCalibrationScoreRanges] = None
603+
cvfg_all_variants: Optional[IGVFCodingVariantFocusGroupControlScoreRanges] = None
604+
cvfg_missense_variants: Optional[IGVFCodingVariantFocusGroupMissenseScoreRanges] = None

0 commit comments

Comments
 (0)