From 7e3ee2f9f90c58f03eb3b39cee20bc1e6dcbd1ae Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Mon, 19 Aug 2024 11:11:01 +0930 Subject: [PATCH] issue #817 - bcftools liftover - only store clingen allele liftover failure once --- snpdb/liftover.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/snpdb/liftover.py b/snpdb/liftover.py index 2d24d020c..eebd2e200 100644 --- a/snpdb/liftover.py +++ b/snpdb/liftover.py @@ -235,8 +235,11 @@ def _liftover_using_dest_variant_coordinate(allele, dest_genome_build: GenomeBui # Store the fact that we couldn't use ClinGen if clingen_failure_message: lr = LiftoverRun.get_clingen_auto_fail_liftover_run(dest_genome_build) - AlleleLiftover.objects.create(liftover=lr, allele=allele, status=ProcessingStatus.ERROR, - error={"message": clingen_failure_message}) + # we may have been here many times before, so check if already exists + AlleleLiftover.objects.get_or_create(liftover=lr, allele=allele, status=ProcessingStatus.ERROR, + defaults={ + "error": {"message": clingen_failure_message}, + }) if g_hgvs is None: if settings.LIFTOVER_DBSNP_ENABLED: