Skip to content

Commit

Permalink
Merge pull request #45 from TheJacksonLaboratory/G3-346-client-ensemb…
Browse files Browse the repository at this point in the history
…le-mouse-output

G3-346 client cli ensemble mouse output updates
  • Loading branch information
francastell authored Aug 20, 2024
2 parents 42ff4a5 + 3e67ea3 commit df69fb9
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "geneweaver-client"
version = "0.10.0a1"
version = "0.10.0a2"
description = "A Python Client for the Geneweaver API"
authors = ["Jax Computational Sciences <[email protected]>"]
readme = "README.md"
Expand Down
7 changes: 5 additions & 2 deletions src/geneweaver/client/api/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ def ensembl_mouse_mapping(
response = genesets.get_values(access_token, geneset_id, gene_id_type, in_threshold)

if species == Species.MUS_MUSCULUS:
result = response["data"]
result = [
{"gene_id": item["symbol"], "score": item["value"]}
for item in response["data"]
]

else:
if algorithm:
Expand Down Expand Up @@ -67,6 +70,6 @@ def ensembl_mouse_mapping(
],
)

result = [{"symbol": k, "value": v} for k, v in ensembl_result.items()]
result = [{"gene_id": k, "score": v} for k, v in ensembl_result.items()]

return result
8 changes: 6 additions & 2 deletions src/geneweaver/client/cli/alpha/geneset.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,12 @@ def get_values_as_ensembl_mouse(
default=None, help="Ortholog mapping algorithm. Leave empty for all algorithms."
),
as_csv: bool = typer.Option(False, "--csv", help="Output as CSV"),
csv_headers: bool = typer.Option(True, "--omit-headers", help="Omit CSV headers"),
) -> List[dict]:
"""Get a Geneset's values as Ensembl Mouse Gene IDs."""
"""Get a Geneset's values as Ensembl Mouse Gene IDs.
Optional csv output with or without headers.
"""
# Check Geneset Species
token = get_access_token()
result = mapping.ensembl_mouse_mapping(
Expand All @@ -55,7 +59,7 @@ def get_values_as_ensembl_mouse(
)

if as_csv:
result = format_csv(result)
result = format_csv(result, with_header=csv_headers)

if not ctx.obj["quiet"]:
if not as_csv:
Expand Down
9 changes: 6 additions & 3 deletions tests/unit/api/test_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,16 @@ def test_ensembl_mouse_mapping(
assert mock_genesets_get_values.call_count == 1

if species_id == 1:
assert result == [{"symbol": "A", "value": "1"}, {"symbol": "B", "value": "2"}]
assert result == [
{"gene_id": "A", "score": "1"},
{"gene_id": "B", "score": "2"},
]
expected_api_calls, expected_mapping_calls = 0, 0

else:
assert result == [
{"symbol": "A2", "value": "1"},
{"symbol": "B2", "value": "2"},
{"gene_id": "A2", "score": "1"},
{"gene_id": "B2", "score": "2"},
]
expected_api_calls, expected_mapping_calls = 1, 2

Expand Down

0 comments on commit df69fb9

Please sign in to comment.