From 932acd3f757b87d0d5d3bd6c255259a671bd4465 Mon Sep 17 00:00:00 2001 From: Kevin Schaper Date: Tue, 15 Aug 2023 11:07:45 -0700 Subject: [PATCH] Clean up evidence/qualifiers for alliance expression --- .../ingests/alliance/gene_to_expression.py | 18 +++++----- .../ingests/alliance/gene_to_expression.yaml | 2 +- .../test_alliance_gene_to_expression.py | 34 +++++-------------- 3 files changed, 18 insertions(+), 36 deletions(-) diff --git a/src/monarch_ingest/ingests/alliance/gene_to_expression.py b/src/monarch_ingest/ingests/alliance/gene_to_expression.py index 1c25ac67..15235321 100644 --- a/src/monarch_ingest/ingests/alliance/gene_to_expression.py +++ b/src/monarch_ingest/ingests/alliance/gene_to_expression.py @@ -33,16 +33,14 @@ # but may have an UBERON term that we can use # stage_term_id = get_data(row, "whenExpressed.stageUberonSlimTerm.uberonTerm") - evidence = list() - assay = get_data(row, "assay") # e.g. "MMO:0000658" - if assay: - evidence.append(assay) + + + publication_ids = [get_data(row, "evidence.publicationId")] xref = get_data(row, "crossReference.id") if xref: - evidence.append(xref) + publication_ids.append(xref) - publication_ids = get_data(row, "evidence.publicationId") # Our current ingest policy is to first use a reported Anatomical structure term... if anatomical_entity_id: @@ -53,8 +51,8 @@ predicate='biolink:expressed_in', object=anatomical_entity_id, stage_qualifier=stage_term_id, - has_evidence=evidence, - publications=[publication_ids], + qualifiers=([get_data(row, "assay")] if get_data(row, "assay") else None), + publications=publication_ids, aggregator_knowledge_source=["infores:monarchinitiative", "infores:alliancegenome"], primary_knowledge_source=source ) @@ -70,8 +68,8 @@ predicate='biolink:expressed_in', object=cellular_component_id, stage_qualifier=stage_term_id, - has_evidence=evidence, - publications=[publication_ids], + qualifiers=([get_data(row, "assay")] if get_data(row, "assay") else None), + publications=publication_ids, aggregator_knowledge_source=["infores:monarchinitiative", "infores:alliancegenome"], primary_knowledge_source=source ) diff --git a/src/monarch_ingest/ingests/alliance/gene_to_expression.yaml b/src/monarch_ingest/ingests/alliance/gene_to_expression.yaml index 28370685..54f2a0df 100644 --- a/src/monarch_ingest/ingests/alliance/gene_to_expression.yaml +++ b/src/monarch_ingest/ingests/alliance/gene_to_expression.yaml @@ -46,7 +46,7 @@ edge_properties: - 'object' - 'stage_qualifier' - 'category' - - 'has_evidence' + - 'qualifiers' - 'publications' - 'aggregator_knowledge_source' - 'primary_knowledge_source' diff --git a/tests/unit/alliance/test_alliance_gene_to_expression.py b/tests/unit/alliance/test_alliance_gene_to_expression.py index e8a6970f..e7fa3fe8 100644 --- a/tests/unit/alliance/test_alliance_gene_to_expression.py +++ b/tests/unit/alliance/test_alliance_gene_to_expression.py @@ -1,22 +1,6 @@ import pytest from biolink.pydanticmodel import GeneToExpressionSiteAssociation -# -# test of utility function - proven to work, unless modified in the future? -# -# def test_get_data(): -# entry = { -# "testing": { -# "one": { -# "two": { -# "three": "Success!" -# } -# } -# } -# } -# assert get_data(entry, "testing.one.two.three") == "Success!" - - @pytest.fixture def source_name(): return "alliance_gene_to_expression" @@ -75,7 +59,7 @@ def test_rattus_association(rattus): assert association.object == "GO:0030141" assert not association.stage_qualifier assert "PMID:12615975" in association.publications - assert "MMO:0000640" in association.has_evidence + assert "MMO:0000640" in association.qualifiers assert association.primary_knowledge_source == "infores:rgd" assert aggregator_knowledge_sources(association) @@ -126,8 +110,8 @@ def test_mouse_association(mouse): assert association.object == "EMAPA:16039" assert association.stage_qualifier is None assert "MGI:1199209" in association.publications - assert "MMO:0000655" in association.has_evidence - assert "MGI:1203979" in association.has_evidence + assert "MGI:1203979" in association.publications + assert "MMO:0000655" in association.qualifiers assert association.primary_knowledge_source == "infores:mgi" assert aggregator_knowledge_sources(association) @@ -183,8 +167,8 @@ def test_zebrafish_association(zebrafish): assert association.object == "ZFA:0001094" assert association.stage_qualifier == "ZFS:0000035" assert "PMID:18544660" in association.publications - assert "MMO:0000655" in association.has_evidence - assert "ZFIN:ZDB-FIG-080908-4" in association.has_evidence + assert "ZFIN:ZDB-FIG-080908-4" in association.publications + assert "MMO:0000655" in association.qualifiers assert association.primary_knowledge_source == "infores:zfin" assert aggregator_knowledge_sources(association) @@ -231,7 +215,7 @@ def test_drosophila_association(drosophila): assert association.object == "FBbt:00003007" assert association.stage_qualifier == "FBdv:00005369" assert "FB:FBrf0231198" in association.publications - assert "MMO:0000534" in association.has_evidence + assert "MMO:0000534" in association.qualifiers assert association.primary_knowledge_source == "infores:flybase" assert aggregator_knowledge_sources(association) @@ -282,8 +266,8 @@ def test_worm_association(worm): assert association.object == "WBbt:0000100" assert association.stage_qualifier == "WBls:0000057" assert association.publications[0] == "PMID:1782857" - assert "MMO:0000670" in association.has_evidence - assert "WB:Expr1" in association.has_evidence + assert "WB:Expr1" in association.publications + assert "MMO:0000670" in association.qualifiers assert association.primary_knowledge_source == "infores:wormbase" assert aggregator_knowledge_sources(association) @@ -327,6 +311,6 @@ def test_yeast_association(yeast): assert association.object == "GO:1990316" assert not association.stage_qualifier assert association.publications[0] == "PMID:26753620" - assert "MMO:0000642" in association.has_evidence + assert "MMO:0000642" in association.qualifiers assert association.primary_knowledge_source == "infores:sgd" assert aggregator_knowledge_sources(association)