Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 13 additions & 15 deletions src/dcd_mapping/annotate.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,22 +306,20 @@ def _annotate_haplotype_mapping(
for allele in pre_mapped.members:
allele.extensions = [_get_vrs_ref_allele_seq(allele, metadata, tx_results)]

# Determine reference sequence
if mapped_score.annotation_layer == AnnotationLayer.GENOMIC:
sequence_id = (
f"ga4gh:{post_mapped.members[0].location.sequenceReference.refgetAccession}"
)
accession = get_chromosome_identifier_from_vrs_id(sequence_id)
if accession is None:
raise ValueError
if accession.startswith("refseq:"):
accession = accession[7:]
else:
if tx_results is None:
raise ValueError # impossible by definition
accession = tx_results.np

if post_mapped:
# Determine reference sequence
if mapped_score.annotation_layer == AnnotationLayer.GENOMIC:
sequence_id = f"ga4gh:{post_mapped.members[0].location.sequenceReference.refgetAccession}"
accession = get_chromosome_identifier_from_vrs_id(sequence_id)
if accession is None:
raise ValueError
if accession.startswith("refseq:"):
accession = accession[7:]
else:
if tx_results is None:
raise ValueError # impossible by definition
accession = tx_results.np

sr = get_seqrepo()
for allele in post_mapped.members:
loc = allele.location
Expand Down
14 changes: 12 additions & 2 deletions src/dcd_mapping/mavedb_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from typing import Any

import requests
from fastapi import HTTPException
from pydantic import ValidationError

from dcd_mapping.resource_utils import (
Expand Down Expand Up @@ -283,8 +284,17 @@ async def wrapper(*args, **kwargs) -> ScoresetMapping: # noqa: ANN002
# Set up metadata and scores for the current run. Now they will be accessible by these functions
# without the need to download the data again.
temp_dir_as_path = Path(temp_dir)
get_scoreset_metadata(urn, temp_dir_as_path)
get_scoreset_records(urn, silent, temp_dir_as_path)
try:
get_scoreset_metadata(urn, temp_dir_as_path)
get_scoreset_records(urn, silent, temp_dir_as_path)
except ScoresetNotSupportedError as e:
return ScoresetMapping(
metadata=None,
error_message=str(e).strip("'"),
)
except ResourceAcquisitionError as e:
msg = f"Unable to acquire resource from MaveDB: {e}"
raise HTTPException(status_code=500, detail=msg) from e

# Pass the storage path of the temp directory to the wrapped function as a kwarg.
kwargs["store_path"] = temp_dir_as_path
Expand Down
2 changes: 1 addition & 1 deletion src/dcd_mapping/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Provide dcd mapping version"""

dcd_mapping_version = "2024.1.2"
dcd_mapping_version = "2024.1.3"
Loading