Skip to content

Commit 54aeafc

Browse files
committed
add min confidence score filter
1 parent 354552f commit 54aeafc

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

app/db/queries.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,17 @@ async def build_conditions(
6060
if column_conditions:
6161
conditions.append(f"pua.predictions_uniprot_annot_id IN (SELECT predictions_uniprot_annot_id FROM cleandb.predictions_uniprot_annot_clean_ec WHERE " + " OR ".join(column_conditions) + ")")
6262

63-
if params.clean_ec_confidence is not None:
63+
if params.clean_ec_confidence_min is not None:
6464
param_idx += 1
6565
param_name = f"param_{param_idx}"
6666
conditions.append(f"max_clean_ec_confidence > ${param_idx}")
67-
query_params[param_name] = params.clean_ec_confidence
67+
query_params[param_name] = params.clean_ec_confidence_min
68+
69+
if params.clean_ec_confidence_max is not None:
70+
param_idx += 1
71+
param_name = f"param_{param_idx}"
72+
conditions.append(f"max_clean_ec_confidence < ${param_idx}")
73+
query_params[param_name] = params.clean_ec_confidence_max
6874

6975
if params.sequence_length is not None:
7076
param_idx += 1

app/models/query_params.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ class CLEANSearchQueryParams(BaseModel):
4242
clean_ec_number: Optional[List[str]] = Field(
4343
None, description="CLEAN predicted EC number, exact match or wildcard match using terminal dash (multiple values allowed, OR logic)"
4444
)
45-
clean_ec_confidence: Optional[float] = Field(
45+
clean_ec_confidence_min: Optional[float] = Field(
4646
None, description="Minimum confidence for CLEAN predicted EC number"
4747
)
48+
clean_ec_confidence_max: Optional[float] = Field(
49+
None, description="Maximum confidence for CLEAN predicted EC number"
50+
)
4851
sequence_length: Optional[str] = Field(
4952
None, description="Minimum sequence length"
5053
)

app/routers/search.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,12 @@ def parse_query_params(
4343
description="Uniprot ID"
4444
),
4545
# Additional filters
46-
clean_ec_confidence: Optional[float] = Query(
46+
clean_ec_confidence_min: Optional[float] = Query(
4747
None, description="Minimum confidence for CLEAN predicted EC number"
4848
),
49+
clean_ec_confidence_max: Optional[float] = Query(
50+
None, description="Maximum confidence for CLEAN predicted EC number"
51+
),
4952
sequence_length: Optional[str] = Query(
5053
None, description="Minimum sequence length"
5154
),
@@ -70,7 +73,8 @@ def parse_query_params(
7073
organism=organism,
7174
gene_name=gene_name,
7275
clean_ec_number=ec_number,
73-
clean_ec_confidence = clean_ec_confidence,
76+
clean_ec_confidence_min = clean_ec_confidence_min,
77+
clean_ec_confidence_max = clean_ec_confidence_max,
7478
sequence_length = sequence_length,
7579
uniprot_id = uniprot,
7680
format=format,

0 commit comments

Comments
 (0)