Skip to content

Commit f772fea

Browse files
authored
Add medical action association table to UI (plus fixture & enum regen) (#937)
Adds a medical action table showing the MaXO term, predicate, phenotype and disease. For simplicity sake, the section is labeled as "Medical Action" on both MaXO pages and phenotype pages. Creating as a draft, because I realized that it needs to show up on disease pages as well, which means that the API request will need to change so that when "entity=<ID of page>" comes into the api request, disease_context_qualifier is searched, and I think we'll also want to make sure we're searching disease_context_qualifier_closure as well (which is hopefully already getting generated! Closes #919 Closes #935
1 parent da511ba commit f772fea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+114577
-107949
lines changed

.github/workflows/test-backend.yaml

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
pull_request:
55
workflow_dispatch:
66

7+
env:
8+
PYTHONPATH: ${{ github.workspace }}/backend
9+
710
# defaults:
811
# run:
912
# working-directory: ./backend
@@ -40,14 +43,16 @@ jobs:
4043
# run pytest
4144
#----------------------------------------------
4245
- name: Run tests
43-
run: poetry -C backend run pytest backend/tests
46+
run: |
47+
poetry -C backend run pytest tests
48+
shell: bash
4449

4550
#----------------------------------------------
4651
# coverage report
4752
#----------------------------------------------
4853
- name: Generate coverage results
4954
run: |
50-
poetry -C backend run coverage run -m pytest backend/tests
55+
poetry -C backend run coverage run -m pytest tests
5156
poetry -C backend run coverage xml
5257
poetry -C backend run coverage report -m
5358
shell: bash

backend/src/monarch_py/datamodels/category_enums.py

+32-84
Original file line numberDiff line numberDiff line change
@@ -4,119 +4,60 @@
44
class EntityCategory(Enum):
55
"""Entity categories"""
66

7-
SEQUENCE_VARIANT = "biolink:SequenceVariant"
87
GENE = "biolink:Gene"
9-
GENOTYPE = "biolink:Genotype"
108
PHENOTYPIC_FEATURE = "biolink:PhenotypicFeature"
11-
BIOLOGICAL_PROCESS_OR_ACTIVITY = "biolink:BiologicalProcessOrActivity"
12-
DISEASE = "biolink:Disease"
13-
GROSS_ANATOMICAL_STRUCTURE = "biolink:GrossAnatomicalStructure"
14-
CELL = "biolink:Cell"
15-
PATHWAY = "biolink:Pathway"
16-
NAMED_THING = "biolink:NamedThing"
9+
GENOTYPE = "biolink:Genotype"
1710
ANATOMICAL_ENTITY = "biolink:AnatomicalEntity"
18-
CELLULAR_COMPONENT = "biolink:CellularComponent"
19-
MOLECULAR_ENTITY = "biolink:MolecularEntity"
2011
BIOLOGICAL_PROCESS = "biolink:BiologicalProcess"
21-
MACROMOLECULAR_COMPLEX = "biolink:MacromolecularComplex"
22-
MOLECULAR_ACTIVITY = "biolink:MolecularActivity"
12+
DISEASE = "biolink:Disease"
13+
NAMED_THING = "biolink:NamedThing"
14+
PATHWAY = "biolink:Pathway"
2315
PROTEIN = "biolink:Protein"
24-
CELLULAR_ORGANISM = "biolink:CellularOrganism"
25-
VERTEBRATE = "biolink:Vertebrate"
26-
VIRUS = "biolink:Virus"
27-
BEHAVIORAL_FEATURE = "biolink:BehavioralFeature"
2816
CHEMICAL_ENTITY = "biolink:ChemicalEntity"
29-
LIFE_STAGE = "biolink:LifeStage"
30-
PATHOLOGICAL_PROCESS = "biolink:PathologicalProcess"
31-
DRUG = "biolink:Drug"
32-
SMALL_MOLECULE = "biolink:SmallMolecule"
17+
SEQUENCE_VARIANT = "biolink:SequenceVariant"
18+
MOLECULAR_ACTIVITY = "biolink:MolecularActivity"
19+
CELLULAR_COMPONENT = "biolink:CellularComponent"
20+
CELL = "biolink:Cell"
3321
ORGANISM_TAXON = "biolink:OrganismTaxon"
34-
INFORMATION_CONTENT_ENTITY = "biolink:InformationContentEntity"
35-
NUCLEIC_ACID_ENTITY = "biolink:NucleicAcidEntity"
36-
EVIDENCE_TYPE = "biolink:EvidenceType"
37-
RNAPRODUCT = "biolink:RNAProduct"
38-
TRANSCRIPT = "biolink:Transcript"
39-
FUNGUS = "biolink:Fungus"
40-
PLANT = "biolink:Plant"
41-
PROCESSED_MATERIAL = "biolink:ProcessedMaterial"
42-
ACTIVITY = "biolink:Activity"
43-
AGENT = "biolink:Agent"
44-
CONFIDENCE_LEVEL = "biolink:ConfidenceLevel"
45-
DATASET = "biolink:Dataset"
46-
ENVIRONMENTAL_FEATURE = "biolink:EnvironmentalFeature"
47-
GENETIC_INHERITANCE = "biolink:GeneticInheritance"
48-
HAPLOTYPE = "biolink:Haplotype"
49-
INVERTEBRATE = "biolink:Invertebrate"
50-
MAMMAL = "biolink:Mammal"
51-
POPULATION_OF_INDIVIDUAL_ORGANISMS = "biolink:PopulationOfIndividualOrganisms"
52-
PROTEIN_FAMILY = "biolink:ProteinFamily"
53-
PUBLICATION = "biolink:Publication"
54-
ACCESSIBLE_DNA_REGION = "biolink:AccessibleDnaRegion"
55-
BACTERIUM = "biolink:Bacterium"
56-
BIOLOGICAL_SEX = "biolink:BiologicalSex"
57-
CELL_LINE = "biolink:CellLine"
58-
CHEMICAL_EXPOSURE = "biolink:ChemicalExposure"
59-
CHEMICAL_MIXTURE = "biolink:ChemicalMixture"
60-
DATASET_DISTRIBUTION = "biolink:DatasetDistribution"
61-
DIAGNOSTIC_AID = "biolink:DiagnosticAid"
62-
DRUG_EXPOSURE = "biolink:DrugExposure"
63-
ENVIRONMENTAL_PROCESS = "biolink:EnvironmentalProcess"
64-
EVENT = "biolink:Event"
65-
EXON = "biolink:Exon"
66-
GENOME = "biolink:Genome"
67-
GENOTYPIC_SEX = "biolink:GenotypicSex"
68-
HUMAN = "biolink:Human"
69-
INDIVIDUAL_ORGANISM = "biolink:IndividualOrganism"
70-
MATERIAL_SAMPLE = "biolink:MaterialSample"
71-
MICRO_RNA = "biolink:MicroRNA"
72-
ORGANISMAL_ENTITY = "biolink:OrganismalEntity"
73-
PATENT = "biolink:Patent"
74-
PHENOTYPIC_SEX = "biolink:PhenotypicSex"
75-
POLYPEPTIDE = "biolink:Polypeptide"
76-
PROTEIN_DOMAIN = "biolink:ProteinDomain"
77-
REAGENT_TARGETED_GENE = "biolink:ReagentTargetedGene"
78-
REGULATORY_REGION = "biolink:RegulatoryRegion"
79-
SI_RNA = "biolink:SiRNA"
80-
SNV = "biolink:Snv"
81-
STUDY = "biolink:Study"
82-
STUDY_VARIABLE = "biolink:StudyVariable"
83-
TRANSCRIPTION_FACTOR_BINDING_SITE = "biolink:TranscriptionFactorBindingSite"
84-
TREATMENT = "biolink:Treatment"
85-
WEB_PAGE = "biolink:WebPage"
86-
ZYGOSITY = "biolink:Zygosity"
22+
MOLECULAR_ENTITY = "biolink:MolecularEntity"
23+
LIFE_STAGE = "biolink:LifeStage"
8724

8825

8926
class AssociationCategory(Enum):
9027
"""Association categories"""
9128

9229
PAIRWISE_GENE_TO_GENE_INTERACTION = "biolink:PairwiseGeneToGeneInteraction"
9330
GENE_TO_EXPRESSION_SITE_ASSOCIATION = "biolink:GeneToExpressionSiteAssociation"
94-
VARIANT_TO_GENE_ASSOCIATION = "biolink:VariantToGeneAssociation"
9531
MACROMOLECULAR_MACHINE_TO_BIOLOGICAL_PROCESS_ASSOCIATION = (
9632
"biolink:MacromolecularMachineToBiologicalProcessAssociation"
9733
)
9834
GENE_TO_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:GeneToPhenotypicFeatureAssociation"
35+
ASSOCIATION = "biolink:Association"
9936
MACROMOLECULAR_MACHINE_TO_MOLECULAR_ACTIVITY_ASSOCIATION = (
10037
"biolink:MacromolecularMachineToMolecularActivityAssociation"
10138
)
10239
MACROMOLECULAR_MACHINE_TO_CELLULAR_COMPONENT_ASSOCIATION = (
10340
"biolink:MacromolecularMachineToCellularComponentAssociation"
10441
)
105-
ASSOCIATION = "biolink:Association"
10642
GENE_TO_GENE_HOMOLOGY_ASSOCIATION = "biolink:GeneToGeneHomologyAssociation"
10743
GENOTYPE_TO_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:GenotypeToPhenotypicFeatureAssociation"
10844
DISEASE_TO_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:DiseaseToPhenotypicFeatureAssociation"
10945
GENE_TO_PATHWAY_ASSOCIATION = "biolink:GeneToPathwayAssociation"
110-
DISEASE_OR_PHENOTYPIC_FEATURE_TO_LOCATION_ASSOCIATION = "biolink:DiseaseOrPhenotypicFeatureToLocationAssociation"
11146
CHEMICAL_TO_PATHWAY_ASSOCIATION = "biolink:ChemicalToPathwayAssociation"
47+
VARIANT_TO_GENE_ASSOCIATION = "biolink:VariantToGeneAssociation"
48+
VARIANT_TO_DISEASE_ASSOCIATION = "biolink:VariantToDiseaseAssociation"
11249
GENOTYPE_TO_DISEASE_ASSOCIATION = "biolink:GenotypeToDiseaseAssociation"
11350
CORRELATED_GENE_TO_DISEASE_ASSOCIATION = "biolink:CorrelatedGeneToDiseaseAssociation"
51+
CHEMICAL_TO_DISEASE_OR_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation"
11452
DISEASE_OR_PHENOTYPIC_FEATURE_TO_GENETIC_INHERITANCE_ASSOCIATION = (
11553
"biolink:DiseaseOrPhenotypicFeatureToGeneticInheritanceAssociation"
11654
)
117-
VARIANT_TO_DISEASE_ASSOCIATION = "biolink:VariantToDiseaseAssociation"
11855
CAUSAL_GENE_TO_DISEASE_ASSOCIATION = "biolink:CausalGeneToDiseaseAssociation"
119-
CHEMICAL_TO_DISEASE_OR_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:ChemicalToDiseaseOrPhenotypicFeatureAssociation"
56+
DISEASE_OR_PHENOTYPIC_FEATURE_TO_LOCATION_ASSOCIATION = "biolink:DiseaseOrPhenotypicFeatureToLocationAssociation"
57+
CHEMICAL_OR_DRUG_OR_TREATMENT_TO_DISEASE_OR_PHENOTYPIC_FEATURE_ASSOCIATION = (
58+
"biolink:ChemicalOrDrugOrTreatmentToDiseaseOrPhenotypicFeatureAssociation"
59+
)
60+
VARIANT_TO_PHENOTYPIC_FEATURE_ASSOCIATION = "biolink:VariantToPhenotypicFeatureAssociation"
12061

12162

12263
class AssociationPredicate(Enum):
@@ -125,33 +66,40 @@ class AssociationPredicate(Enum):
12566
INTERACTS_WITH = "biolink:interacts_with"
12667
EXPRESSED_IN = "biolink:expressed_in"
12768
HAS_PHENOTYPE = "biolink:has_phenotype"
128-
IS_SEQUENCE_VARIANT_OF = "biolink:is_sequence_variant_of"
12969
ENABLES = "biolink:enables"
13070
ACTIVELY_INVOLVED_IN = "biolink:actively_involved_in"
13171
ORTHOLOGOUS_TO = "biolink:orthologous_to"
132-
LOCATED_IN = "biolink:located_in"
13372
SUBCLASS_OF = "biolink:subclass_of"
73+
LOCATED_IN = "biolink:located_in"
13474
RELATED_TO = "biolink:related_to"
13575
PARTICIPATES_IN = "biolink:participates_in"
13676
ACTS_UPSTREAM_OF_OR_WITHIN = "biolink:acts_upstream_of_or_within"
137-
ACTIVE_IN = "biolink:active_in"
77+
IS_ACTIVE_IN = "biolink:is_active_in"
13878
PART_OF = "biolink:part_of"
139-
MODEL_OF = "biolink:model_of"
14079
CAUSES = "biolink:causes"
80+
IS_SEQUENCE_VARIANT_OF = "biolink:is_sequence_variant_of"
81+
MODEL_OF = "biolink:model_of"
14182
ACTS_UPSTREAM_OF = "biolink:acts_upstream_of"
83+
TREATS_OR_APPLIED_OR_STUDIED_TO_TREAT = "biolink:treats_or_applied_or_studied_to_treat"
14284
HAS_MODE_OF_INHERITANCE = "biolink:has_mode_of_inheritance"
143-
CONTRIBUTES_TO = "biolink:contributes_to"
14485
GENE_ASSOCIATED_WITH_CONDITION = "biolink:gene_associated_with_condition"
145-
TREATS_OR_APPLIED_OR_STUDIED_TO_TREAT = "biolink:treats_or_applied_or_studied_to_treat"
86+
CONTRIBUTES_TO = "biolink:contributes_to"
87+
ASSOCIATED_WITH_INCREASED_LIKELIHOOD_OF = "biolink:associated_with_increased_likelihood_of"
14688
COLOCALIZES_WITH = "biolink:colocalizes_with"
89+
GENETICALLY_ASSOCIATED_WITH = "biolink:genetically_associated_with"
90+
DISEASE_HAS_LOCATION = "biolink:disease_has_location"
14791
ACTS_UPSTREAM_OF_POSITIVE_EFFECT = "biolink:acts_upstream_of_positive_effect"
14892
ACTS_UPSTREAM_OF_OR_WITHIN_POSITIVE_EFFECT = "biolink:acts_upstream_of_or_within_positive_effect"
93+
AMELIORATES_CONDITION = "biolink:ameliorates_condition"
14994
ACTS_UPSTREAM_OF_NEGATIVE_EFFECT = "biolink:acts_upstream_of_negative_effect"
15095
ACTS_UPSTREAM_OF_OR_WITHIN_NEGATIVE_EFFECT = "biolink:acts_upstream_of_or_within_negative_effect"
96+
PREVENTATIVE_FOR_CONDITION = "biolink:preventative_for_condition"
97+
CONTRAINDICATED_IN = "biolink:contraindicated_in"
15198

15299

153100
class MappingPredicate(Enum):
154101
"""Mapping predicates"""
155102

156103
EXACT_MATCH = "skos:exactMatch"
104+
CLOSE_MATCH = "skos:closeMatch"
157105
BROAD_MATCH = "skos:broadMatch"

0 commit comments

Comments
 (0)