diff --git a/mutalyzer_retriever/retriever.py b/mutalyzer_retriever/retriever.py index e197a92..48dcafe 100644 --- a/mutalyzer_retriever/retriever.py +++ b/mutalyzer_retriever/retriever.py @@ -69,7 +69,7 @@ def _fetch_unknown_source(reference_id, reference_type, reference_source, size_o else: status["lrg"]["errors"].append( ValueError( - "Lrg fetch does not support '{}' reference type.".format(reference_type) + f"Lrg fetch does not support '{reference_type}' reference type." ) ) diff --git a/mutalyzer_retriever/sources/ensembl.py b/mutalyzer_retriever/sources/ensembl.py index b1339a6..fe67691 100644 --- a/mutalyzer_retriever/sources/ensembl.py +++ b/mutalyzer_retriever/sources/ensembl.py @@ -52,7 +52,9 @@ def fetch_gff3(feature_id, api_base, timeout=1): def _get_tark_versions(reference_id, api_base, timeout=1): endpoint = "transcript" params = {"stable_id": reference_id} - tark_req = json.loads(request(url=f"{api_base}/{endpoint}", params=params, timeout=timeout)) + tark_req = json.loads( + request(url=f"{api_base}/{endpoint}", params=params, timeout=timeout) + ) tark_versions_38 = [] tark_versions_37 = [] if tark_req["results"]: @@ -99,7 +101,9 @@ def fetch_json(reference_id, reference_version, api_base, assembly="GRCh38", tim "stable_id_version": reference_version, "expand": "translations, genes, exons", } - req = requests.request(method="get", url=f"{api_base}/{endpoint}", params=params, timeout=timeout) + req = requests.request( + method="get", url=f"{api_base}/{endpoint}", params=params, timeout=timeout + ) return req.json() @@ -150,4 +154,6 @@ def fetch(reference_id, reference_type=None, reference_source=None, timeout=1): elif reference_type == "genbank": return None, "genbank" - raise ValueError(f"{reference_source} fetch does not support {reference_type} reference type.") + raise ValueError( + f"{reference_source} fetch does not support {reference_type} reference type." + ) diff --git a/tests/commons.py b/tests/commons.py index d7ec6b7..b717b8b 100644 --- a/tests/commons.py +++ b/tests/commons.py @@ -1,14 +1,12 @@ import json from pathlib import Path - import pytest - from mutalyzer_retriever.retriever import NoReferenceError @pytest.fixture(autouse=True) def patch_retriever(monkeypatch): - '''retrieve all monkeypath''' + """retrieve all monkeypath""" from .test_fetch import ( _fetch_gff3, _fetch_json, @@ -26,11 +24,6 @@ def patch_retriever(monkeypatch): ) monkeypatch.setattr("mutalyzer_retriever.sources.ensembl.fetch_json", _fetch_json) monkeypatch.setattr("mutalyzer_retriever.retriever.retrieve_raw", _retrieve_raw) - - - - - def _get_content(relative_location): @@ -56,7 +49,11 @@ def _retrieve_raw( elif r_id.startswith("LRG_"): return _get_content("data/" + r_id + ".lrg"), "lrg", "lrg" elif r_type == "json": - return (json.loads(_get_content("data/" + r_id + ".tark_raw.json")),"json","ensembl_tark") + return ( + json.loads(_get_content("data/" + r_id + ".tark_raw.json")), + "json", + "ensembl_tark", + ) else: return _get_content("data/" + r_id + ".gff3"), "gff3", "ncbi" @@ -94,7 +91,7 @@ def _retrieve_raw( "ENSG00000198899", ] }, - "ensembl_tark":{ + "ensembl_tark": { "json": [ "ENST00000383925.1", "ENST00000383925", diff --git a/tests/test_fetch.py b/tests/test_fetch.py index 07345f5..e23e0d9 100644 --- a/tests/test_fetch.py +++ b/tests/test_fetch.py @@ -1,8 +1,6 @@ import pytest - from mutalyzer_retriever.configuration import settings from mutalyzer_retriever.sources.ensembl import fetch - from .commons import _get_content, patch_retriever API_BASE = settings["ENSEMBL_API"] diff --git a/tests/test_model_validation.py b/tests/test_model_validation.py index ea11ae7..a750d1c 100644 --- a/tests/test_model_validation.py +++ b/tests/test_model_validation.py @@ -10,9 +10,8 @@ from .commons import references, patch_retriever - def get_references_content(references): - '''read raw response from tests data folder''' + """Read raw response from tests data folder""" r_contents = [] for r_source in references.keys(): for r_type in references[r_source]: @@ -25,11 +24,7 @@ def get_references_content(references): ) r_content = json.loads(path_gb.open().read()) else: - path_gb = ( - Path(Path(__file__).parent) - / "data" - / f"{r_id}.{r_type}" - ) + path_gb = Path(Path(__file__).parent) / "data" / f"{r_id}.{r_type}" with path_gb.open() as f: r_content = f.read() r_contents.append( @@ -44,20 +39,18 @@ def get_references_content(references): return r_contents -@pytest.mark.parametrize( - "r_source, r_type, r_content, r_id", - get_references_content(references), -) +@pytest.mark.parametrize("r_source, r_type, r_content, r_id", get_references_content(references)) def test_schema_validation(r_source, r_type, r_content, r_id, monkeypatch: pytest.MonkeyPatch): - '''parse raw response and check its output schema''' - monkeypatch.setattr("mutalyzer_retriever.parsers.json_ensembl._seq_from_rest", - lambda _0,_1, _2, _3, _4: _seq_from_rest(r_id)) + """Parse raw response and check its output schema""" + monkeypatch.setattr( + "mutalyzer_retriever.parsers.json_ensembl._seq_from_rest", + lambda _0, _1, _2, _3, _4: _seq_from_rest(r_id), + ) r_model = parser.parse( reference_content=r_content, reference_type=r_type, reference_source=r_source, ) - if r_source in ["ensembl_tark", "lrg"]: assert validate(r_model["annotations"]) is None else: diff --git a/tests/test_retriever_model.py b/tests/test_retriever_model.py index c7fe212..67182d1 100644 --- a/tests/test_retriever_model.py +++ b/tests/test_retriever_model.py @@ -2,9 +2,9 @@ from pathlib import Path import pytest +from mutalyzer_retriever import retrieve_model from .commons import references, _retrieve_raw, patch_retriever, _get_content -from mutalyzer_retriever import retrieve_model def get_tests(references): @@ -15,19 +15,22 @@ def get_tests(references): for r_type in references[r_source].keys(): for r_id in references[r_source][r_type]: if r_type == "json": - p = Path(Path(__file__).parent) / "data" / str(r_id + ".tark.model.json") + p = ( + Path(Path(__file__).parent) + / "data" + / str(r_id + ".tark.model.json") + ) else: p = Path(Path(__file__).parent) / "data" / str(r_id + ".model.json") with p.open() as f: r_model = json.loads(f.read()) - tests.append( pytest.param( r_id, r_source, r_type, r_model, - id="{}-{}-{}".format(r_source, r_type, r_id), + id=f"{r_source}-{r_type}-{r_id}", ) ) @@ -38,10 +41,10 @@ def _seq_from_rest(r_id): return _get_content("data/" + str(r_id) + ".sequence") - -@pytest.mark.parametrize("r_id, r_source, r_type, expected_model",get_tests(references)) +@pytest.mark.parametrize("r_id, r_source, r_type, expected_model", get_tests(references)) def test_model(r_id, r_source, r_type, expected_model, monkeypatch: pytest.MonkeyPatch): - monkeypatch.setattr("mutalyzer_retriever.parsers.json_ensembl._seq_from_rest", - lambda _0, _1, _2, _3, _4: _seq_from_rest(r_id)) - assert retrieve_model(r_id, r_source,r_type) == expected_model - + monkeypatch.setattr( + "mutalyzer_retriever.parsers.json_ensembl._seq_from_rest", + lambda _0, _1, _2, _3, _4: _seq_from_rest(r_id), + ) + assert retrieve_model(r_id, r_source, r_type) == expected_model