1414)
1515
1616
17+ class VariantNotRegisteredError (Exception ):
18+ """Raised when a variant is not registered in the AnyVar client"""
19+
20+
1721def get_caf (
1822 anyvar_client : BaseAnyVarClient ,
1923 anyvlm_storage : Storage ,
@@ -23,8 +27,8 @@ def get_caf(
2327 reference_bases : NucleotideSequence ,
2428 alternate_bases : NucleotideSequence ,
2529) -> list [CohortAlleleFrequencyStudyResult ]:
26- """Retrieve Cohort Allele Frequency data for all known variants matching provided
27- search params
30+ """Retrieve Cohort Allele Frequency data for all known registered variants matching
31+ provided search params
2832
2933 :param anyvar_client: AnyVar client (variant lookup)
3034 :param anyvlm_storage: AnyVLM Storage (CAF storage and retrieval)
@@ -36,6 +40,7 @@ def get_caf(
3640 :param reference_bases: Genomic bases ('T', 'AC', etc.)
3741 :param alternate_bases: Genomic bases ('T', 'AC', etc.)
3842 :raises ValueError: if unsupported assembly ID is provided
43+ :raises VariantNotRegisteredError: if variant is not registered in AnyVar
3944 :return: list of CohortAlleleFrequencyStudyResult objects for the provided variant
4045 """
4146 gnomad_vcf : str = f"{ reference_name } -{ start } -{ reference_bases } -{ alternate_bases } "
@@ -47,7 +52,8 @@ def get_caf(
4752
4853 vrs_variation = anyvar_client .get_registered_allele_expression (gnomad_vcf , assembly )
4954 if not vrs_variation :
50- return []
55+ msg = f"Variant { assembly .value } { gnomad_vcf } is not registered in AnyVar"
56+ raise VariantNotRegisteredError (msg )
5157
5258 cafs : list [CohortAlleleFrequencyStudyResult ] = (
5359 anyvlm_storage .get_caf_by_vrs_allele_id (vrs_variation .id ) # type: ignore
0 commit comments