diff --git a/pyproject.toml b/pyproject.toml index 155c1cc..54c6b87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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 "] readme = "README.md" diff --git a/src/geneweaver/client/api/mapping.py b/src/geneweaver/client/api/mapping.py index 22103c1..4ff7188 100644 --- a/src/geneweaver/client/api/mapping.py +++ b/src/geneweaver/client/api/mapping.py @@ -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: @@ -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 diff --git a/src/geneweaver/client/cli/alpha/geneset.py b/src/geneweaver/client/cli/alpha/geneset.py index ab69c93..31e9382 100644 --- a/src/geneweaver/client/cli/alpha/geneset.py +++ b/src/geneweaver/client/cli/alpha/geneset.py @@ -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( @@ -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: diff --git a/tests/unit/api/test_mapping.py b/tests/unit/api/test_mapping.py index fff046e..5d12c80 100644 --- a/tests/unit/api/test_mapping.py +++ b/tests/unit/api/test_mapping.py @@ -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