Skip to content

Commit 510c1e1

Browse files
committed
raise error for not registered variants
1 parent d69f8f0 commit 510c1e1

File tree

5 files changed

+599
-13
lines changed

5 files changed

+599
-13
lines changed

src/anyvlm/anyvar/python_client.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ def _translate_allele_expression(
5151
_logger.exception("Found invalid base in expression %s", expression)
5252
except TranslationError:
5353
_logger.exception("Failed to translate expression: %s", expression)
54-
if isinstance(translated_variation, Allele):
55-
return translated_variation
56-
return None
54+
return translated_variation # type: ignore
5755

5856
def get_registered_allele_expression(
5957
self, expression: str, assembly: ReferenceAssembly = ReferenceAssembly.GRCH38

src/anyvlm/functions/get_caf.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
)
1515

1616

17+
class VariantNotRegisteredError(Exception):
18+
"""Raised when a variant is not registered in the AnyVar client"""
19+
20+
1721
def 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

tests/integration/functions/cassettes/test_get_caf/test_get_caf_no_results_when_variant_not_registered.yaml renamed to tests/integration/functions/cassettes/test_get_caf/test_get_caf_no_results_returned.yaml

File renamed without changes.

0 commit comments

Comments
 (0)