Skip to content

Commit

Permalink
issue #1060 - variant details page, create allele for all variants no…
Browse files Browse the repository at this point in the history
…t just shorty clingen ones
  • Loading branch information
davmlaw authored and TheMadBug committed May 22, 2024
1 parent ba183cc commit fca2f1b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 16 deletions.
17 changes: 9 additions & 8 deletions snpdb/clingen_allele.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,10 +282,6 @@ def get_variant_allele_for_variant(genome_build: GenomeBuild, variant: Variant,
Successful calls link variants in all builds (that exist)
errors are only stored on the requesting build """

if not variant.can_have_clingen_allele:
msg = f"No ClinGenAllele for variant: {variant}"
raise ClinGenAlleleAPIException(msg)

# In a very rare race condition, we may have 2 VariantAlleles created, in which case just use 1st
if va := VariantAllele.objects.filter(variant=variant, genome_build=genome_build).order_by("pk").first():
if va.needs_clingen_call():
Expand All @@ -295,10 +291,11 @@ def get_variant_allele_for_variant(genome_build: GenomeBuild, variant: Variant,
pass # Got the allele, have to accept can't get ClinGen
else:
if settings.CLINGEN_ALLELE_REGISTRY_LOGIN:
try:
va = variant_allele_clingen(genome_build, variant, clingen_api=clingen_api)
except ClinGenAlleleTooLargeException:
pass # only recoverable exception
if variant.can_have_clingen_allele:
try:
va = variant_allele_clingen(genome_build, variant, clingen_api=clingen_api)
except ClinGenAlleleTooLargeException:
pass # only recoverable exception

if va is None:
logging.debug("Not using ClinGen")
Expand Down Expand Up @@ -397,6 +394,10 @@ def get_clingen_allele_for_variant(genome_build: GenomeBuild, variant: Variant,
if clingen_api is None:
clingen_api = ClinGenAlleleRegistryAPI()

if not variant.can_have_clingen_allele:
msg = f"No ClinGenAllele possible for variant: {variant}"
raise ClinGenAlleleAPIException(msg)

va = get_variant_allele_for_variant(genome_build, variant, clingen_api=clingen_api)
if va.allele.clingen_allele is None:
logging.error("ClinGen Allele failed!")
Expand Down
16 changes: 8 additions & 8 deletions variantopedia/templates/variantopedia/variant_details.html
Original file line number Diff line number Diff line change
Expand Up @@ -399,19 +399,19 @@
if (variantAllele) {
populateVariantAllele(variantAllele);
} else {
{% if variant.can_have_clingen_allele %}
// Use Ajax to create + retrieve ClinGenAllele
let variantAlleleForVariantUrl = "{% url 'variant_allele_for_variant' variant.pk genome_build.pk %}";
$.ajax(variantAlleleForVariantUrl, {
suppressErrors: true,
success: populateVariantAllele
success: populateVariantAllele,
error: function() {
console.log("Error retrieving allele");
// Can't retrieve, just show basics
let variantString = "{{ variant|safe }}";
let linkData = {variant_string: variantString, variant_coordinate: variantString};
populateVariantAllele({link_data: linkData});
}
});
{% else %}
// Can't retrieve, just show basics
let variantString = "{{ variant|safe }}";
let linkData = {variant_string: variantString, variant_coordinate: variantString};
populateVariantAllele({link_data: linkData});
{% endif %}
}

handlePubMedLinks("{{ variant_annotation.pubmed|default_if_none:''|safe }}");
Expand Down

0 comments on commit fca2f1b

Please sign in to comment.