diff --git a/backend/src/monarch_py/api/utils/similarity_utils.py b/backend/src/monarch_py/api/utils/similarity_utils.py index 8b947f294..7e3f65e5c 100644 --- a/backend/src/monarch_py/api/utils/similarity_utils.py +++ b/backend/src/monarch_py/api/utils/similarity_utils.py @@ -18,7 +18,11 @@ def compare_termsets( offset: int = 0, limit: int = 20, ): - hp_db = OAKLIB_MODULE.ensure_gunzip(url=HP_DB_URL, autoclean=False, download_kwargs={"backend": "requests", "headers": {"User-Agent": "monarch-app"}}) + hp_db = OAKLIB_MODULE.ensure_gunzip( + url=HP_DB_URL, + autoclean=False, + download_kwargs={"backend": "requests", "headers": {"User-Agent": "monarch-app"}}, + ) oi = SqlImplementation(OntologyResource(slug=hp_db)) results = oi.termset_pairwise_similarity(subjects, objects, predicates) return results diff --git a/backend/src/monarch_py/datamodels/model.py b/backend/src/monarch_py/datamodels/model.py index 75a1b20cc..78cf1e748 100644 --- a/backend/src/monarch_py/datamodels/model.py +++ b/backend/src/monarch_py/datamodels/model.py @@ -157,6 +157,7 @@ class Entity(ConfiguredBaseModel): symbol: Optional[str] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) + has_gene: Optional[list[str]] = Field(default=None) type: Optional[str] = Field(default=None, description="""The type of the entity (e.g. sequence onotology type for genes etc)""") description: Optional[str] = Field(default=None) iri: Optional[str] = Field(default=None) @@ -170,7 +171,6 @@ class Entity(ConfiguredBaseModel): same_as: Optional[list[str]] = Field(default=None) subsets: Optional[list[str]] = Field(default=None, description="""A list of subsets that the entity belongs to""") synonyms: Optional[str] = Field(default=None) - has_gene: Optional[list[str]] = Field(default=None) namespace: Optional[str] = Field(default=None, description="""The namespace/prefix portion of this entity's identifier""") has_phenotype: Optional[list[str]] = Field(default=None, description="""A list of phenotype identifiers that are known to be associated with this entity""") has_phenotype_label: Optional[list[str]] = Field(default=None, description="""A list of phenotype labels that are known to be associated with this entity""") @@ -190,19 +190,14 @@ class Association(ConfiguredBaseModel): predicate: str = Field(default=...) category: Optional[str] = Field(default=None) agent_type: str = Field(default=..., description="""Describes the high-level category of agent who originally generated a statement of knowledge or other type of information.""") - has_attribute: Optional[list[str]] = Field(default=None) + aggregator_knowledge_source: Optional[list[str]] = Field(default=None) knowledge_level: str = Field(default=..., description="""Describes the level of knowledge expressed in a statement, based on the reasoning or analysis methods used to generate the statement, or the scope or specificity of what the statement expresses to be true.""") - negated: Optional[bool] = Field(default=None) - object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") - onset_qualifier: Optional[str] = Field(default=None) primary_knowledge_source: Optional[str] = Field(default=None) - publications: Optional[list[str]] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) - aggregator_knowledge_source: Optional[list[str]] = Field(default=None) - qualifiers: Optional[list[str]] = Field(default=None) has_evidence: Optional[list[str]] = Field(default=None) - object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") + publications: Optional[list[str]] = Field(default=None) + qualifiers: Optional[list[str]] = Field(default=None) FDA_adverse_event_level: Optional[str] = Field(default=None, description="""The level of FDA adverse event reporting for a drug-condition association.""") disease_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a disease or condition in which a relationship expressed in an association took place.""") original_predicate: Optional[str] = Field(default=None, description="""used to hold the original relation/predicate that an external knowledge source uses before transformation to match the biolink-model specification.""") @@ -211,12 +206,15 @@ class Association(ConfiguredBaseModel): has_percentage: Optional[float] = Field(default=None, description="""percentage, which may be calculated from has_count and has_total, as 100 * quotient or provided directly, rounded to the integer level""") has_quotient: Optional[float] = Field(default=None, description="""quotient, which should be 1/100 of has_percentage""") has_total: Optional[int] = Field(default=None, description="""total, devided by has_count, representing a frequency""") + negated: Optional[bool] = Field(default=None) + onset_qualifier: Optional[str] = Field(default=None) sex_qualifier: Optional[str] = Field(default=None) - sources: Optional[list[str]] = Field(default=None) - supporting_text: Optional[list[str]] = Field(default=None, description="""The text in a publication that supports the assertion in the association.""") + has_attribute: Optional[list[str]] = Field(default=None) + object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") species_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a species in which a relationship expressed in an association took place.""") stage_qualifier: Optional[str] = Field(default=None) qualifier: Optional[str] = Field(default=None) + object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") subject: str = Field(default=...) object: str = Field(default=...) original_subject: Optional[str] = Field(default=None) @@ -301,19 +299,14 @@ class ExpandedAssociation(Association): predicate: str = Field(default=...) category: Optional[str] = Field(default=None) agent_type: str = Field(default=..., description="""Describes the high-level category of agent who originally generated a statement of knowledge or other type of information.""") - has_attribute: Optional[list[str]] = Field(default=None) + aggregator_knowledge_source: Optional[list[str]] = Field(default=None) knowledge_level: str = Field(default=..., description="""Describes the level of knowledge expressed in a statement, based on the reasoning or analysis methods used to generate the statement, or the scope or specificity of what the statement expresses to be true.""") - negated: Optional[bool] = Field(default=None) - object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") - onset_qualifier: Optional[str] = Field(default=None) primary_knowledge_source: Optional[str] = Field(default=None) - publications: Optional[list[str]] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) - aggregator_knowledge_source: Optional[list[str]] = Field(default=None) - qualifiers: Optional[list[str]] = Field(default=None) has_evidence: Optional[list[str]] = Field(default=None) - object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") + publications: Optional[list[str]] = Field(default=None) + qualifiers: Optional[list[str]] = Field(default=None) FDA_adverse_event_level: Optional[str] = Field(default=None, description="""The level of FDA adverse event reporting for a drug-condition association.""") disease_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a disease or condition in which a relationship expressed in an association took place.""") original_predicate: Optional[str] = Field(default=None, description="""used to hold the original relation/predicate that an external knowledge source uses before transformation to match the biolink-model specification.""") @@ -322,11 +315,15 @@ class ExpandedAssociation(Association): has_percentage: Optional[float] = Field(default=None, description="""percentage, which may be calculated from has_count and has_total, as 100 * quotient or provided directly, rounded to the integer level""") has_quotient: Optional[float] = Field(default=None, description="""quotient, which should be 1/100 of has_percentage""") has_total: Optional[int] = Field(default=None, description="""total, devided by has_count, representing a frequency""") + negated: Optional[bool] = Field(default=None) + onset_qualifier: Optional[str] = Field(default=None) sex_qualifier: Optional[str] = Field(default=None) - sources: Optional[list[str]] = Field(default=None) + has_attribute: Optional[list[str]] = Field(default=None) + object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") species_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a species in which a relationship expressed in an association took place.""") stage_qualifier: Optional[str] = Field(default=None) qualifier: Optional[str] = Field(default=None) + object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") subject: str = Field(default=...) object: str = Field(default=...) original_subject: Optional[str] = Field(default=None) @@ -383,19 +380,14 @@ class DirectionalAssociation(ExpandedAssociation): predicate: str = Field(default=...) category: Optional[str] = Field(default=None) agent_type: str = Field(default=..., description="""Describes the high-level category of agent who originally generated a statement of knowledge or other type of information.""") - has_attribute: Optional[list[str]] = Field(default=None) + aggregator_knowledge_source: Optional[list[str]] = Field(default=None) knowledge_level: str = Field(default=..., description="""Describes the level of knowledge expressed in a statement, based on the reasoning or analysis methods used to generate the statement, or the scope or specificity of what the statement expresses to be true.""") - negated: Optional[bool] = Field(default=None) - object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") - onset_qualifier: Optional[str] = Field(default=None) primary_knowledge_source: Optional[str] = Field(default=None) - publications: Optional[list[str]] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) - aggregator_knowledge_source: Optional[list[str]] = Field(default=None) - qualifiers: Optional[list[str]] = Field(default=None) has_evidence: Optional[list[str]] = Field(default=None) - object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") + publications: Optional[list[str]] = Field(default=None) + qualifiers: Optional[list[str]] = Field(default=None) FDA_adverse_event_level: Optional[str] = Field(default=None, description="""The level of FDA adverse event reporting for a drug-condition association.""") disease_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a disease or condition in which a relationship expressed in an association took place.""") original_predicate: Optional[str] = Field(default=None, description="""used to hold the original relation/predicate that an external knowledge source uses before transformation to match the biolink-model specification.""") @@ -404,11 +396,15 @@ class DirectionalAssociation(ExpandedAssociation): has_percentage: Optional[float] = Field(default=None, description="""percentage, which may be calculated from has_count and has_total, as 100 * quotient or provided directly, rounded to the integer level""") has_quotient: Optional[float] = Field(default=None, description="""quotient, which should be 1/100 of has_percentage""") has_total: Optional[int] = Field(default=None, description="""total, devided by has_count, representing a frequency""") + negated: Optional[bool] = Field(default=None) + onset_qualifier: Optional[str] = Field(default=None) sex_qualifier: Optional[str] = Field(default=None) - sources: Optional[list[str]] = Field(default=None) + has_attribute: Optional[list[str]] = Field(default=None) + object_aspect_qualifier: Optional[str] = Field(default=None, description="""Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene).""") species_context_qualifier: Optional[str] = Field(default=None, description="""A context qualifier representing a species in which a relationship expressed in an association took place.""") stage_qualifier: Optional[str] = Field(default=None) qualifier: Optional[str] = Field(default=None) + object_specialization_qualifier: Optional[str] = Field(default=None, description="""A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier.""") subject: str = Field(default=...) object: str = Field(default=...) original_subject: Optional[str] = Field(default=None) @@ -528,6 +524,7 @@ class Node(Entity): symbol: Optional[str] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) + has_gene: Optional[list[str]] = Field(default=None) type: Optional[str] = Field(default=None, description="""The type of the entity (e.g. sequence onotology type for genes etc)""") description: Optional[str] = Field(default=None) iri: Optional[str] = Field(default=None) @@ -540,7 +537,6 @@ class Node(Entity): same_as: Optional[list[str]] = Field(default=None) subsets: Optional[list[str]] = Field(default=None, description="""A list of subsets that the entity belongs to""") synonyms: Optional[str] = Field(default=None) - has_gene: Optional[list[str]] = Field(default=None) namespace: Optional[str] = Field(default=None, description="""The namespace/prefix portion of this entity's identifier""") has_phenotype: Optional[list[str]] = Field(default=None, description="""A list of phenotype identifiers that are known to be associated with this entity""") has_phenotype_label: Optional[list[str]] = Field(default=None, description="""A list of phenotype labels that are known to be associated with this entity""") @@ -670,6 +666,7 @@ class SearchResult(Entity): symbol: Optional[str] = Field(default=None) file_source: Optional[str] = Field(default=None, description="""Source file stem injected by koza at load time.""") provided_by: Optional[str] = Field(default=None) + has_gene: Optional[list[str]] = Field(default=None) type: Optional[str] = Field(default=None, description="""The type of the entity (e.g. sequence onotology type for genes etc)""") description: Optional[str] = Field(default=None) iri: Optional[str] = Field(default=None) @@ -683,7 +680,6 @@ class SearchResult(Entity): same_as: Optional[list[str]] = Field(default=None) subsets: Optional[list[str]] = Field(default=None, description="""A list of subsets that the entity belongs to""") synonyms: Optional[str] = Field(default=None) - has_gene: Optional[list[str]] = Field(default=None) namespace: Optional[str] = Field(default=None, description="""The namespace/prefix portion of this entity's identifier""") has_phenotype: Optional[list[str]] = Field(default=None, description="""A list of phenotype identifiers that are known to be associated with this entity""") has_phenotype_label: Optional[list[str]] = Field(default=None, description="""A list of phenotype labels that are known to be associated with this entity""") diff --git a/backend/src/monarch_py/datamodels/monarch_kg_schema.yaml b/backend/src/monarch_py/datamodels/monarch_kg_schema.yaml index 51c594d34..d6cc9d35f 100644 --- a/backend/src/monarch_py/datamodels/monarch_kg_schema.yaml +++ b/backend/src/monarch_py/datamodels/monarch_kg_schema.yaml @@ -3,11 +3,11 @@ id: https://w3id.org/monarch-initiative/koza/graph-schema imports: - linkml:types prefixes: - biolink: https://w3id.org/biolink/vocab/ - dct: http://purl.org/dc/terms/ rdfs: http://www.w3.org/2000/01/rdf-schema# - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + dct: http://purl.org/dc/terms/ linkml: https://w3id.org/linkml/ + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + biolink: https://w3id.org/biolink/vocab/ default_prefix: https://w3id.org/monarch-initiative/koza/graph-schema/ default_range: string slots: @@ -64,6 +64,12 @@ slots: exact_mappings: - biolink:symbol slot_uri: biolink:symbol + has_gene: + exact_mappings: + - biolink:has_gene + slot_uri: biolink:has_gene + range: uriorcurie + multivalued: true type: exact_mappings: - biolink:type @@ -120,12 +126,6 @@ slots: slot_uri: biolink:subsets range: string multivalued: true - has_gene: - exact_mappings: - - biolink:has_gene - slot_uri: biolink:has_gene - range: uriorcurie - multivalued: true same_as: multivalued: true synonyms: {} @@ -149,58 +149,38 @@ slots: - biolink:agent_type slot_uri: biolink:agent_type range: string + aggregator_knowledge_source: + exact_mappings: + - biolink:aggregator_knowledge_source + slot_uri: biolink:aggregator_knowledge_source + multivalued: true knowledge_level: exact_mappings: - biolink:knowledge_level slot_uri: biolink:knowledge_level range: string - negated: - exact_mappings: - - biolink:negated - slot_uri: biolink:negated - range: boolean - object_aspect_qualifier: - exact_mappings: - - biolink:object_aspect_qualifier - slot_uri: biolink:object_aspect_qualifier - range: string - onset_qualifier: - exact_mappings: - - biolink:onset_qualifier - slot_uri: biolink:onset_qualifier - range: uriorcurie primary_knowledge_source: exact_mappings: - biolink:primary_knowledge_source slot_uri: biolink:primary_knowledge_source + has_evidence: + exact_mappings: + - biolink:has_evidence + slot_uri: biolink:has_evidence + range: uriorcurie + multivalued: true publications: exact_mappings: - biolink:publications slot_uri: biolink:publications range: uriorcurie multivalued: true - aggregator_knowledge_source: - exact_mappings: - - biolink:aggregator_knowledge_source - slot_uri: biolink:aggregator_knowledge_source - multivalued: true qualifiers: exact_mappings: - biolink:qualifiers slot_uri: biolink:qualifiers range: uriorcurie multivalued: true - has_evidence: - exact_mappings: - - biolink:has_evidence - slot_uri: biolink:has_evidence - range: uriorcurie - multivalued: true - object_specialization_qualifier: - exact_mappings: - - biolink:object_specialization_qualifier - slot_uri: biolink:object_specialization_qualifier - range: uriorcurie FDA_adverse_event_level: exact_mappings: - biolink:FDA_adverse_event_level @@ -211,16 +191,16 @@ slots: - biolink:disease_context_qualifier slot_uri: biolink:disease_context_qualifier range: uriorcurie - object_category: - exact_mappings: - - biolink:object_category - slot_uri: biolink:object_category - range: uriorcurie original_predicate: exact_mappings: - biolink:original_predicate slot_uri: biolink:original_predicate range: uriorcurie + object_category: + exact_mappings: + - biolink:object_category + slot_uri: biolink:object_category + range: uriorcurie subject_category: exact_mappings: - biolink:subject_category @@ -251,31 +231,26 @@ slots: - biolink:has_total slot_uri: biolink:has_total range: integer + negated: + exact_mappings: + - biolink:negated + slot_uri: biolink:negated + range: boolean + onset_qualifier: + exact_mappings: + - biolink:onset_qualifier + slot_uri: biolink:onset_qualifier + range: uriorcurie sex_qualifier: exact_mappings: - biolink:sex_qualifier slot_uri: biolink:sex_qualifier range: uriorcurie - sources: - exact_mappings: - - biolink:sources - slot_uri: biolink:sources - range: uriorcurie - multivalued: true - supporting_text: + object_aspect_qualifier: exact_mappings: - - biolink:supporting_text - slot_uri: biolink:supporting_text + - biolink:object_aspect_qualifier + slot_uri: biolink:object_aspect_qualifier range: string - multivalued: true - original_object: - exact_mappings: - - biolink:original_object - slot_uri: biolink:original_object - original_subject: - exact_mappings: - - biolink:original_subject - slot_uri: biolink:original_subject species_context_qualifier: exact_mappings: - biolink:species_context_qualifier @@ -290,6 +265,19 @@ slots: exact_mappings: - biolink:qualifier slot_uri: biolink:qualifier + object_specialization_qualifier: + exact_mappings: + - biolink:object_specialization_qualifier + slot_uri: biolink:object_specialization_qualifier + range: uriorcurie + original_subject: + description: Subject ID before normalization (SSSOM-applied). + range: string + multivalued: false + original_object: + description: Object ID before normalization (SSSOM-applied). + range: string + multivalued: false namespace: {} has_phenotype: multivalued: true @@ -364,6 +352,7 @@ classes: - symbol - file_source - provided_by + - has_gene - type - description - iri @@ -377,7 +366,6 @@ classes: - same_as - subsets - synonyms - - has_gene - namespace - has_phenotype - has_phenotype_label @@ -394,19 +382,14 @@ classes: - predicate - category - agent_type - - has_attribute + - aggregator_knowledge_source - knowledge_level - - negated - - object_aspect_qualifier - - onset_qualifier - primary_knowledge_source - - publications - file_source - provided_by - - aggregator_knowledge_source - - qualifiers - has_evidence - - object_specialization_qualifier + - publications + - qualifiers - FDA_adverse_event_level - disease_context_qualifier - original_predicate @@ -415,12 +398,15 @@ classes: - has_percentage - has_quotient - has_total + - negated + - onset_qualifier - sex_qualifier - - sources - - supporting_text + - has_attribute + - object_aspect_qualifier - species_context_qualifier - stage_qualifier - qualifier + - object_specialization_qualifier - subject - object - original_subject diff --git a/frontend/src/api/model.ts b/frontend/src/api/model.ts index 66c807c6a..c53467ab1 100644 --- a/frontend/src/api/model.ts +++ b/frontend/src/api/model.ts @@ -136,6 +136,7 @@ export interface Entity { /** Source file stem injected by koza at load time. */ file_source?: string, provided_by?: string, + has_gene?: string[], /** The type of the entity (e.g. sequence onotology type for genes etc) */ type?: string, description?: string, @@ -157,7 +158,6 @@ export interface Entity { /** A list of subsets that the entity belongs to */ subsets?: string[], synonyms?: string, - has_gene?: string[], /** The namespace/prefix portion of this entity's identifier */ namespace?: string, /** A list of phenotype identifiers that are known to be associated with this entity */ @@ -188,23 +188,16 @@ export interface Association { category?: string, /** Describes the high-level category of agent who originally generated a statement of knowledge or other type of information. */ agent_type: string, - has_attribute?: string[], + aggregator_knowledge_source?: string[], /** Describes the level of knowledge expressed in a statement, based on the reasoning or analysis methods used to generate the statement, or the scope or specificity of what the statement expresses to be true. */ knowledge_level: string, - negated?: boolean, - /** Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene). */ - object_aspect_qualifier?: string, - onset_qualifier?: string, primary_knowledge_source?: string, - publications?: string[], /** Source file stem injected by koza at load time. */ file_source?: string, provided_by?: string, - aggregator_knowledge_source?: string[], - qualifiers?: string[], has_evidence?: string[], - /** A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier. */ - object_specialization_qualifier?: string, + publications?: string[], + qualifiers?: string[], /** The level of FDA adverse event reporting for a drug-condition association. */ FDA_adverse_event_level?: string, /** A context qualifier representing a disease or condition in which a relationship expressed in an association took place. */ @@ -220,14 +213,18 @@ export interface Association { has_quotient?: number, /** total, devided by has_count, representing a frequency */ has_total?: number, + negated?: boolean, + onset_qualifier?: string, sex_qualifier?: string, - sources?: string[], - /** The text in a publication that supports the assertion in the association. */ - supporting_text?: string[], + has_attribute?: string[], + /** Composes with the core concept (+ qualifier) to describe new concepts of a more specific kind. The aspect qualifier represents an attribute of the object that is the focus of the relationship (e.g. for an association where the object is a gene, this might be the expression, abundance, activity, or stability of the gene). */ + object_aspect_qualifier?: string, /** A context qualifier representing a species in which a relationship expressed in an association took place. */ species_context_qualifier?: string, stage_qualifier?: string, qualifier?: string, + /** A qualifier that composes with a core subject/object concept to define a more specific version of the object concept, specifically using an ontology term that is not a subclass or descendant of the core concept and in the vast majority of cases, is of a different ontological namespace than the category or namespace of the object identifier. */ + object_specialization_qualifier?: string, subject: string, object: string, original_subject?: string,