Skip to content

Commit 37e8074

Browse files
committed
allowed genome_gene_info page access via genome_id + locus_tag without species
1 parent b0143b6 commit 37e8074

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

gene_function/views.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -318,17 +318,23 @@ def genome_gene_info(request):
318318
gene = request.GET.get("gene", None)
319319
locus_tag = request.GET.get("locus_tag", None)
320320

321-
if species is None or ((genome_id is None or gene is None) and locus_tag is None):
322-
raise Http404()
323-
324-
if (not (genome_id is None or gene is None)) and (locus_tag is None):
325-
filter_params = {
326-
"pangenome_analysis": species,
327-
"genome_id": genome_id,
328-
"gene": gene,
329-
}
330-
elif (genome_id is None or gene is None) and (not locus_tag is None):
331-
filter_params = {"pangenome_analysis": species, "locus_tag": locus_tag}
321+
# Determine filter_params based on available parameters:
322+
# 1. species + genome_id + gene
323+
# 2. species + locus_tag
324+
# 3. genome_id + locus_tag
325+
if species is not None:
326+
if genome_id is not None and gene is not None and locus_tag is None:
327+
filter_params = {
328+
"pangenome_analysis": species,
329+
"genome_id": genome_id,
330+
"gene": gene,
331+
}
332+
elif locus_tag is not None and (genome_id is None or gene is None):
333+
filter_params = {"pangenome_analysis": species, "locus_tag": locus_tag}
334+
else:
335+
raise Http404()
336+
elif genome_id is not None and locus_tag is not None:
337+
filter_params = {"genome_id": genome_id, "locus_tag": locus_tag}
332338
else:
333339
raise Http404()
334340

@@ -356,6 +362,8 @@ def genome_gene_info(request):
356362
raise Http404()
357363
gene_info = list(gene_info)
358364

365+
# Extract values from the found gene_info
366+
species = gene_info[0].get("pangenome_analysis", species)
359367
genome_id = gene_info[0]["genome_id"]
360368
gene = gene_info[0]["gene"]
361369
locus_tag = gene_info[0]["locus_tag"]

0 commit comments

Comments
 (0)