Skip to content

Commit 4c6012b

Browse files
authored
Merge pull request #25 from VariantEffect/sallybg/no-map-if-no-variants
Check if score set has variants before mapping, return error if not
2 parents 22ed17c + 2813d84 commit 4c6012b

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/api/routers/map.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ async def map_scoreset(urn: str) -> ScoresetMapping:
4949
msg = f"Unable to acquire resource from MaveDB: {e}"
5050
raise HTTPException(status_code=500, detail=msg) from e
5151

52+
if not records:
53+
return JSONResponse(
54+
content=ScoresetMapping(
55+
metadata=metadata,
56+
error_message="Score set contains no variants to map",
57+
).model_dump(exclude_none=True)
58+
)
59+
5260
try:
5361
alignment_result = align(metadata, True)
5462
except BlatNotFoundError as e:

src/dcd_mapping/main.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,20 @@ async def map_scoreset_urn(
321321
_logger.critical(msg)
322322
click.echo(f"Error: {msg}")
323323
raise e
324+
325+
if not records:
326+
_emit_info("Score set contains no variants to map", silent, logging.ERROR)
327+
final_output = write_scoreset_mapping_to_json(
328+
urn,
329+
ScoresetMapping(
330+
metadata=metadata,
331+
error_message="Score set contains no variants to map",
332+
),
333+
output_path,
334+
)
335+
_emit_info(f"Score set mapping output saved to: {final_output}.", silent)
336+
return
337+
324338
await map_scoreset(
325339
metadata, records, output_path, vrs_version, prefer_genomic, silent
326340
)

0 commit comments

Comments
 (0)