Skip to content

Commit

Permalink
fix: Loading transcript mapping in lifespan (#14) (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
gromdimon authored Oct 16, 2023
1 parent 74b6199 commit 62fdc32
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
16 changes: 16 additions & 0 deletions dotty/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,24 @@ async def lifespan(app: FastAPI): # pragma: no cover
assembly.value
not in driver.data_providers[assembly]
._get_transcript(transcript)["genome_builds"]
.keys() # genome build is not in the transcript data
or "hgnc" not in driver.data_providers[assembly]._get_transcript(transcript)
or "cds_start"
not in driver.data_providers[assembly]
._get_transcript(transcript)["genome_builds"][assembly.value]
.keys()
or "cds_end"
not in driver.data_providers[assembly]
._get_transcript(transcript)["genome_builds"][assembly.value]
.keys()
or "exons"
not in driver.data_providers[assembly]
._get_transcript(transcript)["genome_builds"][assembly.value]
.keys()
):
_logger.warning(
f"Skipping transcript {transcript} as it does not have all required data"
)
continue
hgnc_id = f"HGNC:{driver.data_providers[assembly]._get_transcript(transcript)['hgnc']}"
hgnc_to_transcripts.setdefault(hgnc_id, []).append(
Expand Down
9 changes: 9 additions & 0 deletions tests/test_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,15 @@ def _setup_mock_transcript_data() -> typing.Dict[Assembly, typing.Any]:
return assembly_to_hgnc_to_transcripts


def test_lifespan(monkeypatch: MonkeyPatch):
monkeypatch.setattr(dotty_main, "driver", _setup_mock_driver("c", "NC_000017.10"))
dotty_main.lifespan(dotty_main.app)
assert dotty_main.driver is not None
assert dotty_main.hgnc_to_transcripts is not None
assert dotty_main.assembly_to_hgnc_to_transcripts is not None
assert dotty_main.contig_names is not None


def test_to_spdi_c(test_client: TestClient, monkeypatch: MonkeyPatch):
monkeypatch.setattr(dotty_main, "driver", _setup_mock_driver("c", "NC_000017.10"))
response = test_client.get("/api/v1/to-spdi?q=NM_000059.3:c.274G>A")
Expand Down

0 comments on commit 62fdc32

Please sign in to comment.