---
id: https://w3id.org/biolink/vocab/
name: Biolink-Model
description: Entity and association taxonomy and datamodel for life-sciences data
license: https://creativecommons.org/publicdomain/zero/1.0/

# Version should be kept in sync with primary Git repository release tag

version: 4.4.4

## ------------
##
## PREFIXES
## ------------
# CURIE namespaces (prefixes/base URI's) mappings of prefixes used in the body of the Biolink Model specification
# are resolved using a specific precedence order, for use in the generation of the Biolink Model context.jsonld
# mappings to namespaces. Any prefixes encountered in the Biolink Model but not resolved by the following
# precedence sources, are anonymously declared by linkml as http://example.org/UNKNOWN/ rooted base URI's
# which should ideally be repaired in one of the precedence lists.
#
# 1. The following 'prefixes:' delimited list has first precedence in resolution.
#
prefixes:
  AGRKB: 'https://www.alliancegenome.org/'
  apollo: 'https://github.com/GMOD/Apollo'
  AspGD: 'http://www.aspergillusgenome.org/cgi-bin/locus.pl?dbid='
  biolink: 'https://w3id.org/biolink/vocab/'
  bioschemas: 'https://bioschemas.org/'
  linkml: 'https://w3id.org/linkml/'
  CAID: 'http://reg.clinicalgenome.org/redmine/projects/registry/genboree_registry/by_caid?caid='
   # Placeholder: just points to GMOD Chado wiki
  CHADO: 'http://gmod.org/wiki/Chado/'
   # Placeholders: not sure how 'chembio'and CHEMBL.MECHANISM really resolve
  ChemBank: 'http://chembank.broadinstitute.org/chemistry/viewMolecule.htm?cbid='
  CHEMBL.MECHANISM: 'https://www.ebi.ac.uk/chembl/mechanism/inspect/'
  CID: 'http://pubchem.ncbi.nlm.nih.gov/compound/'
  CLINVAR: 'http://identifiers.org/clinvar'
  COAR_RESOURCE: 'http://purl.org/coar/resource_type/'
  COG: 'https://www.ncbi.nlm.nih.gov/research/cog-project/'
  ComplexPortal: 'https://www.ebi.ac.uk/complexportal/complex/'
  CPT: 'https://www.ama-assn.org/practice-management/cpt/'
  CTD.CHEMICAL: 'http://ctdbase.org/detail.go?type=chem&acc='
  CTD.DISEASE: 'http://ctdbase.org/detail.go?type=disease&db=MESH&acc='
  CTD.GENE: 'http://ctdbase.org/detail.go?type=gene&acc='
  CTD: 'http://ctdbase.org/'
  DGIdb: 'https://www.dgidb.org/interaction_types'
  dcat: 'http://www.w3.org/ns/dcat#'
  dct: 'http://purl.org/dc/terms/'
  dcid: 'https://datacommons.org/browser/'
  doi: 'https://doi.org/'
  DOID-PROPERTY: 'http://purl.obolibrary.org/obo/doid#'
  DrugCentral: 'http://drugcentral.org/drugcard/'
  ECTO: 'http://purl.obolibrary.org/obo/ECTO_'
  EDAM-DATA: 'http://edamontology.org/data_'
  EDAM-FORMAT: 'http://edamontology.org/format_'
  EDAM-OPERATION: 'http://edamontology.org/operation_'
  EDAM-TOPIC: 'http://edamontology.org/topic_'
  EFO: 'http://www.ebi.ac.uk/efo/EFO_'
  ExO: 'http://purl.obolibrary.org/obo/ExO_'
  fabio: 'http://purl.org/spar/fabio/'
  FMA: 'http://purl.obolibrary.org/obo/FMA_'
  foaf: 'http://xmlns.com/foaf/0.1/'
  foodb.compound: 'http://foodb.ca/compounds/'
  foodb.food: 'http://foodb.ca/foods/'
  FYECO: 'https://www.pombase.org/term/'
  FYPO: 'http://purl.obolibrary.org/obo/FYPO_'   # Fission Yeast Phenotype Ontology
  gff3: 'https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md#'
  GOREL: 'http://purl.obolibrary.org/obo/GOREL_'
   # GOP: Gene Ontology Property (not really a GO term but an associated metadatum)
  GOP: 'http://purl.obolibrary.org/obo/go#'
  gpi: 'https://github.com/geneontology/go-annotation/blob/master/specs/gpad-gpi-2-0.md#'
  GSID: 'https://scholar.google.com/citations?user='
  GTEx: 'https://www.gtexportal.org/home/gene/'
  GTOPDB: 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId='
  gtpo: 'https://rdf.guidetopharmacology.org/ns/gtpo#'
  HANCESTRO: 'http://www.ebi.ac.uk/ancestro/ancestro_'
  HCPCS: 'http://purl.bioontology.org/ontology/HCPCS/'
  HsapDv: 'http://purl.obolibrary.org/obo/HsapDv_'
  ICD10: 'https://icd.who.int/browse10/2016/en#/'
  ICD9: 'http://translator.ncats.nih.gov/ICD9_'
  icd11: 'http://id.who.int/icd/entity/'
  icd11.foundation: 'http://id.who.int/icd/entity/'
  interpro: 'https://www.ebi.ac.uk/interpro/entry/'
  INO: 'http://purl.obolibrary.org/obo/INO_'
  isbn: 'https://www.isbn-international.org/identifier/'  # note: a resolvable base URI not available from isbn-international
  isni: 'https://isni.org/isni/'
  issn: 'https://portal.issn.org/resource/ISSN/'
  ncats.drug: 'https://drugs.ncats.io/drug/'
  KEGG.BRITE: 'https://bioregistry.io/kegg.brite:'
  KEGG: 'http://www.kegg.jp/entry/'
  KEGG.GENES: 'https://bioregistry.io/kegg.genes:bsu:'
  KEGG.PATHWAY: 'https://bioregistry.io/kegg.pathway:'
  KEGG.RCLASS: 'https://www.genome.jp/dbget-bin/www_bget?rc:'
  LOINC: 'http://loinc.org/rdf/'
  MAXO: 'http://purl.obolibrary.org/obo/MAXO_'
  medgen: 'https://www.ncbi.nlm.nih.gov/medgen/'
  metacyc.reaction: 'http://identifiers.org/metacyc.reaction:'
  METANETX.REACTION: 'https://www.metanetx.org/equa_info/'
  METPO: 'https://w3id.org/metpo/'
  MESH: 'http://id.nlm.nih.gov/mesh/'
  MI: 'http://purl.obolibrary.org/obo/MI_'
  mirbase: 'http://identifiers.org/mirbase'
  mmmp.biomaps: 'https://bioregistry.io/mmmp.biomaps:'
  MmusDv: 'http://purl.obolibrary.org/obo/MMUSDV_'
  MSigDB: 'https://www.gsea-msigdb.org/gsea/msigdb/'
  NBO-PROPERTY: 'http://purl.obolibrary.org/obo/nbo#'
  ncats.bioplanet: 'https://tripod.nih.gov/bioplanet/detail.jsp?pid='
  NCBIGene: 'http://identifiers.org/ncbigene/'
  NCIT-OBO: 'http://purl.obolibrary.org/obo/ncit#'
  NDDF: 'http://purl.bioontology.org/ontology/NDDF/'
  NLMID: 'https://www.ncbi.nlm.nih.gov/nlmcatalog/?term='
  OBAN: 'http://purl.org/oban/'
  OMIM.PS: 'https://www.omim.org/phenotypicSeries/'
  ORCID: 'https://orcid.org/'
  orphanet: 'http://www.orpha.net/ORDO/Orphanet_'
  os: 'https://github.com/cmungall/owlstar/blob/master/owlstar.ttl'
  PANTHER.FAMILY: 'http://www.pantherdb.org/panther/family.do?clsAccession='
  PathWhiz: 'http://smpdb.ca/pathways/#'   #  See also https://smpdb.ca/pathwhiz/
  pav: 'http://purl.org/pav/'
  PHARMGKB.DRUG: 'https://www.pharmgkb.org/chemical/'
  PHARMGKB.DISEASE: 'https://www.pharmgkb.org/disease/'
  PHARMGKB.GENE: 'https://www.pharmgkb.org/gene/'
  PHARMGKB.PATHWAYS: 'https://www.pharmgkb.org/pathway/'
  PHARMGKB.VARIANT: 'https://www.pharmgkb.org/variant/'
  PHAROS: 'http://pharos.nih.gov'
  PomBase: 'https://www.pombase.org/gene/'
  prov: 'http://www.w3.org/ns/prov#'
  qud: 'http://qudt.org/1.1/schema/qudt#'
  REPODB: 'http://apps.chiragjpgroup.org/repoDB/'
  ResearchID: 'https://publons.com/researcher/'
  RO: 'http://purl.obolibrary.org/obo/RO_'
  RXNORM: 'http://purl.bioontology.org/ontology/RXNORM/'
  RXCUI: 'https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm='
  schema: 'http://schema.org/'
  ScopusID: 'https://www.scopus.com/authid/detail.uri?authorId='
  SEED.REACTION: 'https://modelseed.org/biochem/reactions/'
  SEMMEDDB: 'https://skr3.nlm.nih.gov/SemMedDB'
  SIO: 'http://semanticscience.org/resource/SIO_'
  SNOMEDCT: 'http://snomed.info/id/'
  SPDI: 'https://api.ncbi.nlm.nih.gov/variation/v0/spdi/'
  UBERGRAPH: 'http://translator.renci.org/ubergraph-axioms.ofn#'
  UBERON_CORE: 'http://purl.obolibrary.org/obo/uberon/core#'
  UBERON_NONAMESPACE: 'http://purl.obolibrary.org/obo/core#'
  STY: 'http://purl.bioontology.org/ontology/STY/'
  UMLSSG: 'https://lhncbc.nlm.nih.gov/semanticnetwork/download/sg_archive/SemGroups-v04.txt'
  UniProtKB: 'http://purl.uniprot.org/uniprot/'
  UNIPROT.ISOFORM: 'http://purl.uniprot.org/isoforms/'
  uspto-patent: "http://www.uspto.gov/patent/grant/v1/"
  VANDF: 'https://www.nlm.nih.gov/research/umls/sourcereleasedocs/current/VANDF/'
  UO-PROPERTY: 'http://purl.obolibrary.org/obo/uo#'
  VMC: 'https://github.com/ga4gh/vr-spec/'
  WBls: 'http://purl.obolibrary.org/obo/WBls_'
  WBbt: 'http://purl.obolibrary.org/obo/WBbt_'
  WBVocab: 'http://bio2rdf.org/wormbase_vocabulary'
  WIKIDATA: 'https://www.wikidata.org/entity/'             #  Wikidata Entity
  WIKIDATA_PROPERTY: 'https://www.wikidata.org/prop/'
  wgs: 'http://www.w3.org/2003/01/geo/wgs84_pos'
  XPO: 'http://purl.obolibrary.org/obo/XPO_'   #  Xenopus Phenotype Ontology
  Xenbase: 'http://www.xenbase.org/gene/showgene.do?method=display&geneId='
  PMC: 'http://europepmc.org/articles/PMC'

default_prefix: biolink
default_range: string

default_curi_maps:
  - obo_context
  - idot_context
  - monarch_context
  - semweb_context

emit_prefixes:
  - rdf
  - rdfs
  - xsd
  - skos
  - oboInOwl
  - BIOGRID
  - SO

## ------------
## SUBSETS
## ------------


subsets:

  model_organism_database:
    description: >-
      Subset that is relevant for a typical Model Organism Database (MOD)

  translator_minimal:
    description: >-
      Minimum subset of translator work

  samples:
    description: >-
      Sample/biosample datamodel

  testing:
    description: >-
      TBD


## ------------
## TYPES
## ------------

imports:
  - linkml:types
  - https://w3id.org/biolink/biolink-model/attributes

types:

  chemical formula value:
    uri: xsd:string
    base: str
    description: A type of string representing a chemical formula
    notes:
      - Should be implemented as a stronger type

  iri type:
    uri: xsd:string
    typeof: uriorcurie
    description: >-
      An IRI.

  label type:
    uri: xsd:string
    typeof: string
    description: >-
      A type of string that provides a human-readable name for an entity.

  narrative text:
    uri: xsd:string
    typeof: string
    description: >-
      A type of string that provides a human-readable description of something.

  symbol type:
    uri: xsd:string
    typeof: string
    description: >-
      A type of string that is typically short, used as a human-readable label or symbol for an entity,
      such as an official gene symbol (e.g., "BRCA1") or a chemical symbol.

  frequency value:
    typeof: string
    uri: UO:0000105
    description: >-
      A quantity expressing the number of occurrences of a repeating event per
      unit of time (UO:0000105). Typically used for rates such as incidence
      or event frequency associated with a phenomenon.

  percentage frequency value:
    typeof: double
    uri: UO:0000187
    description: >-
      A frequency value expressed as a percentage (UO:0000187), i.e., a
      dimensionless ratio multiplied by 100.

  quotient:
    aliases: ['ratio']
    typeof: double
    uri: UO:0010006
    description: >-
      A dimensionless value obtained by dividing one quantity by another of
      the same kind (UO:0010006). Used to represent ratios such as odds
      ratios, hazard ratios, or relative risks.

  unit:
    typeof: string
    uri: UO:0000000
    id_prefixes:
      - UO
    exact_mappings:
      - qud:Unit
    description: >-
      A standard of measurement in which the magnitude of a physical quantity
      is expressed (UO:0000000). Typically drawn from the Units of Measurement
      Ontology (UO).

  unit prefix:
    typeof: string
    uri: UO:0000046
    id_prefixes:
      - UO
    description: >-
      A prefix to a unit indicative of the scaling of the unit,
      e.g., 'nano' with unit 'meter' implies a unit of 10e-9 meters

  time type:
    uri: xsd:string
    typeof: time
    description: >-
      A value representing a point in time, serialised as a lexical
      representation of xsd:time.

  biological sequence:
    uri: xsd:string
    typeof: string
    description: >-
      A string of characters representing a biological macromolecule sequence,
      such as a nucleic acid sequence (DNA/RNA) using the IUPAC nucleotide
      alphabet, or a protein sequence using the IUPAC amino-acid alphabet.

## ------------
## SLOTS
## ------------

slots:

  node property:
    abstract: true
    description: >-
      A grouping for any property that holds between a node and a value
    domain: named thing

  nodes:
    multivalued: true
    range: entity
    description: >-
      A list of entities that can be a subject or object of an association
    inlined: true
    inlined_as_list: true

  edges:
    multivalued: true
    range: association
    description: >-
      A list of associations between two entities.
    inlined: true
    inlined_as_list: true

  has attribute:
    description: >-
      connects any entity to an attribute
    domain: entity
    range: attribute
    multivalued: true
    in_subset:
      - samples
    close_mappings:
       # RTX term meaning 'specifies value of' tagged as inverse of 'biolink:has attribute'
      - OBI:0001927
    exact_mappings:
      - SIO:000008
    narrow_mappings:
       # if 'has attribute' annotates a NamedThing as subject or
       # object of an association, these OBAN mappings may apply
      - OBAN:association_has_subject_property
      - OBAN:association_has_object_property
      - CPT:has_possibly_included_panel_element
      - DRUGBANK:category
       # RTX contributed terms. Could perhaps review for more semantically precise mappings?
      - EFO:is_executed_in
      - HANCESTRO:0301
      - LOINC:has_action_guidance
      - LOINC:has_adjustment
      - LOINC:has_aggregation_view
      - LOINC:has_approach_guidance
      - LOINC:has_divisor
      - LOINC:has_exam
      - LOINC:has_method
      - LOINC:has_modality_subtype
      - LOINC:has_object_guidance
      - LOINC:has_scale
      - LOINC:has_suffix
      - LOINC:has_time_aspect
      - LOINC:has_time_modifier
      - LOINC:has_timing_of
       # disease is stage
      - NCIT:R88
      - NCIT:eo_disease_has_property_or_attribute
      - NCIT:has_data_element
      - NCIT:has_pharmaceutical_administration_method
      - NCIT:has_pharmaceutical_basic_dose_form
      - NCIT:has_pharmaceutical_intended_site
      - NCIT:has_pharmaceutical_release_characteristics
      - NCIT:has_pharmaceutical_state_of_matter
      - NCIT:has_pharmaceutical_transformation
      - NCIT:is_qualified_by
      - NCIT:qualifier_applies_to
      - NCIT:role_has_domain
      - NCIT:role_has_range
      - INO:0000154
      - HANCESTRO:0308
      - orphanet:C016
      - orphanet:C017
      - RO:0000053
       # RTX tagged a few RO terms as 'biolink:related_to' but semantics suggest a better mapping here
      - RO:0000086
      - RO:0000087
      - SNOMED:has_access
      - SNOMED:has_clinical_course
      - SNOMED:has_count_of_base_of_active_ingredient
      - SNOMED:has_dose_form_administration_method
      - SNOMED:has_dose_form_release_characteristic
      - SNOMED:has_dose_form_transformation
      - SNOMED:has_finding_context
      - SNOMED:has_finding_informer
      - SNOMED:has_inherent_attribute
      - SNOMED:has_intent
      - SNOMED:has_interpretation
      - SNOMED:has_laterality
      - SNOMED:has_measurement_method
      - SNOMED:has_method
      - SNOMED:has_priority
      - SNOMED:has_procedure_context
      - SNOMED:has_process_duration
      - SNOMED:has_property
      - SNOMED:has_revision_status
      - SNOMED:has_scale_type
      - SNOMED:has_severity
      - SNOMED:has_specimen
      - SNOMED:has_state_of_matter
      - SNOMED:has_subject_relationship_context
      - SNOMED:has_surgical_approach
      - SNOMED:has_technique
      - SNOMED:has_temporal_context
      - SNOMED:has_time_aspect
      - SNOMED:has_units
      - UMLS:has_structural_class
      - UMLS:has_supported_concept_property
      - UMLS:has_supported_concept_relationship
      - UMLS:may_be_qualified_by

  has attribute type:
    description: >-
      connects an attribute to a class that describes it
    domain: attribute
    range: ontology class
    multivalued: false
    required: true
    in_subset:
      - samples
    narrow_mappings:
      - LOINC:has_modality_type
      - LOINC:has_view_type

   # TRAPI Attribute schema alignment:
   # value: NamedThing.name
   # value_type: NamedThing.category
   # value_type_name: quantity_value.NamedThing.name
  has qualitative value:
    description: >-
      connects an attribute to a value
    domain: attribute
    range: named thing
    multivalued: false
    in_subset:
      - samples

   # TRAPI Attribute schema alignment:
   # value: quantity_value.has_numeric_value[double] - may be a vector?
   # value_type: quantity_value.has_unit.unit.uri
   # value_type_name: quantity_value.has_unit.unit.name[string]
  has quantitative value:
    description: >-
      connects an attribute to a value
    domain: attribute
    range: quantity value
    multivalued: true
    exact_mappings:
      - qud:quantityValue
    narrow_mappings:
      - SNOMED:has_concentration_strength_numerator_value
      - SNOMED:has_presentation_strength_denominator_value
      - SNOMED:has_presentation_strength_numerator_value
    in_subset:
      - samples

  has numeric value:
    description: >-
      connects a quantity value to a number
    domain: quantity value
    range: double
    multivalued: false
    exact_mappings:
      - qud:quantityValue
    in_subset:
      - samples

  has binary relation:
    description: >-
      Qualifies a value context with a mathematical binary relation.
    range: BinaryRelationEnum

  has unit:
    description: >-
      connects a quantity value to a unit
    domain: quantity value
    range: unit
    multivalued: false
    close_mappings:
       # These RTX contributed terms mean "is unit of" which is the semantic inverse of this biolink:has_unit term
      - EFO:0001697
      - UO-PROPERTY:is_unit_of
    exact_mappings:
      - qud:unit
      - IAO:0000039
    narrow_mappings:
      - SNOMED:has_concentration_strength_denominator_unit
      - SNOMED:has_concentration_strength_numerator_unit
      - SNOMED:has_presentation_strength_denominator_unit
      - SNOMED:has_presentation_strength_numerator_unit
      - SNOMED:has_unit_of_presentation
    in_subset:
      - samples

  has unit prefix:
    description: >-
      relates to scaling of the associated quantitative unit
    domain: quantity value
    range: unit prefix

  base coordinate:
    is_a: sequence localization attribute
    aliases: ['one-based', 'fully-closed']
    description: >-
      A position in the base coordinate system.  Base coordinates start at position 1 instead of position 0.
    range: integer

   ## --------------------
   ## NODE PROPERTY SLOTS
   ## --------------------

  id:
    identifier: true
    domain: entity
    description: >-
      A unique identifier for an entity.
      Must be either a CURIE shorthand for a URI or a complete URI
    in_subset:
      - translator_minimal
    required: true
    exact_mappings:
      - AGRKB:primaryId
      - gff3:ID
      - gpi:DB_Object_ID

  iri:
    description: >-
      An IRI for an entity. This is determined by the id using expansion rules.
    range: iri type
    in_subset:
      - translator_minimal
      - samples
    exact_mappings:
      - WIKIDATA_PROPERTY:P854

  type:
    description: >-
      An rdf:type property asserting that an entity is an instance of a particular class.
      In Biolink the value is typically used to indicate the most specific category
      of which the entity is an instance.
    slot_uri: rdf:type
    domain: entity
    exact_mappings:
      - gff3:type
      - gpi:DB_Object_Type
    multivalued: true

  category:
    is_a: type
    domain: entity
    range: uriorcurie
    designates_type: true
    description: >-
      Name of the high level ontology class in which this entity is categorized. Corresponds to the label for the
      biolink entity type class. In a neo4j database this MAY correspond to the neo4j label tag. In an RDF database it should be a biolink model class URI.
      This field is multi-valued. It should include values for ancestors of the biolink class; for example,
      a protein such as Shh would have category values `biolink:Protein`, `biolink:GeneProduct`, `biolink:MolecularEntity`.
      In an RDF database, nodes will typically have an rdf:type triples. This can be to the most specific biolink
      class, or potentially to a class more specific than something in biolink. For example, a sequence feature `f`
      may have a rdf:type assertion to a SO class such as TF_binding_site,
      which is more specific than anything in biolink. Here we would have categories {biolink:GenomicEntity,
      biolink:MolecularEntity, biolink:NamedThing}
    is_class_field: true
    multivalued: true
    in_subset:
      - translator_minimal

  publication type:
    slot_uri: dct:type
    description: >-
      Ontology term for publication type may be drawn from
      Dublin Core types (https://www.dublincore.org/specifications/dublin-core/dcmi-type-vocabulary/),
      FRBR-aligned Bibliographic Ontology (https://sparontologies.github.io/fabio/current/fabio.html),
      the MESH publication types (https://www.nlm.nih.gov/mesh/pubtypes.html),
      the Confederation of Open Access Repositories (COAR) Controlled Vocabulary for Resource Type Genres
      (http://vocabularies.coar-repositories.org/documentation/resource_types/),
      Wikidata (https://www.wikidata.org/wiki/Wikidata:Publication_types), or
      equivalent publication type ontology. When a given publication type ontology term
      is used within a given knowledge graph, then the CURIE identified term must be
      documented in the graph as a concept node of biolink:category biolink:OntologyClass.
    values_from:  # Not sure which takes precedence, if any...
      - dctypes
      - fabio
      - MESH_PUB
      - COAR_RESOURCE
      - WIKIDATA
    multivalued: true

  name:
    aliases: ['label', 'display name', 'title']
    description: >-
      A human-readable name for an attribute or entity.
    domain: entity
    range: label type
    in_subset:
      - translator_minimal
      - samples
    slot_uri: rdfs:label
    exact_mappings:
      - gff3:Name
      - gpi:DB_Object_Name
    narrow_mappings:
      - dct:title
      - WIKIDATA_PROPERTY:P1476

  hgvs nomenclature:
    is_a: node property
    domain: sequence variant
    multivalued: true
    description: >-
      HGVS syntax refers to the specific rules and conventions used by the Human Variant Nomenclature Committee
      to describe the location and change in DNA, RNA, and protein sequence variants.  This slot is used to capture all the
      different forms of HGVS nomenclature that may be used to describe a sequence variant, including genomic, transcript,
      and protein HGVS expressions/nomenclatures and is thus multivalued.
    comments:
      - >-
        For more information, please see: https://hgvs-nomenclature.org/stable/background/simple/ and examples:
        https://hgvs-nomenclature.org/stable/recommendations/summary/.

  stoichiometry:
    description: >-
      the relationship between the relative quantities of substances taking part in a reaction or
      forming a compound, typically a ratio of whole integers.
    is_a: association slot
    range: integer

  reaction direction:
    description: >-
      the direction of a reaction as constrained by the direction enum (ie: left_to_right, neutral, etc.)
    is_a: association slot
    range: ReactionDirectionEnum
    narrow_mappings:
      - NCIT:C42677

  reaction balanced:
    description: >-
      Indicates whether a chemical reaction is stoichiometrically balanced, i.e. whether the
      conservation of atoms (and charge) holds between the reactants and the products.
    is_a: association slot
    range: boolean

  reaction side:
    description: >-
      the side of a reaction being modeled (ie: left or right)
    is_a: association slot
    range: ReactionSideEnum

  symbol:
    is_a: node property
    domain: named thing
    description: >-
      Symbol for a particular thing
    exact_mappings:
      - AGRKB:symbol
      - gpi:DB_Object_Symbol

  synonym:
    is_a: node property
    aliases: ['alias']
    domain: named thing
    range: label type
    description: >-
      Alternate human-readable names for a thing
    multivalued: true
    in_subset:
      - translator_minimal
    narrow_mappings:
       # there is an interesting debate here: are these terms "narrower" a.k.a. more specialized instances of
       # 'biolink:synonym' or should they be binned into their respective namesake class of mappings?
       # namely, is 'oboInOwl:hasExactSynonym' an instance 'exact_mappings', etc.
      - skos:altLabel
      - gff3:Alias
      - AGRKB:synonyms
      - gpi:DB_Object_Synonyms
       # TODO: RTX contributed terms mapped here... May need review?
      - HANCESTRO:0330
      - IAO:0000136
      - RXNORM:has_tradename

  exact synonym:
    description: >-
      An alternate label for an entity that denotes exactly the same meaning as the primary label
      and is interchangeable with it in all contexts.
    is_a: synonym
    exact_mappings:
      - oboInOwl:hasExactSynonym

  broad synonym:
    description: >-
      An alternate label for an entity whose meaning is broader (more general) than the primary label
      but is still useful as a lexical alternative.
    is_a: synonym
    exact_mappings:
      - oboInOwl:hasBroadSynonym

  narrow synonym:
    description: >-
      An alternate label for an entity whose meaning is narrower (more specific) than the primary label,
      for example naming a particular sub-type.
    is_a: synonym
    exact_mappings:
      - oboInOwl:hasNarrowSynonym

  related synonym:
    description: >-
      An alternate label that is related to the primary label but is neither exactly synonymous nor
      cleanly broader or narrower; useful as a lexical pointer but not for strict equivalence.
      Corresponds to oboInOwl:hasRelatedSynonym.
    is_a: synonym
    exact_mappings:
      - oboInOwl:hasRelatedSynonym

  deprecated:
    range: boolean
    exact_mappings:
      - oboInOwl:ObsoleteClass
    description: >-
      A boolean flag indicating that an entity is no longer considered current or valid.

  has topic:
    aliases: ['topic', 'descriptors']
    is_a: node property
    range: ontology class
    exact_mappings:
      - foaf:topic
    description: >-
      Connects a node to a vocabulary term or ontology class that describes some aspect of the entity. In general specific characterization is preferred.
      See https://github.com/biolink/biolink-model/issues/238

  xref:
    aliases: ['dbxref', 'Dbxref', 'DbXref', 'record_url', 'source_record_urls']
    domain: named thing
    range: uriorcurie
    description: >-
      A database cross reference or alternative identifier for a NamedThing or edge between two
      NamedThings.  This property should point to a database record or webpage that supports the existence of the edge, or
      gives more detail about the edge. This property can be used on a node or edge to provide multiple
      URIs or CURIE cross references.
    multivalued: true
    in_subset:
      - translator_minimal
    narrow_mappings:
      - gff3:Dbxref
      - gpi:DB_Xrefs

  subsets:
    is_a: node property
    domain: named thing
    range: string
    description: >-
      The set of ontology subsets a term belongs to (e.g. GO slim subsets, MONDO rare disease
      subset). Carries the values of `oboInOwl:inSubset` annotations from source ontologies through
      to downstream knowledge graphs.
    multivalued: true
    exact_mappings:
      - oboInOwl:inSubset

  url:
    is_a: node property
    description: >-
      This slot holds a string representation of a URL for an external resource about the node it is
      present on. Unlike an 'xref' that is primarily represented by a CURIE, this slot is intended to hold a full
      URL that can be used to directly access a resource. When linking to an external resource that cannot be
      represented by a unique CURIE, this slot should be used.  However, when the intent is to link to the
      default URI expansion of a CURIE related to the node it is present on, the xref slot should be used instead.
    domain: entity
    range: string

  semmed agreement count:
    is_a: association slot
    range: integer
    description: >-
      The number of times this concept has been asserted in the SemMedDB literature database.
    in_subset:
      - translator_minimal

  support graphs:
    description: >-
      A list of knowledge graphs that support the existence of this association.
    multivalued: true
    is_a: association slot
    in_subset:
      - translator_minimal

  resource id:
    is_a: node property
    description: >-
      The CURIE for an Information Resource that served as a source
      of knowledge expressed in an Edge, or a source of data used to
      generate this knowledge.
    domain: retrieval source
    range: uriorcurie
    in_subset:
      - translator_minimal

  resource role:
    is_a: node property
    description: >-
      The role played by the InformationResource in serving as a
      source for an Edge. Note that a given Edge should have one
      and only one 'primary' source, and may have any number of
      'aggregator' or 'supporting data' sources.
    domain: retrieval source
    range: ResourceRoleEnum
    in_subset:
      - translator_minimal

  retrieval source ids:
    description: >-
        A list of retrieval sources that served as a source of knowledge
        expressed in an Edge, or a source of data used to generate this
        knowledge.
    multivalued: true
    range: retrieval source
    in_subset:
      - translator_minimal

  full name:
    is_a: node property
    domain: named thing
    range: label type
    description: >-
      a long-form human readable name for a thing

  upstream resource ids:
    is_a: node property
    description: >-
      An upstream InformationResource from which the resource
      being described directly retrieved a record of the knowledge
      expressed in the Edge, or data used to generate this knowledge.
      This is an array because there are cases where a merged Edge
      holds knowledge that was retrieved from multiple sources.
    multivalued: true
    domain: retrieval source
    range: uriorcurie

  source record urls:
    is_a: node property
    description: >-
      A URL linking to a specific web page or document provided by the
      source, that contains a record of the knowledge expressed in the
      Edge. If the knowledge is contained in more than one web page on
      an Information Resource's site, urls MAY be provided for each.
    multivalued: true
    domain: retrieval source
    range: uriorcurie

  description:
    aliases: ['definition']
    range: narrative text
    description: >-
      a human-readable description of an entity
    in_subset:
      - translator_minimal
    slot_uri: dct:description
    exact_mappings:
      - IAO:0000115
      - skos:definitions
    narrow_mappings:
      - gff3:Description

  systematic synonym:
    is_a: node property
    domain: named thing
    range: label type
    multivalued: true
    slot_uri: GOP:systematic_synonym
    description: >-
      more commonly used for gene symbols in yeast

  affiliation:
    is_a: node property
    description: >-
      a professional relationship between one provider (often a person) within another provider (often an organization).
      Target provider identity should be specified by a CURIE. Providers may have multiple affiliations.
    domain: agent
    range: uriorcurie
    multivalued: true

  address:
    is_a: node property
    description: >-
      the particulars of the place where someone or an organization is situated.  For now, this slot is a
      simple text "blob" containing all relevant details of the given location for fitness of purpose.
      For the moment, this "address" can include other contact details such as email and phone number(?).

   ## Space

  latitude:
    is_a: node property
    range: float
    description: >-
      latitude
    exact_mappings:
      - wgs:lat

  longitude:
    is_a: node property
    range: float
    description: >-
      longitude
    exact_mappings:
      - wgs:long

   ## Time

  timepoint:
    aliases: ['duration']
    range: time type
    description: >-
      a point in time

  creation date:
    is_a: node property
    aliases: ['publication date', 'date started']
    range: date
    description: >-
      date on which an entity was created. This can be applied to nodes or edges
    exact_mappings:
      - dct:createdOn
      - WIKIDATA_PROPERTY:P577

  update date:
    is_a: node property
    range: date
    description: >-
      date on which an entity was updated. This can be applied to nodes or edges

   ## Statistics

  aggregate statistic:
    description: >-
      An abstract grouping for summary numerical measures (e.g. count, total, quotient,
      percentage, rate) computed over a set of observations or a reference population,
      used to describe a property of an aggregated entity rather than an individual instance.
    is_a: node property
    abstract: true

  has count:
    description: >-
      number of things with a particular property
    is_a: aggregate statistic
    range: integer
    exact_mappings:
      - LOINC:has_count

  has total:
    description: >-
      total number of things in a particular reference set
    is_a: aggregate statistic
    range: integer

  has quotient:
    is_a: aggregate statistic
    range: double

  has percentage:
    description: >-
      equivalent to has quotient multiplied by 100
    is_a: aggregate statistic
    range: double

   ## Properties for Information Content Entity and Publication Nodes

  has taxonomic rank:
    description: >-
      The taxonomic rank (e.g. species, genus, family, order, kingdom) assigned to an organism taxon.
    is_a: node property
    range: taxonomic rank
    multivalued: false
    mappings:
      - WIKIDATA:P105

  has dataset:
    description: >-
      Links a dataset version to the underlying dataset that it is a version of.
    is_a: node property
    domain: dataset version
    range: dataset
    broad_mappings:
      - dct:source

  source web page:
    description: >-
      A URL of a web page that documents or serves as the landing page for a data source.
    is_a: node property
    domain: dataset summary
    broad_mappings:
      - dct:source

  source logo:
    description: >-
      A URL referencing an image that serves as the visual logo of a data source.
    is_a: node property
    domain: dataset summary
    slot_uri: schema:logo

  retrieved on:
    description: >-
      The date on which a dataset was retrieved or harvested from its original source,
      following pav:retrievedOn.
    is_a: node property
    domain: dataset
    range: date
    exact_mappings:
      - pav:retrievedOn

  version of:
    description: >-
      Links a dataset version to the dataset summary of which it is a version, edition, or
      adaptation.
    is_a: node property
    domain: dataset version
    range: dataset summary
    exact_mappings:
      - dct:isVersionOf

  version:
    description: >-
      A label identifying a particular release or edition of a dataset or resource, typically
      following a versioning scheme such as a semantic version string or a release date.
    is_a: node property
    domain: dataset
    broad_mappings:
      - pav:version
      - owl:versionInfo

  license:
    description: >-
      A legal instrument under which the information content entity is made available, typically
      identified by a URL or CURIE pointing to a license document.
    is_a: node property
    domain: information content entity
    exact_mappings:
      - dct:license
    narrow_mappings:
      - WIKIDATA_PROPERTY:P275

  rights:
    description: >-
      A statement describing rights held in or over the information content entity, such as copyright,
      intellectual property, or access and usage rights.
    is_a: node property
    domain: information content entity
    exact_mappings:
      - dct:rights

  format:
    description: >-
      The file format, physical medium, or representational form of the information content entity;
      for digital resources typically a MIME type or format identifier. Corresponds to dct:format.
    is_a: node property
    domain: information content entity
    exact_mappings:
      - dct:format
      - WIKIDATA_PROPERTY:P2701

  created with:
    description: >-
      An identifier (typically a URL or CURIE) of the software tool, service, or pipeline used
      to create the dataset.
    is_a: node property
    domain: dataset
    exact_mappings:
      - pav:createdWith

  download url:
    description: >-
      A URL from which the information content entity may be directly downloaded in its native
      serialization.
    is_a: node property
    domain: information content entity
    slot_uri: dcat:downloadURL

  dataset download url:
    description: >-
      A URL from which the dataset itself may be directly downloaded specialised for the dataset domain.
    is_a: node property
    domain: dataset
    slot_uri: dcat:downloadURL

  distribution download url:
    description: >-
      A URL from which a specific distribution (serialization or format) of a dataset may be directly
      downloaded; corresponds to dcat:downloadURL specialised for the dataset distribution domain.
    is_a: node property
    domain: dataset distribution
    exact_mappings:
      - dcat:downloadURL

  ingest date:
    description: >-
      The date on which a dataset version was ingested into the local knowledge graph or downstream
      data system; a specialization of dct:issued for the ingestion context.
    is_a: node property
    domain: dataset version
    broad_mappings:
      - dct:issued

  has distribution:
    description: >-
      Links a dataset version to one of its dataset distributions (a specific representation or
      serialization of the dataset).
    is_a: node property
    domain: dataset version
    range: dataset distribution
    slot_uri: dct:distribution

  published in:
    is_a: node property
    description: >-
      CURIE identifier of a broader publication context within which the publication may be placed.
    domain: publication
    range: uriorcurie
    values_from:
      - NLMID
      - issn
      - isbn
    exact_mappings:
      - WIKIDATA_PROPERTY:P1433

  iso abbreviation:
    is_a: node property
    description: >-
      Standard abbreviation for periodicals in the International Organization for Standardization (ISO) 4 system
      See https://www.issn.org/services/online-services/access-to-the-ltwa/. If the 'published in' property is set,
      then the iso abbreviation pertains to the broader publication context (the journal) within which the given
      publication node is embedded, not the publication itself.
    domain: publication
    exact_mappings:
      - WIKIDATA_PROPERTY:P1160

  authors:
    is_a: node property
    description: >-
      connects an publication to the list of authors who contributed to the publication.
      This property should be a comma-delimited list of author names. It is recommended that an author's name
      be formatted as "surname, firstname initial.".   Note that this property is a node annotation expressing
      the citation list of authorship which might typically otherwise be more completely documented in
      biolink:PublicationToProviderAssociation defined edges which point to full details about an author
      and possibly, some qualifiers which clarify the specific status of a given author in the publication.
    multivalued: true
    domain: publication
    range: agent

  volume:
    is_a: node property
    description: >-
      volume of a book or music release in a collection/series or a published collection of journal issues in a serial publication
    domain: publication
    exact_mappings:
      - WIKIDATA_PROPERTY:P478

  chapter:
    is_a: node property
    description: >-
      chapter of a book
    domain: book chapter
    exact_mappings:
      - WIKIDATA:Q1980247

  issue:
    is_a: node property
    description: >-
      issue of a newspaper, a scientific journal or magazine for reference purpose
    domain: publication
    exact_mappings:
      - WIKIDATA_PROPERTY:P433

  pages:
    is_a: node property
    description: >-
      page number of source referenced for statement or publication
    domain: publication
    multivalued: true
    exact_mappings:
      - WIKIDATA_PROPERTY:P304

  summary:
    is_a: node property
     # since 'abstract' is a linkML keyword denoting a non-instantiable class or slot,
     # it is generally recommended that knowledge graphs use 'summary' instead to tag a Publication 'abstract'
    aliases: ['abstract']
    description: >-
      executive  summary of a publication
    domain: publication
    exact_mappings:
      - dct:abstract
      - WIKIDATA:Q333291

  keywords:
    is_a: node property
    description: >-
      keywords tagging a publication
    domain: publication
    multivalued: true

  mesh terms:
    is_a: node property
    description: >-
      mesh terms tagging a publication
    domain: publication
    range: uriorcurie
    values_from:
      - MESH
    multivalued: true
    exact_mappings:
      - dcid:MeSHTerm

  ## Exposure Events

  exposure type:
    is_a: node property
    description: >-
      Type of exposure
    domain: exposure event
    range: string

  exposure vehicle:
    is_a: node property
    description: >-
      Type of an exposure event.
    domain: exposure event
    range: string

  exposure route:
    is_a: node property
    description: >-
      Route of exposure.
    domain: exposure event
    range: string

  exposure start age:
    is_a: node property
    description: >-
      Starting age of an exposure event.
    domain: exposure event
    range: integer

  exposure end age:
    is_a: node property
    description: >-
      Ending stage of an exposure event.
    domain: exposure event
    range: integer

  exposure duration:
    is_a: node property
    description: >-
      Duration of an exposure event.
    domain: exposure event
    range: time

  exposure magnitude:
    is_a: node property
    description: >-
      Magnitude of an exposure event, e.g, parts per million of a toxic chemical.
    domain: exposure event
    range: string

  exposure additional condition:
    is_a: node property
    description: >-
      Additional conditions impacting an exposure event.
    domain: exposure event
    range: string

  ## Clinical Trials

  elevate to prediction:
    is_a: node property
    description: >-
      A boolean flag indicating whether a clinical trial finding should be elevated to a prediction.
    range: boolean

  clinical trial phase:
    is_a: node property
    description: >-
      The phase that a clinical trials study represents
    range: ResearchPhaseEnum

  clinical trial primary purpose:
    aliases: ['primary purpose']
    is_a: node property
    description: >-
      The primary purpose of a clinical trial as determined by clinicaltrials.gov.  The most common values are
      TREATMENT and PREVENTION. Other possible values include BASIC_SCIENCE, SUPPORTIVE_CARE,
      DIAGNOSTIC, HEALTH_SERVICES_RESEARCH, SCREENING, DEVICE_FEASIBILITY, OTHER, and (null).
    range: string
    domain: clinical trial

  clinical trial intervention model:
    is_a: node property
    description: >-
      The intervention model of a clinical trial as determined by clinicaltrials.gov.  The most common values are
      SINGLE_GROUP, PARALLEL, CROSSOVER, FACTORIAL, and (null).
    range: string
    domain: clinical trial

  clinical trial time perspective:
    is_a: node property
    description: >-
      The time perspective of a clinical trial as determined by clinicaltrials.gov.  The most common values are
      PROSPECTIVE, RETROSPECTIVE, CROSS_SECTIONAL, or OTHER (most common)..
    range: string
    domain: clinical trial

  clinical trial overall status:
    is_a: node property
    description: >-
      The overall status of a clinical trial as determined by clinicaltrials.gov
    range: ClinicalTrialStatusEnum
    domain: clinical trial

  clinical trial intervention boxed warning:
    is_a: node property
    description: >-
      A boolean flag indicating whether a clinical trial intervention has a boxed warning.
      A boxed warning is the strongest warning that the FDA requires on a prescription drug label. This property should
      be populated from DailyMed.
    range: boolean
    domain: association

  clinical trial tested intervention:
    is_a: node property
    description: >-
      Records whether the clinical trials are testing the intervention.
    domain: clinical trial
    range: string

  clinical trial brief title:
    is_a: node property
    description: >-
      The brief title of a clinical trial as determined by clinicaltrials.gov
    range: string
    domain: clinical trial

  clinical trial enrollment type:
    is_a: node property
    description: >-
      The enrollment type of a clinical trial as determined by clinicaltrials.gov (actual,
      anticipated, or estimated)
    range: string
    domain: clinical trial

  clinical trial start date:
    is_a: node property
    description: >-
      The start date of a clinical trial as determined by clinicaltrials.gov
    range: string
    domain: clinical trial
  clinical trial enrollment:
    is_a: node property
    description: >-
      The enrollment number of a clinical trial as determined by clinicaltrials.gov
    range: integer
    domain: clinical trial

  clinical trial age stage:
    is_a: node property
    description: >-
      The age stage of a clinical trial as determined by clinicaltrials.gov (adult, child, older adult)
    range: ClinicalTrialAgeStageEnum
    domain: clinical trial
    multivalued: true

  clinical trial age range:
    is_a: node property
    description: >-
      The age range of a clinical trial as determined by clinicaltrials.gov
    range: string
    domain: clinical trial

  clinical trial interventions:
    is_a: node property
    description: >-
        connects a clinical trial to one or more interventions being tested in the trial
    range: clinical intervention
    multivalued: true
    domain: clinical trial

  clinical trial conditions:
    is_a: node property
    description: >-
        connects a clinical trial to one or more conditions being studied in the trial
    range: disease or phenotypic feature
    multivalued: true
    domain: clinical trial

    ## Biological Entity properties

  has biological sequence:
    is_a: node property
    description: >-
      connects a genomic feature to its sequence
    range: biological sequence

  has gene or gene product:
    is_a: node property
    description: >-
      connects an entity with one or more gene or gene products
    range: gene
    multivalued: true

  has gene:
    is_a: has gene or gene product
    description: >-
      connects an entity associated with one or more genes
    range: gene
    multivalued: true

  inheritance:
    is_a: node property
    description: >-
      Connects genetic inheritance to a disease or phenotypic feature, as a node property.
    domain: disease or phenotypic feature
    range: genetic inheritance
    exact_mappings:
      - OMIM:has_inheritance_type

  has zygosity:
    description: >-
      The zygosity characterising a genotype or
      nucleic acid entity at a particular locus.
    is_a: node property
    domain: nucleic acid entity
    range: zygosity

   ## Chemistry, drugs and food

  has chemical formula:
    is_a: node property
    range: chemical formula value
    description: >-
      description of chemical compound based on element symbols
    exact_mappings:
      - WIKIDATA_PROPERTY:P274

  is metabolite:
    is_a: node property
    domain: molecular entity
    range: boolean
    description: >-
      indicates whether a molecular entity is a metabolite
    exact_mappings:
      - CHEBI:25212

  has constituent:
    description: >-
      one or more molecular entities within a chemical mixture
    is_a: node property
    range: molecular entity
    multivalued: true

  has drug:
    is_a: node property
    description: >-
      connects an entity to one or more drugs
    range: drug
    multivalued: true

  has device:
    is_a: node property
    description: >-
      connects an entity to one or more (medical) devices
    range: device
    multivalued: true

  has procedure:
    is_a: node property
    description: >-
      connects an entity to one or more (medical) procedures
    range: procedure
    multivalued: true

   ## Clinical exposures

  has receptor:
    is_a: node property
    domain: exposure event
    range: organismal entity
    description: >-
      An entity that interacts with an exposure stimulus
      during an exposure event.
    exact_mappings:
      - ExO:0000001

  has stressor:
    is_a: node property
    domain: exposure event
    aliases: ['has stimulus']
    description: >-
      An agent, stimulus, activity, or event that causes stress or tension on an organism and interacts with an
      exposure_receptor during an exposure event.
    exact_mappings:
      - ExO:0000000
    id_prefixes:
      - ExO

  has route:
    is_a: node property
    domain: exposure event
    description: >-
      the process that results in the stressor coming into direct contact with the receptor
    exact_mappings:
      - ExO:0000055
    narrow_mappings:
      - LOINC:has_pharmaceutical_route
      - SNOMED:has_dose_form_intended_site
      - SNOMED:has_route_of_administration


  response context qualifier:
    description: >-
      a biological response (general, study, cohort, etc.) with a specific set of characteristics to constrain
      an association.
    is_a: context qualifier
    range: ResponseEnum

  response target context qualifier:
    description: >-
      a biological response target (a patient, a cohort, a model system, a cell line, a sample of biological material,
      etc.)
    is_a: context qualifier
    range: ResponseTargetEnum

  population context qualifier:
    description: >-
      a biological population (general, study, cohort, etc.) with a specific
      set of characteristics to constrain an association.
    is_a: qualifier
    range: population of individual organisms  # TODO: harmonize with 'response target context qualifier'

  temporal context qualifier:
    description: >-
      a constraint of time placed upon the truth value of an association.
      for time intervales, use temporal interval qualifier.
    is_a: qualifier
    range: time type

  temporal interval qualifier:
    is_a: temporal context qualifier
    description: >-
      a constraint of a time interval placed upon the truth value of an
      association.

  is supplement:
    description: >-
      A boolean or categorical flag indicating that a chemical mixture is marketed, formulated, or used
      as a dietary or nutritional supplement rather than as a conventional drug or food.
    is_a: node property
    domain: chemical mixture

  trade name:
    description: >-
      A proprietary brand or trade name under which a chemical entity (typically a drug)
      is manufactured and marketed by a vendor.
    is_a: node property
    domain: chemical entity

  available from:
    description: >-
      The regulatory or commercial availability channel through which a drug or chemical entity
      can be obtained, drawn from DrugAvailabilityEnum.
    is_a: node property
    multivalued: true
    range: DrugAvailabilityEnum
    examples:
      - value: "over_the_counter"

  is toxic:
    description: >-
      A boolean flag indicating whether a chemical entity is toxic under ordinary conditions of exposure.
    is_a: node property
    multivalued: false
    range: boolean

  has chemical role:
    is_a: related to at concept level
    description: >-
      A role is particular behaviour which a chemical entity may exhibit.
    domain: chemical entity
    range: chemical role
    multivalued: true
    inverse: is chemical role of
    id_prefixes:
      - CHEBI
    comments:
      - >-
        We expect primarily to use CHEBI chemical roles here; however, we are looking for a mapping between
        CHEBI And ATC codes to support this slot.

  is chemical role of:
    is_a: related to at concept level
    description: >-
      Holds between a chemical role and a chemical entity that exhibits that role.
    domain: chemical role
    range: chemical entity
    multivalued: true
    inverse: has chemical role

  max tolerated dose:
    description: >-
      The highest dose of a drug or treatment that does not cause unacceptable side effects.
      The maximum tolerated dose is determined in clinical trials by testing increasing doses
      on different groups of people until the highest dose with acceptable side effects is
      found. Also called MTD.
    is_a: node property
    multivalued: false
    range: string

  animal model available from:
    description: >-
      A resource (such as a model organism database) from which an animal model representing the given
      disease or phenotypic feature may be obtained. 
    is_a: node property
    multivalued: true
    range: string

  FDA adverse event level:
    description: >-
      The level or severity grade of an adverse event as classified by FDA adverse-event terminology,
      drawn from FDAIDAAdverseEventEnum; used on adverse-event associations.
    is_a: association slot
    range: FDAIDAAdverseEventEnum

  highest FDA approval status:
    description: >-
      Should be the highest level of FDA approval this chemical entity or device has, regardless of which
      disease, condition or phenotype it is currently being reviewed to treat.  For specific levels of FDA
      approval for a specific condition, disease, phenotype, etc., see the association slot, 'clinical approval status.'
    range: ApprovalStatusEnum

  FDA regulatory approvals:
    description: >-
      Numbers that identify specific drug applications. Each drug can have multiple approval numbers
      (for example, as seen with ranitidine having both ANADA200536 and ANDA200536).
    range: string
    multivalued: true

  drug regulatory status world wide:
    aliases: ['max phase']
    range: ApprovalStatusEnum
    description: >-
      An agglomeration of drug regulatory status worldwide. Not specific to FDA.
    exact_mappings:
      - NCIT:C172573
    narrow_mappings:
      - NCIT:R172
      - NCIT:regimen_has_accepted_use_for_disease
       # RTX mapped REPODB terms
      - REPODB:clinically_tested_approved_unknown_phase
      - REPODB:clinically_tested_suspended_phase_0
      - REPODB:clinically_tested_suspended_phase_1
      - REPODB:clinically_tested_suspended_phase_1_or_phase_2
      - REPODB:clinically_tested_suspended_phase_2
      - REPODB:clinically_tested_suspended_phase_2_or_phase_3
      - REPODB:clinically_tested_suspended_phase_3
      - REPODB:clinically_tested_terminated_phase_0
      - REPODB:clinically_tested_terminated_phase_1
      - REPODB:clinically_tested_terminated_phase_1_or_phase_2
      - REPODB:clinically_tested_terminated_phase_2
      - REPODB:clinically_tested_terminated_phase_2_or_phase_3
      - REPODB:clinically_tested_terminated_phase_3
      - REPODB:clinically_tested_withdrawn_phase_0
      - REPODB:clinically_tested_withdrawn_phase_1
      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2
      - REPODB:clinically_tested_withdrawn_phase_2
      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3
      - REPODB:clinically_tested_withdrawn_phase_3

  routes of delivery:
    description: >-
      the method or process of administering a pharmaceutical compound to achieve a therapeutic
      effect in humans or animals.
    multivalued: true
    range: DrugDeliveryEnum

   ## -------------------
   ## QUALIFIERS
   ## -------------------

  form or variant qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      A qualifier that composes with a core subject/object concept to define a specific type, variant,
      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.
      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept
      ‘a mutation of Gene X’.
    examples:
      - value: mutation
      - value: late stage
      - value: severe
      - value: transplant
      - value: chemical analog
    notes:
      - >-
        please see the ChemicalOrGeneOrGeneProductFormOrVariantEnum (below) for examples of 'form or variant qualifier'
        terms in the gene->chemical association space.
        the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept ‘Mutated forms of Gene X’.
        the qualifier ‘late stage’ combines with a core concept of ‘Disease X’ to express the  more specific concept ‘Late Stage forms of Disease X’
        the qualifier ‘recombinant’ combines with a core concept of ‘FLT1 Gene’ to express the composed concept ‘Recombinant forms of the FLT1 gene’
        the qualifier ‘chemical analog’ combines with a core concept of ‘Ditiocarb’ to express the composed concept ‘analog forms of Ditiocarb’
    in_subset:
      - translator_minimal

  specialization qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      A qualifier that composes with a core subject/object concept to define a more specific version of the
      subject 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
      subject identifier.
    examples:
      - value: CHEBI:5118
        description: >-
          fluoxetine. In a MAXO annotation this would be a specialization in treatment of a disease. For example,
          fluoxetine would be a specialization of the MAXO term 'serotonin-norepinephrine reuptake inhibitor agent
          therapy' as a treatment for the HP term 'Fatigable muscle weakness' in the context of the MONDO term
          'congenital myasthenic syndrome '4A.'
      - value: GO:0005634
        description: >-
          nucleus. In an expression annotation this would be a specialization in location of an anatomical entity. For example,
          "expression in the nucleus of hepatic cells" would be a specialization of "expression in hepatic cells"

  aspect qualifier:
    is_a: qualifier
    abstract: true
    range: GeneOrGeneProductOrChemicalEntityAspectEnum
    description: >-
      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which
      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that
      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an
      'affects' association.
    examples:
      - value: stability
      - value: abundance
      - value: expression
      - value: exposure
    notes:
      - >-
        for good examples of aspects in the gene-> chemical space, please see the
        GeneOrGeneProductOrChemicalEntityAspectEnum (below) which lists many aspects that can be used to qualify
        the gene making the full subject a different ontological type.
        the qualifier ‘expression’ combines with a core concept of ‘Gene X’ to express the composed concept ‘expression of Gene X’ (Gene → Biological Process)
        the qualifier ‘exposure’ combines with a core concept of ‘Chemical X’ to express the composed concept ‘exposure to Chemical X’ (Chemical → Exposure Process)
        the qualifier ‘activity’ combines with a core concept of ‘PPARG’ to express the concept ‘activity of PPARG’ (Gene → function/activity)
        the qualifier ‘emergency Department Visit’ combines with a core concept of ‘Disease X’ to express the concept ‘Emergency Department visits for Disease X’ (Disease → Clinical Event)
        the qualifier ‘infection’ combines with a core concept of ‘Giardia’ to express the concept ‘Infection with Giardia’ (Taxon → Biological / Pathological Process)
        the qualifier ‘severity’ combines with a core concept of ‘DILI’ to express the concept ‘the severity level of DILI’ (Disease → (intrinsic) Characteristic/Quality)
        the qualifier ‘abundance’ combines with a core concept of ‘BRCA2’ to express the concept ‘abundance of BRCA2’ (Gene → (extrinsic) characteristic/quality)
    in_subset:
      - translator_minimal

  derivative qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      A qualifier that composes with a core subject/object  concept to describe something that is derived from the
      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express
      the composed concept ‘a metabolite of Chemical X’.
    examples:
      - value: metabolite
    in_subset:
      - translator_minimal

  part qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can
      use to directly represent it).
    examples:
      - value: polyA tail
      - value: upstream control region
    in_subset:
      - translator_minimal

  context qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      Restricts the setting/context/location where the core concept (or qualified core concept) resides or occurs.
    examples:
      - value: OHMI:0000020
        description: gut microbiome
    in_subset:
      - translator_minimal

  process qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      Restricts the biological process within which the core concept (or qualified core concept) participates.
    examples:
      - value: GO:0009101
        description: glycoprotein biosynthetic process
    in_subset:
      - translator_minimal

  direction qualifier:
    is_a: qualifier
    abstract: true
    description: >-
      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.
    notes:
      - >-
        the qualifier ‘increased’ combines with a core concept of ‘Gene X’ and an aspect of ‘expression’ to express the composed concept ‘increased expression of Gene X’
        the qualifier ‘decreased’ combines with a core concept of ‘Protein X’ and an aspect of ‘abundance’ to express the composed concept ‘decreased abundance of Protein X’
    in_subset:
      - translator_minimal

  mapped predicate:
    description: >-
      The predicate that is being replaced by the fully qualified representation of predicate + subject and object
      qualifiers.  Only to be used in test data and mapping data to help with the transition to the fully qualified
      predicate model. Not to be used in knowledge graphs.

  predicate mappings:
    description: >-
      A collection of relationships that are not used in biolink, but have biolink patterns that can
      be used to replace them.  This is a temporary slot to help with the transition to the fully qualified predicate
      model in Biolink3.
    multivalued: true
    range: predicate mapping
    inlined_as_list: true

  exact matches:
    description: >-
      A list of terms from different schemas or terminology systems that have
      an identical meaning. Such terms often describe the same concept from
      different ontological perspectives.
    multivalued: true

  narrow matches:
    description: >-
      A list of terms from different schemas or terminology systems that have
      a narrower meaning. Such terms often describe a more specific concept
      from different ontological perspectives.
    multivalued: true

  broad matches:
    description: >-
      A list of terms from different schemas or terminology systems that have
      a broader meaning. Such terms often describe a more general concept
      from different ontological perspectives.
    multivalued: true

  subject aspect qualifier:
    description: >-
      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which
      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that
      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an
      'affects' association.  This qualifier specifies a change in the subject of an association (aka: statement).
    examples:
      - value: stability
      - value: abundance
      - value: expression
      - value: exposure
    is_a: aspect qualifier
    range: GeneOrGeneProductOrChemicalEntityAspectEnum
    in_subset:
      - translator_minimal

  subject specialization qualifier:
    is_a: specialization qualifier
    description: >-
      A qualifier that composes with a core subject/object concept to define a more specific version of the
      subject 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
      subject identifier.
    in_subset:
      - translator_minimal
    range: uriorcurie

  subject form or variant qualifier:
    description: >-
      A qualifier that composes with a core subject/object concept to define a specific type, variant,
      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.
      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept
      ‘a mutation of Gene X’.  This qualifier specifies a change in the subject of an association (aka: statement).
    examples:
      - value: mutation
      - value: late stage
      - value: severe
      - value: transplant
      - value: chemical analog
    is_a: form or variant qualifier
    in_subset:
      - translator_minimal

  subject part qualifier:
    description: >-
      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can
      use to directly represent it).  This qualifier is for the
      subject of an association (or statement).
    examples:
      - value: polyA tail
      - value: upstream control region
    is_a: part qualifier
    in_subset:
      - translator_minimal

  subject derivative qualifier:
    description: >-
      A qualifier that composes with a core subject/object  concept to describe something that is derived from the
      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express
      the composed concept ‘a metabolite of Chemical X’.  This qualifier is for the subject of an association
      (or statement).
    examples:
      - value: metabolite
    is_a: derivative qualifier
    in_subset:
      - translator_minimal

  subject activity qualifier:
    is_a: process qualifier
    in_subset:
      - translator_minimal

  subject process qualifier:
    is_a: process qualifier
    in_subset:
      - translator_minimal

  subject context qualifier:
    description: >-
      A qualifier describing the context in which the subject of an association holds.
    is_a: context qualifier
    in_subset:
      - translator_minimal

  subject direction qualifier:
    description: >-
      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.
      This qualifier qualifies the subject of an association (aka: statement).
    examples:
      - value: increased
      - value: downregulated
    is_a: direction qualifier
    range: DirectionQualifierEnum
    in_subset:
      - translator_minimal

  object aspect qualifier:
    description: >-
      Composes with the core concept to describe new concepts of a different ontological type. e.g. a process in which
      the core concept participates, a function/activity/role held by the core concept, or a characteristic/quality that
      inheres in the core concept.  The purpose of the aspect slot is to indicate what aspect is being affected in an
      'affects' association.  This qualifier specifies a change in the object of an association (aka: statement).
    examples:
      - value: stability
      - value: abundance
      - value: expression
      - value: exposure
    is_a: aspect qualifier
    range: GeneOrGeneProductOrChemicalEntityAspectEnum
    in_subset:
      - translator_minimal

  object specialization qualifier:
    is_a: specialization qualifier
    description: >-
      A qualifier that composes with a core subject/object concept to define a more specific version of the
      subject 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
      subject identifier.
    in_subset:
      - translator_minimal
    range: uriorcurie

  object form or variant qualifier:
    description: >-
      A qualifier that composes with a core subject/object concept to define a specific type, variant,
      alternative version of this concept. The composed concept remains a subtype or instance of the core concept.
      For example, the qualifier ‘mutation’ combines with the core concept ‘Gene X’ to express the compose concept
      ‘a mutation of Gene X’.  This qualifier specifies a change in the object of an association (aka: statement).
    examples:
      - value: mutation
      - value: late stage
      - value: severe
      - value: transplant
      - value: chemical analog
    is_a: form or variant qualifier
    in_subset:
      - translator_minimal

  object part qualifier:
    description: >-
      defines a specific part/component of the core concept (used in cases there this specific part has no IRI we can
      use to directly represent it).  This qualifier is for the
      object of an association (or statement).
    examples:
      - value: polyA tail
      - value: upstream control region
    is_a: part qualifier
    in_subset:
      - translator_minimal

  object derivative qualifier:
    description: >-
      A qualifier that composes with a core subject/object  concept to describe something that is derived from the
      core concept.  For example, the qualifier ‘metabolite’ combines with a ‘Chemical X’ core concept to express
      the composed concept ‘a metabolite of Chemical X’.  This qualifier is for the object of an association
      (or statement).
    examples:
      - value: metabolite
    is_a: derivative qualifier
    in_subset:
      - translator_minimal

  object activity qualifier:
    is_a: process qualifier
    in_subset:
      - translator_minimal

  object process qualifier:
    is_a: process qualifier
    in_subset:
      - translator_minimal

  object context qualifier:
    description: >-
      A qualifier describing the context in which the object of an association holds.
    is_a: context qualifier
    in_subset:
      - translator_minimal

  object direction qualifier:
    description: >-
      Composes with the core concept (+ aspect if provided) to describe a change in its direction or degree.
      This qualifier qualifies the object of an association (aka: statement).
    examples:
      - value: increased
      - value: downregulated
    is_a: direction qualifier
    range: DirectionQualifierEnum
    in_subset:
      - translator_minimal

  qualified predicate:
    is_a: qualifier
    description: >-
      Predicate to be used in an association when subject and object qualifiers are present and the full
      reading of the statement requires a qualification to the predicate in use in order to refine or
      increase the specificity of the full statement reading.  Has a value from the Biolink
      'related_to' hierarchy, for example, biolink:related_to, biolink:causes, biolink:treats
      This qualifier holds a relationship to be used instead of that expressed by the primary predicate,
      in a ‘full statement’ reading of the association, where qualifier-based semantics are included.
      This is necessary only in cases where the primary predicate does not work in a full statement reading.
    examples:
      - value: biolink:causes
        description: used with `affects` predicate to express causal statements
    range: uriorcurie
    notes:
      - >-
        to express the statement that “Chemical X causes increased expression of Gene Y”, the core triple is read
        using the fields subject:ChemX, predicate:affects, object:GeneY . . . and the full statement is read using
        the fields subject:ChemX, qualified_predicate:causes, object:GeneY, object_aspect: expression,
        object_direction:increased. The predicate ‘affects’ is needed for the core triple reading, but does not make
        sense in the full statement reading  (because “Chemical X affects increased expression of Gene Y'' is not
        what we mean to say here: it causes increased expression of Gene Y)

  statement qualifier:
    is_a: qualifier
    description: >-
      A property that qualifies the entirety of the statement made in an association.  It applies to both
      a fully qualified subject and a fully qualified object as well as the predicate and qualified predicate
      in an association.
    in_subset:
      - translator_minimal

  causal mechanism qualifier:
    is_a: statement qualifier
    description: >-
      A statement qualifier representing a type of molecular control mechanism through which an
      effect of a chemical on a gene or gene product is mediated
    examples:
      - value: agonism
      - value: inhibition
    range: CausalMechanismQualifierEnum
    in_subset:
      - translator_minimal

  anatomical context qualifier:
    is_a: statement qualifier
    description: >-
      A statement qualifier representing an anatomical location where an relationship expressed in an
      association took place (can be a tissue, cell type, or sub-cellular location).
    notes:
      - >-
        Anatomical context values can be any term from UBERON. For example, the context qualifier ‘cerebral cortext’
        combines with a core concept of ‘neuron’
        to express the composed concept ‘neuron in the cerebral cortext’. The species_context_qualifier applies
        taxonomic context.  Ontology CURIEs are expected as values here, the examples below are intended to help
        clarify the content of the CURIEs.
    examples:
      - value: UBERON:0000178
        description: blood
      - value: UBERON:0000956
        description: cerebral cortex
      - value: GO:0005794
        description: Golgi apparatus
    in_subset:
      - translator_minimal
    multivalued: true

  species context qualifier:
    is_a: statement qualifier
    description: >-
      A statement qualifier representing a taxonomic category of species in which a relationship
      expressed in an association took place.
    range: organism taxon
    examples:
      - value: NCBITaxon:7955
        description: zebrafish
      - value: NCBITaxon:9606
        description: human
    notes:
      - Ontology CURIEs are expected as values here, the examples below are intended to help clarify the content of the CURIEs.
    in_subset:
      - translator_minimal

  disease context qualifier:
    is_a: context qualifier
    description: >-
        A context qualifier representing a disease or condition in which a relationship expressed in an association took place.
    range: disease
    examples:
      - value: MONDO:0004979
        description: asthma
      - value: MONDO:0005148
        description: type 2 diabetes mellitus
    in_subset:
      - translator_minimal

  association basis qualifier:
    is_a: statement qualifier
    description: >-
      A statement-level qualifier used with the 'associated with' predicate (or one of its subpredicates)
      to indicate the biological, clinical, or statistical basis of the asserted association. Use this qualifier
      when no more specific predicate exists to capture the intended meaning of the association.
    range: AssociationBasisEnum
    in_subset:
      - translator_minimal

  statistical significance qualifier:
    is_a: statement qualifier
    description: >-
      A statement qualifier that categorizes an association's evidence by
      statistical significance into coarse bands, as a categorical companion to
      the numeric 'p value' and 'adjusted p value' slots. It applies only to
      assessments derived from a quantitative significance statistic (raw p-value,
      multiple-testing-adjusted p-value, or q-value/FDR), and MUST NOT encode
      ordinal study-stage, evidence-tier, or confidence-level labels (e.g. clinical
      trial phases) that are not statistical-significance statements.
    notes:
      - >-
        Enforced via a class rule on `association`: this qualifier may only be set
        when 'p value' or 'adjusted p value' is also populated (the numeric slots
        remain authoritative).
      - >-
        Bands use conventional defaults (alpha = 0.05); when a source's cutoffs
        differ, place the value in the closest band and always also populate the
        numeric slot(s).
    examples:
      - value: very_strongly_significant
      - value: strongly_significant
      - value: significant
      - value: suggestive
      - value: not_significant
    range: StatisticalSignificanceQualifierEnum
    in_subset:
      - translator_minimal

  qualifiers:
    deprecated: "true"
    description: >-
      connects an association to qualifiers that modify or
      qualify the meaning of that association
    local_names:
      ga4gh: annotation qualifier
    is_a: association slot
    multivalued: true
    range: ontology class

  frequency qualifier:
    is_a: qualifier
    description: >-
      a qualifier used in a phenotypic association to state how frequent the phenotype is observed in the subject
    range: frequency value
    in_subset:
      - translator_minimal

  severity qualifier:
    deprecated: "true"
    description: >-
      a qualifier used in a phenotypic association to state
      how severe the phenotype is in the subject
    is_a: qualifier
    range: severity value
    in_subset:
      - translator_minimal

  sex qualifier:
    description: >-
      a qualifier used in a phenotypic association to state whether
      the association is specific to a particular sex.
    is_a: qualifier
    range: biological sex
    in_subset:
      - translator_minimal

  onset qualifier:
    description: >-
      a qualifier used in a phenotypic association to state
      when the phenotype appears is in the subject.
    notes:
      - >-
        This  is in Biolink to support HP ontology annotations which use "onset" (with terms from HP)
        as an annotation on a disease to phenotypic feature association.  Please only use it for this
        purpose.  If the intent is to describe the onset of a disease in the context of a treatment,
        use object_aspect_qualifier and object_direction_qualifier to capture "delayed onset" or "exacerbated onset"
        slot.
    is_a: qualifier
    range: onset
    in_subset:
      - translator_minimal

  clinical modifier qualifier:
    description: >-
      the method or process of administering a pharmaceutical compound to achieve a therapeutic
      effect in humans or animals.
    is_a: association slot
    range: clinical modifier

  sequence variant qualifier:
    description: >-
      a qualifier used in an association with the variant
    is_a: association slot
    range: sequence variant

  quantifier qualifier:
    is_a: association slot
    range: ontology class
    description: >-
      A measurable quantity for the object of the association
    narrow_mappings:
       # TODO: RTX contributed terms mapped here... May need review?
      - LOINC:analyzes
      - LOINC:measured_by
      - LOINC:property_of
      - SEMMEDDB:MEASURES
      - UMLS:measures

  catalyst qualifier:
    is_a: association slot
    multivalued: true
    range: macromolecular machine mixin
    description: >-
      a qualifier that connects an association between two causally connected
      entities (for example, two chemical entities, or a chemical entity in
      that changes location) and the gene product, gene, or complex that
      enables or catalyzes the change.

  stage qualifier:
    description: >-
      stage during which gene or protein expression of takes place.
    is_a: statement qualifier
    range: life stage
     # path: "object/during"
    examples:
      - value: UBERON:0000069
        description: larval stage
    in_subset:
      - translator_minimal

   ## --------------------
   ## PREDICATES/RELATIONS
   ## --------------------

  related to:
    description: >-
      A relationship that is asserted between two named things
    domain: named thing
    range: named thing
    multivalued: true
    inherited: true
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - UMLS:related_to
    broad_mappings:
      - owl:topObjectProperty
    narrow_mappings:
      - SEMMEDDB:compared_with
      - SEMMEDDB:higher_than
      - SEMMEDDB:lower_than
      - SEMMEDDB:ADMINISTERED_TO
      - SEMMEDDB:ASSOCIATED_WITH
      - BFO:0000054
      - UBERON_CORE:protects
      - GOREL:0002005
      - GOREL:0012006
       # several of the following terms mapped here by RTX could merit upgrade to new Biolink terms
      - BTO:related_to
      - CHEBI:is_conjugate_acid_of
      - CHEBI:is_conjugate_base_of
      - CPT:has_add_on_code
      - CPT:mapped_to
      - EFO:0006351
      - FMA:connected_to
      - FMA:continuous_with
      - FMA:homonym_of
      - FMA:related_developmental_entity_of
      - RO:0002093
      - RO:0002092
      - RO:0002084
      - HCPCS:mapped_to
       # RTX contributed terms, perhaps belong somewhere else with more precise semantics?
      - HMDB:disease
      - HMDB:has_protein_association
      - IAO:0000136
      - LOINC:has_answer
      - LOINC:has_challenge
      - LOINC:has_evaluation
      - LOINC:mapped_to
      - LOINC:mth_has_expanded_form
      - MESH:RO
      - MESH:has_mapping_qualifier
      - MESH:mapped_to
      - MONDO:disease_shares_features_of
      - NCIT:disease_may_have_associated_disease
      - NCIT:human_disease_maps_to_eo_disease
      - NCIT:is_abnormal_cell_of_disease
      - NCIT:is_related_to_endogenous_product
      - UBERON_NONAMESPACE:connected_to
      - UBERON_NONAMESPACE:innervated_by
      - NBO-PROPERTY:is_about
      - RO:0000053  # bearer_of
      - PATO:reciprocal_of
      - RO:0000052
      - RO:0002001
      - RO:0002002
      - RO:0002003
      - RO:0002008
      - RO:0002134
      - RO:0002150
      - RO:0002159
      - RO:0002176
      - RO:0002177
      - RO:0002178
      - RO:0002179
      - RO:0002314
      - RO:0002322
       # functionally related to
      - RO:0002328
      - RO:0002332
      - RO:0002338
      - RO:0002339
      - RO:0002341
      - RO:0002342
      - RO:0002344
      - RO:0002348
      - RO:0002349
      - RO:0002356
      - RO:0002371
      - RO:0002372
      - RO:0002373
      - RO:0002374
      - RO:0002385
      - RO:0002387
      - RO:0002451
      - RO:0002494
      - RO:0002495
      - RO:0002568
      - RO:0002573
      - RO:0004026
      - RO:0004027
      - RO:0009001
      - RO:0009004
      - RXNORM:has_form
      - RXNORM:reformulated_to
      - SNOMED:has_associated_morphology
      - SNOMED:has_associated_procedure
      - SNOMED:has_direct_morphology
      - SNOMED:has_disposition
      - SNOMED:has_indirect_morphology
      - SNOMED:has_modification
      - SNOMED:has_procedure_morphology
      - SNOMED:has_specimen_source_morphology
      - SNOMED:inheres_in
      - SNOMED:is_interpreted_by
      - SNOMED:relative_to_part_of
      - UBERON:synapsed_by
      - UMLS:RO
      - UMLS:RQ
      - UMLS:class_code_classified_by
      - UMLS:exhibited_by
      - UMLS:has_context_binding
      - UMLS:has_form
      - UMLS:has_mapping_qualifier
      - UMLS:larger_than
      - UMLS:mapped_to
      - UMLS:owning_section_of

  related to at concept level:
    is_a: related to
    description: >-
      Represents a relationship held between terminology components that describe the conceptual model of a domain.
    annotations:
      canonical_predicate: true
    symmetric: true

  related to at instance level:
    is_a: related to
    description: >-
      Represents a relationship held between two instances of a data classes.  Much like an assertion component,
      in an ABox, these represent facts associated with the conceptual model.
    annotations:
      canonical_predicate: true
    symmetric: true

  associated with:
    is_a: related to at instance level
    description: >-
      Indicates a non-causal association between two entities. Such associations are most commonly established
      through statistical analysis demonstrating that observations of the entities are not statistically independent,
      but may also be supported by other forms of evidence that establish a meaningful association. When representing
      a statistical association, the subject and object may correspond directly to the variables analyzed, or
      to the biological or clinical entities represented/described by those variables (e.g., diseases, genes,
      chemical entities, biological processes, or phenotypes).  The 'association basis qualifier' may be used to
      constrain the scope of this predicate within a statement if no more specific child predicate provides a more
      precise semantic context for the association.
    annotations:
      canonical_predicate: true
    symmetric: true
    domain: named thing
    range: named thing
    narrow_mappings:
      - RO:0004029
      - SNOMEDCT:47429007

  superclass of:
    is_a: related to at concept level
    inverse: subclass of
    description: >-
      holds between two classes where the domain class is a super class of the range class
    domain: ontology class
    range: ontology class
    multivalued: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - WIKIDATA:Q66088480
      - CHEMBL.MECHANISM:superset_of
      - GO:inverse_isa
      - RXNORM:inverse_isa
      - MESH:inverse_isa
      - VANDF:inverse_isa
    narrow_mappings:
      - NCIT:cdrh_parent_of
      - NCIT:ctcae_5_parent_of
      - NCIT:subset_includes_concept
      - OMIM:has_manifestation
      - SNOMED:has_basic_dose_form
      - UMLS:RB

  subclass of:
    is_a: related to at concept level
    description: >-
      holds between two classes where the domain class is a specialization of the range class
    domain: ontology class
    range: ontology class
    multivalued: true
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    close_mappings:
       # RTX
      - LOINC:class_of
      - LOINC:has_class
    exact_mappings:
      - rdfs:subClassOf
      - SEMMEDDB:ISA
      - WIKIDATA_PROPERTY:P279
      - CHEMBL.MECHANISM:subset_of
      - GO:isa
      - MESH:isa
      - RXNORM:isa
      - VANDF:isa
    narrow_mappings:
      - CHEBI:has_parent_hydride
      - LOINC:has_archetype
      - LOINC:has_parent_group
      - LOINC:is_presence_guidance_for
      - NCIT:gene_product_has_chemical_classification
       # RTX mapped terms classes for biomarkers
      - NCIT:R36
      - NCIT:R42
      - NCIT:A16
      - NCIT:A11
      - NCIT:A14
      - NCIT:A3
      - NDDF:has_dose_form
      - RXNORM:has_dose_form
      - RXNORM:has_doseformgroup
      - SNOMED:entire_anatomy_structure_of
      - SNOMED:has_dose_form
       # RTX mapping
      - rdfs:subPropertyOf

  same as:
    is_a: exact match
    description: >-
      holds between two entities that are considered equivalent to each other
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    close_mappings:
       # identical class extension with identical sets of individuals
      - owl:equivalentClass
    exact_mappings:
       # identical individual, or identical class concept/meaning
      - owl:sameAs
      - skos:exactMatch
       # Semantic Medline definition: "comparative predicate" where the equivalence could simply be functional
       # RTX suggests mapping this to proposed new "biolink:close_match" predicate instead
       # - SEMMEDDB:same_as
      - WIKIDATA_PROPERTY:P2888
      - CHEMBL.MECHANISM:equivalent_to
      - MONDO:equivalentTo
    narrow_mappings:
      - DRUGBANK:external-identifier

  close match:
    is_a: related to at concept level
    description: >-
      a list of terms from different schemas or terminology systems that have
      a semantically similar but not strictly equivalent, broader, or narrower
      meaning. Such terms often describe the same general concept from
      different ontological perspectives.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - skos:closeMatch
       # Semantic Medline definition: "comparative predicate" where the equivalence could simply be functional
      - SEMMEDDB:same_as
    narrow_mappings:
      - CHEBI:is_enantiomer_of
      - CHEBI:is_tautomer_of
      - MEDDRA:classified_as
      - oboInOwl:hasDbXref
      - RXNORM:has_quantified_form
      - UMLS:SY

  exact match:
    is_a: close match
    description: >-
      holds between two entities that have strictly equivalent
      meanings, with a high degree of confidence
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - skos:exactMatch
      - WIKIDATA:Q39893449
      - WIKIDATA:P2888

  broad match:
    description: >-
      a list of terms from different schemas or terminology systems
      that have a broader, more general meaning. Broader terms are
      typically shown as parents in a hierarchy or tree.
    is_a: related to at concept level
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
      opposite_of: narrow match
    exact_mappings:
      - skos:broadMatch
      - WIKIDATA:Q39894595

  narrow match:
    description: >-
      a list of terms from different schemas or terminology systems
      that have a narrower, more specific meaning. Narrower terms are
      typically shown as children in a hierarchy or tree.
    is_a: related to at concept level
    inverse: broad match
    in_subset:
      - translator_minimal
    exact_mappings:
      - skos:narrowMatch
      - WIKIDATA:Q39893967
    annotations:
      opposite_of: broad match

  member of:
    description: >-
      Defines a mereological relation between a item and a collection.
    is_a: related to at concept level
    inverse: has member
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002350
    close_mappings:
      - skos:member

  has member:
    description: >-
      Defines a mereological relation between a collection and an item.
    is_a: related to at concept level
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002351
      - skos:member

  opposite of:
    description: >-
      x is the opposite of y if there exists some distance metric M, and there exists
      no z such as M(x,z) <= M(x,y) or M(y,z) <= M(y,x). (This description is from RO. Needs to be rephrased).
    is_a: related to at instance level
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002604
    see_also:
      - https://doi.org/10.1101/108977
      - https://github.com/biolink/biolink-model/issues/657

  affects likelihood of:
    is_a: related to at instance level
    description: >-
      Holds between two entities where the presence or application of one alters the chance that the other will come
      to be.
    notes:
      - >-
        - This predicate implies causation, where the 'affected' entity is something that does not yet exist, and the
        actions/execution of effector impact the likelihood that this entity may come to be. It is NOT to be used
        for a statistical associations that describe correlations between two feature variables (use predicates
        in the 'associated with likelihood of' hierarchy here.)
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal

  likelihood affected by:
    is_a: related to at instance level
    inverse: affects likelihood of

  associated with likelihood of:
    is_a: associated with
    description: >-
      A a relationship that holds between two concepts represented by variables for which a statistical
      dependence is demonstrated, wherein the state or value of one variable predicts the future state
      or value of the other.  E.g. the statement “An Atrial Fibrillation (Afib) diagnosis is associated
      with likelihood of a Myocardial Infraction (MI) diagnosis” asserts that the state of having Afib
      is associated with an increased or decreased likelihood that a patient will later exhibit MI.
    annotations:
      canonical_predicate: true

  likelihood associated with:
    is_a: associated with
    description: >-
    inverse: associated with likelihood of

  associated with increased likelihood of:
    is_a: associated with likelihood of
    description: >-
      Expresses a relationship between two named things where the relationship is typically generated statistically
      and the state or fact of something is more probable.
    annotations:
      canonical_predicate: true

  increased likelihood associated with:
    is_a: likelihood associated with
    description: >-
    inverse: associated with increased likelihood of

  associated with decreased likelihood of:
    is_a: associated with likelihood of
    description: >-
      Expresses a relationship between two named things where the relationship is typically generated statistically
      and the state or fact of something is less probable.
    annotations:
      canonical_predicate: true

  decreased likelihood associated with:
    is_a: likelihood associated with
    description: >-
    inverse: associated with decreased likelihood of

  target for:
    is_a: related to at instance level
    description: >-
      A gene is a target of a disease when its products are druggable and when a drug interaction with the gene
      product could have a therapeutic effect
    annotations:
      canonical_predicate: true
    domain: gene
    range: disease

  has target:
    is_a: related to at instance level
    inverse: target for
    domain: disease
    range: gene

  active in:
    description: >-
      Holds between a gene or gene product and a cellular component in which it carries out its
      molecular function.
    is_a: related to at instance level
    domain: gene or gene product
    range: cellular component
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002432

  has active component:
    is_a: related to at instance level
    inverse: active in
    domain: cellular component
    range: gene or gene product

  acts upstream of:
    description: >-
      Holds between a gene or gene product and a biological process such that the molecular function
      of the gene product, by way of a chain of causally linked events, is upstream of and
      contributes to the execution of the process.
    is_a: related to at instance level
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002263

  has upstream actor:
    is_a: related to at instance level
    inverse: acts upstream of
    domain: biological process
    range: gene or gene product

  acts upstream of positive effect:
    description: >-
      Holds between a gene or gene product and a biological process where the molecular function
      of the gene product is upstream of and has a positive (activating or increasing) effect on
      the execution of the process.
    is_a: acts upstream of
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0004034

  has positive upstream actor:
    is_a: has upstream actor
    inverse: acts upstream of positive effect
    domain: biological process
    range: gene or gene product

  acts upstream of negative effect:
    description: >-
      Holds between a gene or gene product and a biological process where the molecular function
      of the gene product is upstream of and has a negative (inhibiting or decreasing) effect on
      the execution of the process.
    is_a: acts upstream of
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0004035

  has negative upstream actor:
    is_a: has upstream actor
    inverse: acts upstream of negative effect
    domain: biological process
    range: gene or gene product

  acts upstream of or within:
    description: >-
      Holds between a gene or gene product and a biological process when the gene product either
      acts upstream of the process or participates in it; used when the more specific causal
      relationship is not known. Corresponds to RO:0002264.
    is_a: acts upstream of
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002264

  has upstream or within actor:
    is_a: has upstream actor
    inverse: acts upstream of or within
    domain: biological process
    range: gene or gene product

  acts upstream of or within positive effect:
    description: >-
      Holds between a gene or gene product and a biological process when the gene product acts
      upstream of or within the process with a positive (activating or increasing) effect on its
      execution. Corresponds to RO:0004032.
    is_a: acts upstream of or within
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0004032

  has positive upstream or within actor:
    is_a: has upstream or within actor
    inverse: acts upstream of or within positive effect
    domain: biological process
    range: gene or gene product

  acts upstream of or within negative effect:
    description: >-
      Holds between a gene or gene product and a biological process when the gene product acts
      upstream of or within the process with a negative (inhibiting or decreasing) effect on its
      execution. Corresponds to RO:0004033.
    is_a: acts upstream of or within
    domain: gene or gene product
    range: biological process
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0004033

  has negative upstream or within actor:
    is_a: has upstream or within actor
    inverse: acts upstream of or within negative effect
    domain: biological process
    range: gene or gene product

     ## Publication related predicates
  mentions:
    description: >-
      refers to is a relation between one information content entity and the named thing
      that it makes reference to.
    is_a: related to at instance level
    exact_mappings:
      - IAO:0000142
    narrow_mappings:
      - SIO:000628

  mentioned by:
    description: >-
      refers to is a relation between one named thing and the information content entity
      that it makes reference to.
    is_a: related to at instance level
    inverse: mentions

   ## Publication related predicates

  contributor:
    description: >-
      Links an information content entity (such as a dataset, publication, or software artefact) to
      an agent responsible for making contributions to it. Used as an abstract grouping predicate
      over more specific contribution roles (author, editor, publisher, provider). Corresponds to
      dct:contributor.
    is_a: related to at instance level
    domain: agent
    range: information content entity
    comments:
      - This is a grouping for predicates relating entities to their associated contributors realizing them
    abstract: true
    exact_mappings:
      - dct:contributor

  has contributor:
    inverse: contributor
    is_a: related to at instance level
    domain: information content entity
    range: agent

  provider:
    is_a: contributor
    description: >-
      person, group, organization or project that provides a piece of information.

  has provider:
    inverse: provider
    is_a: has contributor
    domain: information content entity
    range: agent

  publisher:
    is_a: contributor
    domain: agent
    range: publication
    description: >-
      organization or person responsible for publishing books, periodicals, podcasts, games or software.
      Note that in the case of publications which have a containing "published in" node property, the publisher
      association may not be attached directly to the embedded child publication, but only made in between the
      parent's publication node and the publisher agent of the encompassing publication
      (e.g. only from the Journal referenced by the 'published_in' property of an journal article Publication node).
    exact_mappings:
      - dct:publisher
      - WIKIDATA_PROPERTY:P123

  has publisher:
    is_a: has contributor
    inverse: publisher
    domain: publication
    range: agent

  editor:
    is_a: contributor
    domain: agent
    range: publication
    description: >-
      editor of a compiled work such as a book or a periodical (newspaper or an academic journal).
      Note that in the case of publications which have a containing "published in" node property, the editor
      association may not be attached directly to the embedded child publication, but only made in between the
      parent's publication node and the editorial agent of the encompassing publication
      (e.g. only from the Book referenced by the 'published_in' property of a book chapter Publication node).
    exact_mappings:
      - WIKIDATA_PROPERTY:P98

  has editor:
    inverse: editor
    is_a: has contributor
    domain: publication
    range: agent

  author:
    is_a: contributor
    domain: agent
    range: publication
    description: >-
      an instance of one (co-)creator primarily responsible for a written work
    exact_mappings:
      - dct:creator
      - WIKIDATA_PROPERTY:P50

  has author:
    inverse: author
    is_a: has contributor
    domain: publication
    range: agent

   ## end of Publication related predicates

  was tested for effect on:
    deprecated: "true"
    is_a: related to at instance level
    aliases: ['was assayed against', 'was experimentally tested against']
    description: >-
      Reports that the subject was interrogated in an experiment to determine how it may affect the object.
      A relationship between some perturbing agent (usually a chemical compound) and some target entity,
      where the affect of the perturbing agent on the target entity was interrogated in a particular assay.
      The target might be a particular protein, tissue, phenotype, whole organism, cell line, or other type
      of biological entity.
    domain: named thing
    range: named thing
    annotations:
      canonical_predicate: true

  was tested for effect of:
    deprecated: "true"
    is_a: related to at instance level
    inverse: was tested for effect on
    domain: named thing
    range: named thing

  interacts with:
    domain: named thing
    range: named thing
    description: >-
      holds between any two entities that directly or indirectly interact with each other in a physical or
      functional way.
    is_a: related to at instance level
    in_subset:
      - translator_minimal
    symmetric: true
    mixin: true
    exact_mappings:
      - SEMMEDDB:INTERACTS_WITH
    notes:
      - >-
        A note on 'interacts with' vs 'affects': These are related but separate relationships. An interaction
        may or may not involve one interactor exerting an effect on the other. It simply indicates that two
        entities participate in a physical or functional relationship (e.g. molecular binding, genetic interactions
        such as epistasis, or pharmacological interactions in which the combined behavior of two drugs differs from
        that of either drug alone). An 'effect' may be mediated by an interaction or may arise without any direct
        interaction, through a chain of intermediary events. Any effect or causal influence must be asserted using a
        predicate in the affects or causes hierarchy.
      - >-
        Please use a more specific child predicate of interacts with, either physically interacts with
        or genetically interacts with or pharmacologically interacts with.

  physically interacts with:
    is_a: interacts with
    description: >-
      holds between two entities that make physical contact as part of some interaction.
      does not imply a causal relationship.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    broad_mappings:
      - WIKIDATA_PROPERTY:P129
    narrow_mappings:
       # Defined more narrowly as "substance interaction", thus specific applies to a subclass entities
      - DRUGBANK:drug-interaction
      - FMA:adheres_to
      - NCIT:A7
      - PR:non-covalently_bound_to
    mixins:
      - interacts with

  directly physically interacts with:
    is_a: physically interacts with
    description: >-
      A causal mechanism mediated by a direct contact between the effector and target entities (this contact may
      be weak or strong, transient or stable).
    symmetric: true
    exact_mappings:
      - RO:0002436
    broad_mappings:
       # Definition of this term is more generic than direct physical molecular interactions:
       # A is connected to B iff there exists a fiat, material or temporal path between A and B.
      - SIO:000203
      - RO:0002578
    narrow_mappings:
      - PHAROS:drug_targets
      - DRUGBANK:chelator
      - CTD:affects_binding
      - DGIdb:cofactor
    annotations:
      canonical_predicate: true

  binds:
    deprecated: "true"
    is_a: directly physically interacts with
    description: >-
      A causal mechanism mediated by the direct contact between effector and target chemical or biomolecular entity,
      which form a stable physical interaction.
    symmetric: true
    annotations:
      canonical_predicate: true
    close_mappings:
      - DGIdb:binder

  indirectly physically interacts with:
    description: >-
      Holds between two entities that physically interact by way of one or more intermediary
      entities, rather than through direct physical contact.
    is_a: physically interacts with
    symmetric: true
    annotations:
      canonical_predicate: true

  genetically interacts with:
    is_a: interacts with
    description: >-
      holds between two genes whose phenotypic effects are dependent on each
      other in some way - such that their combined phenotypic effects are the
      result of some interaction between the activity of their gene products.
      Examples include epistasis and synthetic lethality.
    domain: gene
    range: gene
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    symmetric: true
    exact_mappings:
      - RO:0002435

  pharmacologically interacts with:
    aliases: ['drug drug interaction']
    is_a: interacts with
    description: >-
      holds between two pharmacologically active chemicals (typically drugs), where one alters
      the availability, efficacy, or toxicity of the other in the body when taken simultaneously
      - typically by altering how the body processes the chemical (pharmacokinetics) or how the
      chemical acts on the body (pharmacodynamics).
    domain: chemical entity
    range: chemical entity
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    symmetric: true

  gene_fusion_with:
    is_a: genetically interacts with
    description: >-
      holds between two independent genes that have fused through
      translocation, interstitial deletion, or chromosomal inversion to
      form a new, hybrid gene. Fusion genes are often implicated in various neoplasms
      and cancers.
    domain: gene
    range: gene
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    symmetric: true

  genetic_neighborhood_of:
    is_a: genetically interacts with
    description: >-
      holds between two genes located nearby one another on a chromosome.
    domain: gene
    range: gene
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    symmetric: true

  affects:
    is_a: related to at instance level
    description: >-
      Describes an entity that has an effect on the state or quality of another existing entity.
    notes:
      - >-
        A note on 'affects' vs 'interacts with': These are related but separate relationships.
        An interaction may or may not involve one interactor exerting an effect on the other.
        Effects may be mediated by an interaction or may arise without any direct interaction,
        through a chain of intermediary events. An affects relationship asserts that one entity
        directly or indirectly exerts a meaningful influence on the activity, state, abundance,
        function, or properties of another entity. Unlike an interaction, an effect is directional:
        the subject changes, modulates, perturbs, regulates, or otherwise influences the object, even
        if no direct physical interaction occurs. Use interacts_with only when the relationship describes
        an interaction or association without asserting that one entity exerts an effect on the other.
      - >-
        Use of the 'affects' predicate implies that the affected entity already exists, unlike predicates such as
        'affects likelihood of' and 'prevents' where the effect concerns whether or when something may or
        may not come into existence.
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    related_mappings:
       # Contributed by RTX. Seems possible that a new predicate "biolink:in_pathway" could be justified?
      - DRUGBANK:pathway
    exact_mappings:
      - SEMMEDDB:AFFECTS
      - DGIdb:affects
    narrow_mappings:
      - CTD:prediction_hypothesis
      - GOREL:0001006
      - CTD:inferred
      - UPHENO:0000001
      - RO:0002263
      - RO:0002264
      - NCIT:R158
      - NCIT:R160
      - NCIT:R30
      - NCIT:R150
      - NCIT:R72
      - NCIT:R146
      - NCIT:R124
      - NCIT:R173
      - NCIT:R100
      - NCIT:R102
      - NCIT:R101
      - NCIT:R113
      - NCIT:R23
      - NCIT:R25
      - NCIT:gene_mapped_to_disease
      - NCIT:R133
      - RO:0002343
      - RO:0002355
      - RO:0002591
      - RO:0002592
      - RO:0012003
      - SNOMED:has_pathological_process
      - UBERGRAPH:is_increase_of  # talked to Jim Balhoff, this is a valid mapping
      - UBERGRAPH:is_decrease_of  # talked to Jim Balhoff, this is a valid mapping

  affected by:
    is_a: related to at instance level
    description: >-
      describes an entity of which the state or quality is affected by
      another existing entity.
    inverse: affects

  associated with response to:
    is_a: associated with
    description: >-
      A statistical association used to indicate that the object of a statement using this predicate
      induces a response of some kind in the subject entity.  Intentionally broad in definition, this predicate
      should be used with qualifiers to narrow the type of response (E.g. whether the response is therapeutic,
      phenotypic, detrimental, resistant, etc. is captured in context, direction, and
      aspect qualifiers).
    annotations:
      canonical_predicate: true

  response associated with:
    is_a: associated with
    inverse: associated with response to

  associated with sensitivity to:
    is_a: associated with response to
    description: >-
      A relation that holds between a named thing and a chemical
      that specifies that the change in the named
      thing is found to be associated with the degree of sensitivity to treatment by the chemical.
    domain: named thing
    range: chemical entity
    annotations:
      canonical_predicate: true
    broad_mappings:
      - PATO:0000085  # sensitivity toward
    narrow_mappings:
      - SNOMEDCT:418038007  # propensity to adverse reaction

  sensitivity associated with:
    is_a: response associated with
    inverse: associated with sensitivity to
    range: named thing
    domain: chemical entity

  associated with resistance to:
    is_a: associated with response to
    description: >-
      A relation that holds between a named thing and a chemical
      that specifies that the change in the named
      thing is found to be associated with the degree of resistance to treatment by the chemical.
    domain: named thing
    range: chemical entity
    annotations:
      canonical_predicate: true

  resistance associated with:
    is_a: response associated with
    inverse: associated with resistance to
    range: named thing
    domain: chemical entity

  diagnoses:
    is_a: related to at instance level
    description: >-
      a relationship that identifies the nature of (an illness or other problem) by examination
      of the symptoms.
    domain: diagnostic aid
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    close_mappings:
      - NCIT:C15220  # diagnosis
      - SIO:001331  # diagnosis
    exact_mappings:
      - DrugCentral:5271
      - SEMMEDDB:DIAGNOSES

  is diagnosed by:
    is_a: related to at instance level
    inverse: diagnoses
    domain: disease or phenotypic feature
    range: diagnostic aid

  increases amount or activity of:
    deprecated: "true"
    is_a: related to at instance level
    mixin: true
    description: >-
      A grouping mixin to help with searching for all the predicates that increase the amount
      or activity of the object.

  amount or activity increased by:
    deprecated: "true"
    is_a: related to at instance level
    inverse: increases amount or activity of

  decreases amount or activity of:
    deprecated: "true"
    is_a: related to at instance level
    mixin: true
    description: >-
      A grouping mixin to help with searching for all the predicates that decrease the amount
      or activity of the object.

  amount or activity decreased by:
    deprecated: "true"
    is_a: related to at instance level
    inverse: decreases amount or activity of

   ## role mixins for use in tagging corresponding role predicates

  chemical role mixin:
    description: >-
      A role played by the chemical entity or part thereof within a chemical context.
    mixin: true
    exact_mappings:
      - CHEBI:51086

  biological role mixin:
    description: >-
      A role played by the chemical entity or part thereof within a biological context.
    mixin: true
    narrow_mappings:
      - CHEBI:24432

  affects sensitivity to:
    is_a: related to at instance level
    description: >-
      holds between two chemical entities or genes or gene products where the action of one affects
      the susceptibility/sensitivity of a biological entity or system to the other.
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    annotations:
      canonical_predicate: true
    exact_mappings:
      - CTD:affects_response_to

  sensitivity affected by:
    is_a: related to at instance level
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    inverse: affects sensitivity to

  increases sensitivity to:
    description: >-
      holds between two chemical entities or genes or gene products where the action or effect of one
      increases the susceptibility/sensitivity of a biological entity or system to the other
    is_a: affects sensitivity to
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    annotations:
      canonical_predicate: true
      opposite_of: decreases sensitivity to
    exact_mappings:
      - CTD:increases_response_to

  sensitivity increased by:
    is_a: sensitivity affected by
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    inverse: increases sensitivity to

  decreases sensitivity to:
    description: >-
      holds between two chemical entities or genes or gene products where the action or effect of one
      decreases the susceptibility/sensitivity of a biological entity or system  to the other
    is_a: affects sensitivity to
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    annotations:
      canonical_predicate: true
      opposite_of: increases sensitivity to
    exact_mappings:
      - CTD:decreases_response_to
    narrow_mappings:
      - CTD:decreases_response_to_substance

  sensitivity decreased by:
    is_a: sensitivity affected by
    in_subset:
      - translator_minimal
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    inverse: decreases sensitivity to

  regulates:
    is_a: affects
    description: >-
      A more specific form of affects, that implies the effect results from a biologically evolved control mechanism.
      Gene-affects-gene relationships will (almost) always involve regulation.  Exogenous/environmental chemical-affects-gene relationships
      are not cases of regulation in this definition. Instead these would be captured using the 'affects' predicate, or
      possibly one of the 'interacts with' predicates depending on the nature of the interaction.
    domain: physical essence or occurrent
    range: physical essence or occurrent
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002448
    broad_mappings:
       # https://www.wikidata.org/wiki/Property:P128 - regulates (molecular biology)
      - WIKIDATA_PROPERTY:P128
      - CHEMBL.MECHANISM:modulator
      - RO:0002295
      - RO:0002332
      - RO:0002448
    notes:
      - >-
        The RO definition of 'directly regulates the activity of' is an exact_mapping here because
        it describes genetic regulation from the point of view of one genetic entity regulating another, as opposed to
        "RO:0002211" which describes process to process regulation.
    mixins:
      - interacts with

  regulated by:
    is_a: affected by
    domain: physical essence or occurrent
    range: physical essence or occurrent
    inverse: regulates

  disrupts:
    is_a: affects
    aliases: ['disease causes disruption of']
    description: >-
      describes a relationship where one entity degrades or interferes
      with the structure, function, or occurrence of another.
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
      opposite_of: enables
    exact_mappings:
      - SEMMEDDB:DISRUPTS
      - CHEMBL.MECHANISM:disrupting_agent
    narrow_mappings:
      - RO:0004024
      - RO:0004025

  disrupted by:
    is_a: affected by
    description: >-
      describes a relationship where the structure, function, or occurrence
      of one entity is degraded or interfered with by another.
    inverse: disrupts

  gene product of:
    is_a: related to at instance level
    description: >-
      definition x has gene product of y if and only if y is a gene (SO:0000704)
      that participates in some gene expression process (GO:0010467) where the output of thatf
      process is either y or something that is ribosomally translated from x
    exact_mappings:
      - RO:0002204
    domain: gene product mixin
    range: gene
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal

  has gene product:
    is_a: related to at instance level
    description: >-
      holds between a gene and a transcribed and/or
      translated product generated from it
    domain: gene
    range: gene product mixin
    inverse: gene product of
    in_subset:
      - translator_minimal
    close_mappings:
       # RTX term tagged as inverse mapping
      - PR:has_gene_template
    exact_mappings:
      - RO:0002205
      - WIKIDATA_PROPERTY:P688
      - NCIT:gene_encodes_gene_product
    narrow_mappings:
      - NCIT:R178

  transcribed to:
    is_a: related to at instance level
    domain: gene
    range: transcript
    description: >-
      inverse of transcribed from
    inverse: transcribed from
    exact_mappings:
      - RO:0002511
      - SIO:010080

  transcribed from:
    is_a: related to at instance level
    domain: transcript
    range: gene
    annotations:
      canonical_predicate: true
    description: >-
      x is transcribed from y if and only if x is synthesized from template y
    exact_mappings:
      - RO:0002510
      - SIO:010081

  translates to:
    is_a: related to at instance level
    domain: transcript
    range: protein
    annotations:
      canonical_predicate: true
    description: >-
      x (amino acid chain/polypeptide) is the ribosomal translation of y (transcript) if and only if a ribosome
      reads y (transcript) through a series of triplet codon-amino acid adaptor activities (GO:0030533)
      and produces x (amino acid chain/polypeptide)
    close_mappings:
      - RO:0002513
      - SIO:010082

  translation of:
    is_a: related to at instance level
    domain: protein
    range: transcript
    description: >-
      inverse of translates to
    inverse: translates to
    close_mappings:
      - RO:0002512
      - SIO:010083

  homologous to:
    is_a: similar to
    aliases: ['in homology relationship with']
    description: >-
      holds between two biological entities that have common evolutionary origin
    comments:
      - typically used to describe homology relationships between genes or gene products
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:HOM0000001
      - SIO:010302
    narrow_mappings:
       # This is a tricky one to place; seems narrower than the RO mapping but that mapping, RO:0002158
      - UBERON_CORE:sexually_homologous_to

  paralogous to:
    is_a: homologous to
    description: >-
      a homology relationship that holds between entities (typically genes) that diverged after a duplication event.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:HOM0000011

  orthologous to:
    is_a: homologous to
    description: >-
      a homology relationship between entities (typically genes) that diverged after a speciation event.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:HOM0000017
      - WIKIDATA_PROPERTY:P684

  xenologous to:
    is_a: homologous to
    description: >-
      a homology relationship characterized by an interspecies (horizontal) transfer since the common ancestor.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:HOM0000018

  coexists with:
    is_a: related to at instance level
    description: >-
      holds between two entities that are co-located in the same aggregate object, process, or spatio-temporal region
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    broad_mappings:
      - SEMMEDDB:COEXISTS_WITH
    narrow_mappings:
      - BSPO:0000096
      - BSPO:0000097
      - BSPO:0000098
      - BSPO:0000099
      - BSPO:0000100
      - BSPO:0000102
      - BSPO:0000104
      - BSPO:0000110
      - BSPO:0000113
      - BSPO:0015001
      - BSPO:0015002
      - BSPO:0015003
      - BSPO:0015005
      - BSPO:0015006
      - BSPO:0015007
      - BSPO:0015008
      - BSPO:0015009
      - BSPO:0015012
      - BSPO:0015014
      - BSPO:parallel_to
      - UBERON_CORE:anastomoses_with
      - UBERON_CORE:anteriorly_connected_to
      - UBERON_CORE:posteriorly_connected_to
      - UBERON_CORE:channel_for
      - UBERON_CORE:channels_from
      - UBERON_CORE:channels_into
      - UBERON_CORE:conduit_for
      - UBERON_CORE:distally_connected_to
      - UBERON_CORE:extends_fibers_into
      - UBERON_CORE:filtered_through
      - UBERON_CORE:indirectly_supplies
      - UBERON_CORE:proximally_connected_to
      - UBERON_CORE:synapsed_by
      - UBERON_CORE:transitively_anteriorly_connected_to
      - UBERON_CORE:transitively_connected_to
      - UBERON_CORE:transitively_distally_connected_to
      - UBERON_CORE:transitively_proximally_connected_to
       # RTX contributed Environmental Ontology term meaning "partially surrounded by"
      - ENVO:01001307
      - FMA:adjacent_to
      - FMA:afferent_to
      - FMA:anterior_to
      - FMA:anteroinferior_to
      - FMA:anterolateral_to
      - FMA:anteromedial_to
      - FMA:anterosuperior_to
       # RTX contributed terms (also inverses to one another?) might better be mapped to another term with more precise functional semantics?
       # Some of these terms also seem to be semantic inverses of one another, thus, perhaps not simple narrow_mappings to Biolink
      - FMA:arterial_supply_of
      - FMA:has_arterial_supply
      - FMA:articulates_with
      - FMA:attaches_to
      - FMA:bounded_by
      - FMA:bounds
      - FMA:branch_of
      - FMA:connection_type_of
      - FMA:continuation_branch_of
      - FMA:continuous_distally_with
      - FMA:continuous_proximally_with
      - FMA:corresponds_to
      - FMA:development_type_of
      - FMA:developmental_stage_of
      - FMA:direct_cell_shape_of
      - FMA:direct_left_of
      - FMA:direct_right_of
      - FMA:distal_to
      - FMA:drains_into
      - FMA:efferent_to
      - FMA:external_to
      - FMA:formed_by
      - FMA:forms
       # these next two RTX mapped terms also seem to be inverses of one another
      - FMA:full_grown_phenotype_of
      - FMA:has_full_grown_phenotype
       # these next two RTX mapped terms also seem to be inverses of one another
      - FMA:fuses_with
      - FMA:fusion_of
      - FMA:has_fusion
      - FMA:germ_origin_of
      - FMA:has_germ_origin
      - FMA:has_adherent
      - FMA:has_branch
      - FMA:has_connection_type
      - FMA:has_continuation_branch
      - FMA:has_development_type
      - FMA:has_developmental_stage
      - FMA:has_direct_cell_shape
      - FMA:has_inherent_3d_shape
      - FMA:has_insertion
      - FMA:has_lymphatic_drainage
      - FMA:has_nerve_supply
      - FMA:has_observed_anatomical_entity
      - FMA:has_origin
      - FMA:has_primary_segmental_supply
      - FMA:has_projection
      - FMA:has_regional_part
      - FMA:has_related_developmental_entity
      - FMA:has_secondary_segmental_supply
      - FMA:has_segmental_composition
      - FMA:has_segmental_supply
      - FMA:has_tributary
      - FMA:has_venous_drainage
      - FMA:inferior_to
      - FMA:inferolateral_to
      - FMA:inferomedial_to
      - FMA:inherent_3d_shape_of
      - FMA:insertion_of
      - FMA:internal_to
      - FMA:lateral_to
      - FMA:left_lateral_to
      - FMA:left_medial_to
      - FMA:lymphatic_drainage_of
      - FMA:matures_from
      - FMA:matures_into
      - FMA:medial_to
      - FMA:merges_with
      - FMA:nerve_supply_of
      - FMA:origin_of
      - FMA:posterior_to
      - FMA:posteroinferior_to
      - FMA:posterolateral_to
      - FMA:posteromedial_to
      - FMA:posterosuperior_to
      - FMA:primary_segmental_supply_of
      - FMA:projects_from
      - FMA:projects_to
      - FMA:proximal_to
      - FMA:receives_attachment_from
      - FMA:receives_drainage_from
      - FMA:receives_input_from
      - FMA:receives_projection
      - FMA:related_part
      - FMA:right_lateral_to
      - FMA:right_medial_to
      - FMA:secondary_segmental_supply_of
      - FMA:segmental_composition_of
      - FMA:segmental_supply_of
      - FMA:sends_output_to
      - FMA:superior_to
      - FMA:superolateral_to
      - FMA:superomedial_to
      - FMA:surrounded_by
      - FMA:surrounds
      - FMA:tributary_of
      - FMA:venous_drainage_of
       # These LOINC: terms contributed by RTX were only tagged as 'biolink:has_attribute'
       # but seem more aligned to the FMA entries in this biolink term, so I leave them here for now
      - LOINC:has_lateral_anatomic_location
      - LOINC:has_lateral_location_presence
      - UBERON_NONAMESPACE:distally_connected_to
      - UBERON_NONAMESPACE:subdivision_of
       # These RO terms seem similar to the FMA terms above, so I place them here rather than under 'biolink:related_to'
      - RO:0002219
      - RO:0002220
      - RO:0002221
      - SO:has_origin
       # RTX mapped these UBERON terms all here
      - UBERON:anastomoses_with
      - UBERON:anteriorly_connected_to
      - UBERON:channel_for
      - UBERON:channels_from
      - UBERON:channels_into
      - UBERON:conduit_for
      - UBERON:distally_connected_to
      - UBERON:existence_starts_and_ends_during
      - UBERON:extends_fibers_into
      - UBERON:filtered_through
      - UBERON:in_central_side_of
      - UBERON:in_innermost_side_of
      - UBERON:in_outermost_side_of
      - UBERON:indirectly_supplies
      - UBERON:posteriorly_connected_to
      - UBERON:protects
      - UBERON:proximally_connected_to
      - UBERON:sexually_homologous_to

  in pathway with:
    description: >-
      holds between two genes or gene products that are part of in the same biological pathway
    is_a: coexists with
    domain: gene or gene product
    range: gene or gene product
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    related_mappings:
       # generally pertains to membership of a (subject) component - gene,
       # metabolite, etc? - in an (object) metabolic pathway
      - SIO:010532

  in complex with:
    description: >-
      holds between two genes or gene products that are part of (or code for
      products that are part of) in the same macromolecular complex
    is_a: coexists with
    domain: gene or gene product
    range: gene or gene product
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    related_mappings:
      # generally pertains to membership of a (subject) protein in an (object) protein complex
      # (doesn't cover RNA-Protein, Lipid-Protein, etc complexes though)
      - SIO:010497
    broad_mappings:
      # generally pertains to membership of any (subject) constituent molecule in an (object)
      # molecular complex (might also generically cover RNA-Protein, Lipid-Protein, etc complexes)
      - SIO:010285

  in cell population with:
    description: >-
      holds between two genes or gene products that are expressed in the same cell type or population
    is_a: coexists with
    range: gene or gene product
    domain: gene or gene product
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true

  colocalizes with:
    description: >-
      holds between two entities that are observed to be located in the same place.
    is_a: coexists with
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002325

   # Despite the name, note that this particular entity is
   # NOT a biolink:Association but rather, a biolink:predicate
  genetic association:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:genetically_associated_with
    is_a: associated with
    symmetric: true

  genetically associated with:
    # indicating the "genetic" basis of an association will now be done using the more general
    # "associated with" predicate plus a 'association basis qualifier' with the value "genetic".
    deprecated: "true"
    is_a: associated with
    description: >-
      A statistical association, observed in genetic studies, between a genetic entity
      such as a gene, locus, or variant and a phenotype, disease, or trait.
    symmetric: true
    annotations:
      canonical_predicate: true
      description: >-
        Co-occurrence of a certain allele of a genetic marker and the phenotype
        of interest in the same individuals at above-chance level
    exact_mappings:
      - WIKIDATA_PROPERTY:P2293
    in_subset:
      - translator_minimal

  gene associated with condition:
    is_a: genetically associated with
    description: >-
      holds between a gene and a disease or phenotypic feature that the gene or its alleles/products may influence,
      contribute to, or correlate with
    domain: gene
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    broad_mappings:
      - GENO:0000840  # broader than a single gene: 'genotype' pathogenic for condition
      - GENO:0000841
    narrow_mappings:
       # narrower: just diseases, not phenotypic features as well
      - NCIT:R38
      - NCIT:R175
      - NCIT:R48

  condition associated with gene:
    is_a: genetically associated with
    aliases: ['disease associated with gene']
    description: >-
      holds between a gene and a disease or phenotypic feature that may be influenced, contribute to, or be correlated with the gene or its alleles/products
    domain: disease or phenotypic feature
    range: gene
    in_subset:
      - translator_minimal
    inverse: gene associated with condition
    narrow_mappings:
       # RO term implies causality making it narrower
      - RO:0004000
       # narrower since just diseases, not phenotypic features as well
      - NCIT:R176


  contributes to:
    is_a: related to at instance level
    description: >-
      holds between two entities where the occurrence, existence, or activity of one contributes to the
      occurrence or generation of the other
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    close_mappings:
       # RTX contributed mapping tagged as 'inverse' of this Biolink predicate
      - IDO:0000664
    exact_mappings:
      - RO:0002326
    narrow_mappings:
      - CTD:marker_mechanism
      - MONDO:predisposes_towards
       # RTX mapped this to 'biolink:related_to' but this term seems a more precise mapping
      - RO:0002255
       # RTX term 'contributes to condition' mapped to 'biolink:causes' seems more suitable here
      - RO:0003304

  contribution from:
    is_a: related to at instance level
    in_subset:
      - translator_minimal
    inverse: contributes to

  causes:
    description: >-
      holds between two entities where the occurrence, existence, or activity of one causes the occurrence
      or generation of the other
    is_a: contributes to
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SEMMEDDB:CAUSES
      - WIKIDATA_PROPERTY:P1542
      - SNOMED:cause_of
      - RO:0003303
    broad_mappings:
      - RO:0002410
      - RO:0002506
    narrow_mappings:
      - MONDO:disease_triggers
      - GOREL:0000040
      - MONDO:disease_causes_feature
      - NCIT:allele_has_abnormality
      - NCIT:biological_process_has_result_biological_process
      - NCIT:chemical_or_drug_has_physiologic_effect
       # RTX mapped terms as 'biolink:part_of' but implied sequence of causality suggests 'biolink:causes'?
      - NCIT:chemical_or_drug_initiates_biological_process
      - NCIT:process_initiates_biological_process
      - NCIT:chromosome_mapped_to_disease
      - NCIT:disease_has_normal_tissue_origin
      - NBO-PROPERTY:in_response_to
      - orphanet:317343
      - orphanet:317344
      - orphanet:317346
      - orphanet:410295
      - orphanet:410296
       # RTX mapped this term to 'biolink:related_to' but this term seems a more precise mapping
      - RO:0002256
      - RO:0002315
      - RO:0002507
      - RO:0002509
      - RO:0004001
      - SNOMED:causative_agent_of
      - SNOMED:has_realization
      - UMLS:has_physiologic_effect

  caused by:
    description: >-
      holds between two entities where the occurrence, existence,
      or activity of one is caused by the occurrence or generation of the other
    is_a: contribution from
    aliases: ['disease caused by disruption of', 'disease has basis in dysfunction of',
              'realized in response to', 'realized in response to stimulus']
    in_subset:
      - translator_minimal
    inverse: causes
    exact_mappings:
      - WIKIDATA_PROPERTY:P828
    narrow_mappings:
      - RO:0001022
      - RO:0002608
      - RO:0004019
      - RO:0004020
      - RO:0004028
      - RO:0009501

   # TODO: ameliorates and exacerbates inverses.
  ameliorates condition:
    aliases: ['ameliorates', 'beneficial for condition', 'therapeutic for condition']
    is_a: affects
    description: >-
      Holds between an entity and an existing medical condition (disease or phenotypic feature) where the entity is
      able to ameliorate symptoms, stabilize progression, or cure the condition.
    notes:
      - >-
        This predicate describes a narrower view of 'treats' - that covers interventions that are beneficial for existing
        disease, and excludes interventions that prevent/reduce risk of developing a condition in the future.
    mixins:
      - treats
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
      opposite_of: exacerbates condition
    exact_mappings:
      - RO:0003307

  condition ameliorated by:
    inverse: ameliorates condition
    is_a: affected by
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  preventative for condition:
    aliases: ['prophylactic for', 'prevents']
    is_a: affects likelihood of
    mixins:
      - treats
    description: >-
      Holds between a substance, procedure, or activity and a medical condition (disease or phenotypic feature),
      and states that the  substance, procedure, or activity is able to prevent it manifesting in the first place.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
      opposite_of: promotes condition
    in_subset:
      - translator_minimal
    broad_mappings:
      - SEMMEDDB:PREVENTS

  has preventative intervention:
    inverse: preventative for condition
    is_a: likelihood affected by
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  promotes condition:
    mixin: true
    is_a: affects likelihood of
    description: >-
      Holds between a substance, procedure, or activity and a medical condition (disease or phenotypic feature),
      and states that the  substance, procedure, or activity is able to promote it manifesting in the first place.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
      opposite_of: preventative for condition
    in_subset:
      - translator_minimal

  condition promoted by:
    mixin: true
    is_a: likelihood affected by
    inverse: promotes condition
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  predisposes to condition:
    aliases: ['risk factor for']
    is_a: affects likelihood of
    mixins:
      - promotes condition
    description: >-
      Holds between two entities where the presence or application of one increases the chance that the
      other will come to be.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    broad_mappings:
      - SEMMEDDB:PREDISPOSES

  condition predisposed by:
    is_a: likelihood affected by
    inverse: predisposes to condition
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  exacerbates condition:
    aliases: ['exacerbates', 'detrimental for condition']
    is_a: affects
    description: >-
       Holds between a substance, procedure, or activity and an existing medical condition (disease or phenotypic
        feature) where the substance, procedure, or activity worsens some or all aspects of the condition.
    mixins:
      - promotes condition
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
      opposite_of: ameliorates condition
    exact_mappings:
      - RO:0003309
    broad_mappings:
      - SEMMEDDB:COMPLICATES

  condition exacerbated by:
    inverse: exacerbates condition
    is_a: affected by
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    in_subset:
      - translator_minimal

  treats:
    is_a: treats or applied or studied to treat
    mixin: true
    aliases: ['is substance that treats', 'indicated for', 'ameliorates or prevents condition']
    description: >-
      Holds between an intervention (substance, procedure, or activity) and a medical condition
      (disease or phenotypic feature), and states that the intervention is, in some population(s),
      able to ameliorate, stabilize, or cure the condition or delay, prevent, or reduce the risk
      of it manifesting in the first place.
      ‘Treats’ edges should be asserted (knowledge_level: assertion) only in cases where there
      is strong supporting evidence - i.e. in some population(s) the intervention is approved for
      the condition, passed phase 3 or in phase 4 trials for the condition, or is an otherwise
      established treatment in the medical community (e.g. a widely-accepted or formally recommended
      off-label use). In the absence of such evidence, weaker predicates should be used in
      asserted edges (e.g. ‘in clinical trials for’ or ‘beneficial in models of’). ‘Treats’ edges
      based on weaker or indirect forms of evidence can however be created as predictions
      (knowledge_level: prediction) and should point to the more foundational asserted edges that
      support them.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    related_mappings:
      - MONDO:disease_responds_to
    exact_mappings:
      - DRUGBANK:treats
      - WIKIDATA_PROPERTY:P2175
    narrow_mappings:
       # "is substance that treats" constrains statements to
       # a subset of the universe of all possible treatments
      - RO:0002606
      - NCIT:regimen_has_accepted_use_for_disease
       # RTX mapped REPODB terms
      - REPODB:clinically_tested_approved_unknown_phase
      - REPODB:clinically_tested_suspended_phase_0
      - REPODB:clinically_tested_suspended_phase_1
      - REPODB:clinically_tested_suspended_phase_1_or_phase_2
      - REPODB:clinically_tested_suspended_phase_2
      - REPODB:clinically_tested_suspended_phase_2_or_phase_3
      - REPODB:clinically_tested_suspended_phase_3
      - REPODB:clinically_tested_terminated_phase_0
      - REPODB:clinically_tested_terminated_phase_1
      - REPODB:clinically_tested_terminated_phase_1_or_phase_2
      - REPODB:clinically_tested_terminated_phase_2
      - REPODB:clinically_tested_terminated_phase_2_or_phase_3
      - REPODB:clinically_tested_terminated_phase_3
      - REPODB:clinically_tested_withdrawn_phase_0
      - REPODB:clinically_tested_withdrawn_phase_1
      - REPODB:clinically_tested_withdrawn_phase_1_or_phase_2
      - REPODB:clinically_tested_withdrawn_phase_2
      - REPODB:clinically_tested_withdrawn_phase_2_or_phase_3
      - REPODB:clinically_tested_withdrawn_phase_3
      - SNOMED:plays_role
    broad_mappings:
      - DRUGBANK:treats
      - SEMMEDDB:TREATS
      - WIKIDATA_PROPERTY:P2175
      - MONDO:disease_responds_to

  treated by:
    is_a: subject of treatment application or study for treatment by
    mixin: true
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    # range: chemical or drug or treatment
    in_subset:
      - translator_minimal
    inverse: treats
    exact_mappings:
      - WIKIDATA_PROPERTY:P2176
      # RTX contributed term tagged as inverse of 'biolink:treats'
      - MONDO:disease_responds_to
    narrow_mappings:
      # "is treated by substance" constrains statements to
      # subset of the universe of all possible treatments
      - RO:0002302

  studied to treat:
    is_a: related to at instance level
    description: >-
      Holds between an  substance, procedure, or activity and a medical condition, and reports that one or more
      scientific study has been performed to specifically test the potential of the  substance, procedure, or
      activity to treat the medical condition  (i.e. to ameliorate, stabilize, or cure the condition, or to delay,
      prevent, or reduce the risk of it manifesting in the first place).
    notes:
      - >-
        Predicates in this hierarchy are used in practice when a source reports performance of a study, but there is
        not sufficient evidence or demonstrated efficacy against the condition to warrant creating a ‘treats’ assertion
        edge. Note however that a 'studied to treat' edge may be used as evidence to support creation of a separate
        'treats' prediction edge.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    mixins:
      - treats or applied or studied to treat
    annotations:
      canonical_predicate: true

  in clinical trials for:
    is_a: studied to treat
    description: >-
      Holds between an intervention and a medical condition, and reports that a clinical trial  is being or has been
      performed in human patients to test the potential of the intervention to treat the medical condition
      (e.g. to ameliorate, stabilize, or cure the condition, or to delay, prevent, or reduce the risk of it
      manifesting in the first place).
    notes:
      - >-
        This predicate should be used when a source reports a clinical trial where the intervention is being or was
        interrogated, regardless of the phase of the trial, or its ultimate outcome.  Information about phase and outcome
        can be capture using other modeling elements.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    mixins:
      - treats or applied or studied to treat
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
  # TODO: add inverse

  tested by clinical trials of:
    is_a: treated in studies by
    mixins:
      - subject of treatment application or study for treatment by
    inverse: in clinical trials for
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  treated in studies by:
    is_a: treated by
    mixins:
      - subject of treatment application or study for treatment by
    inverse: studied to treat
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  tested by preclinical trials of:
    is_a: treated in studies by
    mixins:
      - subject of treatment application or study for treatment by
    inverse: in preclinical trials for
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  in preclinical trials for:
    is_a: studied to treat
    description: >-
      Holds between an  substance, procedure, or activity and a medical condition, and reports that a pre-clinical
      study has been performed specifically to test the potential of the  substance, procedure, or activity to treat
      the medical condition  (i.e. to ameliorate, stabilize, or cure the condition, or to delay, prevent, or reduce
      the risk of it manifesting in the first place).
    mixins:
      - treats or applied or studied to treat
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    # TODO: inverse of in_preclincal_trials_for needed

  beneficial in models for:
    is_a: in preclinical trials for
    description: >-
      Holds between an  substance, procedure, or activity and a medical condition, and reports that the substance,
      procedure, or activity has been shown to be effective in alleviating, preventing, or delaying symptoms/
      phenotypes associated with a disease, in a model system for that disease (e.g. a mouse, fly, cell line, etc).
    notes:
      - >-
        This predicate would be used to represent Model Organism Database (MOD) records reporting that an intervention
        alleviated phenotypes associated with a human disease in a model organism designated as a model of that disease.
        (e.g. a ZFIN record reporting that treatment with Braf Inhibitors reduced the abnormal brain cell proliferation
        phenotype of zebrafish used to model the human disease Kabuki Syndrome) .
    mixins:
      - treats or applied or studied to treat
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    # TODO: need inverse of beneficial_in_models_for

  models demonstrating benefits for:
    is_a: tested by preclinical trials of
    mixins:
      - subject of treatment application or study for treatment by
    inverse: beneficial in models for
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  applied to treat:
    aliases: ['administered to treat', 'used to treat', 'given to treat']
    is_a: related to at instance level
    description: >-
      Holds between an  substance, procedure, or activity and a medical condition, and reports that the  substance,
      procedure, or activity was actually taken by one or more patients with the intent of treating the condition.
    notes:
      - >-
        This predicate is used simply to report observations of use in the real world, and is agnostic to whether the
        treatment is approved for or might be effective in treating the condition. The treatment could be taken by a
        patient on their own accord or prescribed by a clinician, as an off-label or an approved intervention. In
        practice, it would be used to represent records/statements from patient self-reporting sources like FAERS / AEOLUS
        where patients directly report the condition for which they took a drug, or statements from a database cataloging
        instances of off-label prescription of drugs for specific conditions.
    mixins:
      - treats or applied or studied to treat
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
   # TODO: need an inverse for taken to treat

  treatment applications from:
    is_a: related to at instance level
    mixins:
      - subject of treatment application or study for treatment by
    inverse: applied to treat
    domain: disease or phenotypic feature
    range: chemical or drug or treatment

  treats or applied or studied to treat:
    is_a: related to at instance level
    mixin: true
    description: >-
      Holds between an substance, procedure, or activity and a medical condition (disease or phenotypic feature),
      and states that the substance, procedure, or activity is able to treat the condition, has been observed to be
      taken/prescribed in practice with the intent of treating the condition, or has been interrogated in a scientific
      study that hypothesized an ability to treat the condition (in humans or other biological systems/organisms).
    notes:
      - >-
        This predicate is helpful both as a grouping predicate to aid in searching for broader senses of treating a
        condition, and as a catch-all for representing sources that are not clear about the sense of treats that is
        being reported. For example, text-mined statements concerning treatments for disease are based on sentences
        that can report treatment in any of these different senses and thus require a broader predicate such as
        this to safely report statement semantics.
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - SEMMEDDB:TREATS
    domain: chemical or drug or treatment
    range: disease or phenotypic feature

  subject of treatment application or study for treatment by:
    is_a: related to at instance level
    mixin: true
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    inverse: treats or applied or studied to treat

  correlated with:
    is_a: associated with
    description: >-
      A relationship that holds between two concepts represented by variables for which a statistical correlation is
      believed to exist, as demonstrated using a correlation analysis method.
    notes:
      - >-
        These concepts may map exactly to the statistical variables, or represent related entities for which the
        variables serve as proxies in an Association (e.g. diseases, chemical entities or processes). Note also that this
        predicate can be used in the absence of a direct statistical analysis, if there is other evidence suggesting that
        a correlation is likely to exist.
    domain: named thing
    range: named thing
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002610
      - PATO:correlates_with

   # proposed positive and negative semantic extensions to the general "correlated with" predicate

  positively correlated with:
    is_a: correlated with
    description: >-
      A relationship that holds between two concepts represented by variables for which a statistical correlation
      is demonstrated, wherein variable values move together in the same direction (i.e. increased in one or
      presence of one correlates with an increase or presence of the other).
    domain: named thing
    range: named thing
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
      opposite_of: negatively correlated with
    exact_mappings:
      - CTD:positive_correlation

  negatively correlated with:
    is_a: correlated with
    description: >-
      A relationship that holds between two concepts represented by variables for which a statistical correlation
      is demonstrated, wherein variable values move in opposite directions (i.e. increased in one or presence of
      one correlates with a decrease or absence of the other).
    domain: named thing
    range: named thing
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
      opposite_of: positively correlated with
    exact_mappings:
      - CTD:negative_correlation

  occurs together in literature with:
    is_a: correlated with
    description: >-
      holds between two entities where their co-occurrence is correlated by counts of publications
      in which both occur, using some threshold of occurrence as defined by the edge provider.
    domain: named thing
    range: named thing
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true

  coexpressed with:
    is_a: correlated with
    description: >-
      holds between any two genes or gene products, in which both are
      generally expressed within a single defined experimental context.
    range: gene or gene product
    domain: gene or gene product
    symmetric: true
    annotations:
      canonical_predicate: true

  has biomarker:
    is_a: correlated with
    description: >-
      holds between a disease or phenotypic feature and a measurable
      chemical entity that is used as an indicator of the presence
      or state of the disease or feature.
       # metabolite
    domain: disease or phenotypic feature
    range: chemical entity or gene or gene product
    in_subset:
      - translator_minimal
    inverse: biomarker for
    narrow_mappings:
       # some RTX terms contributed as inverses of 'biolink:biomarker_for'
      - NCIT:disease_has_molecular_abnormality
      - NCIT:disease_is_marked_by_gene

  biomarker for:
    is_a: correlated with
    description: >-
      holds between a measurable chemical entity and a disease
      or phenotypic feature, where the entity is used as an indicator
      of the presence or state of the disease or feature.
    domain: chemical entity or gene or gene product
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - NCIT:R39
    broad_mappings:
       # Generic marker definition not specific to biomarkers per say
      - RO:0002607
    narrow_mappings:
      - NCIT:R47
       # RTX term was tagged as 'biolink:actively_involved_in' but maps better here?
      - NCIT:genetic_biomarker_related_to
      - NCIT:is_molecular_abnormality_of_disease
      - orphanet:465410

   # It may be helpful to introduce an intermediate predicate in between 'related_to' and 'expressed in'
   # which would have a domain of 'biological entity' and range of 'anatomical entity', to map predicates
   # which are biological which have manifestation in an anatomical site, e.g. RO:0004026, RO:0004027 and others
  expressed in:
    is_a: located in
    description: >-
      holds between a gene or gene product and an anatomical entity in which it is expressed
    domain: gene or gene product
    range: anatomical entity
    multivalued: true
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002206
    narrow_mappings:
      - NCIT:R49
      - NCIT:R46

  expresses:
    is_a: location of
    aliases: ['anatomy expresses gene']
    description: >-
      holds between an anatomical entity and gene or gene product that is expressed there
    domain: anatomical entity
    range: gene or gene product
    multivalued: true
    in_subset:
      - translator_minimal
    inverse: expressed in
    exact_mappings:
      - RO:0002292

  has phenotype:
    is_a: related to at instance level
    aliases: ['disease presents symptom']
    description: >-
      holds between a biological entity and a phenotype, where a phenotype
      is construed broadly as any kind of quality of an organism part,
      a collection of these qualities, or a change in quality or qualities
      (e.g. abnormally increased temperature). In SNOMEDCT, disorders with keyword 'characterized by' should
      translate into this predicate.
    domain: biological entity
    range: phenotypic feature
    multivalued: true
    annotations:
      canonical_predicate: true
    notes:
      - check the range
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002200
    broad_mappings:
      - NCIT:R115
      - NCIT:R108
    narrow_mappings:
      - NCIT:R89
      - DOID-PROPERTY:has_symptom
      - RO:0004022
      - RO:0004029

  phenotype of:
    is_a: related to at instance level
    domain: phenotypic feature
    range: biological entity
    multivalued: true
    inverse: has phenotype

   # TODO: predicate inverse for occurs in
  occurs in:
    is_a: related to at instance level
    description: >-
      holds between a process and a material entity or site within which the process occurs
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    close_mappings:
       # These RTX mapped terms tagged as the inverse of "biolink:occurs_in", i.e. Entity/Site contains Process
      - BFO:0000067
      - SNOMED:has_occurrence
      - UBERON:site_of
    exact_mappings:
      - BFO:0000066
      - PathWhiz:has_location
      - SNOMED:occurs_in
    narrow_mappings:
       # SemMedDb term 'OCCURS_IN' constrained to something (other than process) occurring in a group or population
      - SEMMEDDB:OCCURS_IN
       # SemMedDb term 'PROCESS_IN' constrained specifically to a process occurring in the object concept entity
      - SEMMEDDB:PROCESS_OF
       # Uberon term constrained to a 'site' as object concept
      - UBERON_CORE:site_of
      - LOINC:has_imaged_location
      - PathWhiz:in_species
      - RO:0002231
      - RO:0002232
      - SNOMED:has_direct_procedure_site
      - SNOMED:has_direct_site
      - SNOMED:has_procedure_site

  contains process:
    is_a: related to at instance level
    inverse: occurs in

  located in:
    is_a: related to at instance level
    description: >-
      holds between a material entity and a material entity or site
      within which it is located (but of which it is not considered a part)
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0001025
      - FMA:has_location
    narrow_mappings:
      - GOREL:0001004
      - BSPO:0000107
      - BSPO:0000108
      - BSPO:0000120
      - BSPO:0000121
      - BSPO:0000122
      - BSPO:0000123
      - BSPO:0000124
      - BSPO:0000125
      - BSPO:0000126
      - BSPO:0001100
      - BSPO:0001101
      - BSPO:0001107
      - BSPO:0015101
      - BSPO:0015102
      - BSPO:0015202
      - UBERON_CORE:in_central_side_of
      - UBERON_CORE:in_innermost_side_of
      - UBERON_CORE:in_outermost_side_of
      - NCIT:R100
      - EFO:0000784
      - FMA:has_location
      - HMDB:at_cellular_location
      - HMDB:at_tissue
      - HMDB:in_biospecimen
      - LOINC:has_imaging_focus
      - NCIT:R156
      - NCIT:R155
      - NCIT:R145
      - NCIT:R40
      - NCIT:R171
      - NCIT:R167
      - NCIT:R165
      - NCIT:R169
      - NCIT:R170
      - NCIT:R166
      - NCIT:R168
      - RO:0002303
      - SNOMED:has_finding_site
      - SNOMED:has_indirect_procedure_site
      - SNOMED:has_inherent_location
    domain: named thing
    range: named thing

  location of:
    is_a: related to at instance level
    aliases: ['site of']
    domain: named thing
    range: named thing
    description: >-
      holds between material entity or site and a material entity
      that is located within it (but not considered a part of it)
    in_subset:
      - translator_minimal
    inverse: located in
    exact_mappings:
      - RO:0001015
      - SEMMEDDB:LOCATION_OF
      - WIKIDATA_PROPERTY:P276
       # RTX tagged this as an inverse of biolink:located_in
      - FMA:location_of
    narrow_mappings:
      - SNOMED:inherent_location_of
      - NCIT:Anatomic_Structure_Has_Location_Role

  disease has location:
    description: >-
      A relationship between a disease and an anatomical entity where the
      disease has one or more features that are located in that entity.
    is_a: related to
    exact_mappings:
      - RO:0004026
      - MONDO:disease_has_location

  location of disease:
    is_a: related to
    inverse: disease has location

  similar to:
    is_a: related to at instance level
    description: >-
      holds between an entity and some other entity with similar features.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:HOM0000000
      - SO:similar_to

  chemically similar to:
    is_a: similar to
    description: >-
      holds between one small molecule entity and another that it approximates
      for purposes of scientific study, in virtue of its exhibiting
      similar features of the studied entity.
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    narrow_mappings:
      - CHEBI:has_parent_hydride     # subproperty
      - CHEBI:has_functional_parent  # subproperty
      - CHEBI:is_conjugate_acid_of   # subproperty
      - CHEBI:is_conjugate_base_of   # subproperty
      - CHEBI:is_enantiomer_of       # subproperty
      - CHEBI:is_tautomer_of         # subproperty
      - NCIT:has_salt_form

  has sequence location:
    is_a: related to at instance level
    description: >-
      holds between two nucleic acid entities when the subject can be localized
      in sequence coordinates on the object. For example, between
      an exon and a chromosome/contig.
    domain: nucleic acid entity
    range: nucleic acid entity
    annotations:
      canonical_predicate: true
    exact_mappings:
      - faldo:location

  sequence location of:
    is_a: related to at instance level
    domain: nucleic acid entity
    range: nucleic acid entity
    inverse: has sequence location

  model of:
    is_a: related to at instance level
    description: >-
      holds between a thing and some other thing it approximates
      for purposes of scientific study, in virtue of its exhibiting
      similar features of the studied entity.
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0003301
    narrow_mappings:
      - FOODON:00001301

  models:
    is_a: related to at instance level
    inverse: model of

  overlaps:
    is_a: related to at instance level
    description: >-
      holds between entities that overlap in their extents (materials or processes)
    in_subset:
      - translator_minimal
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002131
    narrow_mappings:
      - BSPO:0005001
      - CHEMBL.MECHANISM:overlaps_with
      - RO:0002100
      - RO:0002102
      - RO:0002433

  has part:
    is_a: overlaps
    annotations:
      canonical_predicate: true
      opposite_of: lacks part
    description: >-
      holds between wholes and their parts (material entities or processes)
    in_subset:
      - translator_minimal
    exact_mappings:
      - BFO:0000051
       # term name seems to be 'realizes' but RTX maps this term here
      - BFO:0000055
      - WIKIDATA_PROPERTY:P527
      - RO:0001019
      - RXNORM:consists_of
      - RXNORM:has_part
    broad_mappings:
       # To 'contain' is 'to have something inside or include something as a part'; slightly broader?
      - RO:0001019
      - FMA:contains
      - RXNORM:contains
    narrow_mappings:
      - BFO:0000117
       # RTX term originally mapped to 'biolink:coexists_with'?
      - FMA:has_constitutional_part
      - FMA:has_part
       # Several of the following RTX terms were originally mapped as inverses to 'biolink:part_of'?
      - FMA:has_member
      - FOODON:00001563
      - FOODON:00002420
      - LOINC:has_component
      - LOINC:has_member
      - MEDDRA:has_member
      - MONDO:disease_has_major_feature
      - NCIT:complex_has_physical_part
      - NDDF:has_ingredient
      - PathWhiz:has_element_in_bound
       # This RTX contributed term was tagged as 'biolink:has_gene_product' but seems more compositional in nature
      - NCIT:R50
      - PathWhiz:has_protein_in_complex
      - RO:0002104
      - RO:0002180
      - RO:0002351
      - RO:0002473
      - RO:0002524
      - RO:0002551
      - RXNORM:has_ingredient
      - SNOMED:has_component
      - UMLS:has_component

  has plasma membrane part:
    is_a: has part
    description: >-
      Holds between a cell c and a protein complex or protein p if
      and only if that cell has as part a plasma_membrane[GO:0005886], and that plasma membrane has p as part.
    exact_mappings:
      - RO:0002104
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal

  composed primarily of:
    is_a: related to
    description: >-
      x composed_primarily_of_y if:more than half of the mass of x is made from parts of y.
    exact_mappings:
      - RO:0002473
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal

  primarily composed of:
    inverse: composed primarily of
    is_a: related to

  plasma membrane part of:
    is_a: part of
    inverse: has plasma membrane part

  part of:
    is_a: overlaps
    description: >-
      holds between parts and wholes (material entities or processes)
    in_subset:
      - translator_minimal
    inverse: has part
    exact_mappings:
      - BFO:0000050
      - SEMMEDDB:PART_OF
      - WIKIDATA_PROPERTY:P361
      - FMA:part_of
      - RXNORM:constitutes
      - RXNORM:part_of
    broad_mappings:
       # To 'contain' is 'to have something inside or include something as a part'
      - RO:0001018
      - FMA:contained_in
      - RXNORM:contained_in
    narrow_mappings:
      - BSPO:0001106
      - BSPO:0001108
      - BSPO:0001113
      - BSPO:0001115
      - UBERON_CORE:layer_part_of
      - UBERON_CORE:subdivision_of
      - UBERON_CORE:trunk_part_of
      - CHEBI:is_substituent_group_from
      - CPT:panel_element_of
      - CPT:panel_element_of_possibly_included
      - DRUGBANK:component_of
      - FMA:constitutional_part_of
      - FMA:member_of
      - FMA:regional_part_of
      - FMA:related_developmental_entity_of
      - LOINC:component_of
      - LOINC:has_supersystem
      - LOINC:member_of
      - LOINC:multipart_of
      - MEDDRA:member_of
      - MONDO:part_of_progression_of_disease
      - NCIT:R82
      - NCIT:R27
      - NCIT:is_component_of_chemotherapy_regimen
      - NDDF:ingredient_of
      - RO:0002007
      - RO:0002350
      - RO:0002376
      - RO:0002380
      - RO:0002571
      - RO:0002572
      - RO:0002576
      - RXNORM:ingredient_of
      - RXNORM:ingredients_of
      - RXNORM:precise_ingredient_of
      - SNOMED:active_ingredient_of
      - SNOMED:basis_of_strength_substance_of
      - SNOMED:component_of
      - SNOMED:direct_substance_of
      - SNOMED:during
      - SNOMED:focus_of
      - SNOMED:has_dependent
      - SNOMED:part_anatomy_structure_of
      - SNOMED:precise_active_ingredient_of
      - UBERON:subdivision_of
      - UMLS:component_of
      - UMLS:has_owning_affiliate
      - UMLS:owning_subsection_of
      - VANDF:ingredient_of

  has input:
    is_a: has participant
    description: >-
      holds between a process and a continuant, where the continuant is an input into the process
    domain: biological process or activity
    range: named thing
    annotations:
      canonical_predicate: true
      opposite_of: has output
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002233
      - SEMMEDDB:USES
    narrow_mappings:
      - LOINC:has_fragments_for_synonyms
      - LOINC:has_system
      - PathWhiz:has_left_element
      - RO:0002590
      - RO:0004009
      - SNOMED:has_finding_method
      - SNOMED:has_precondition
      - SNOMED:has_specimen_source_identity
      - SNOMED:has_specimen_substance
      - SNOMED:uses_access_device
      - SNOMED:uses_device
      - SNOMED:uses_energy
      - SNOMED:uses_substance

  is input of:
    is_a: participates in
    domain: named thing
    range: biological process or activity
    inverse: has input
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002352

  has output:
    is_a: has participant
    description: >-
      holds between a process and a continuant, where the continuant is an output of the process
    domain: biological process or activity
    range: named thing
    annotations:
      canonical_predicate: true
      opposite_of: has input
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002234
    narrow_mappings:
      - NCIT:R31
      - OBI:0000299
      - PathWhiz:has_right_element
      - RO:0002296
      - RO:0002297
      - RO:0002298
      - RO:0002299
      - RO:0002588
      - RO:0004008

  is output of:
    is_a: participates in
    domain: named thing
    range: biological process or activity
    inverse: has output
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002353
    narrow_mappings:
      - RO:0002354

  has participant:
    is_a: related to at instance level
    description: >-
      holds between a process and a continuant, where the continuant is somehow involved in the process
    domain: biological process or activity
    range: occurrent
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    close_mappings:
      - WIKIDATA_PROPERTY:P2283
    exact_mappings:
      - RO:0000057
      - RO:has_participant
    narrow_mappings:
      - BFO:0000167
       # Several of the following RTX terms tagged as inverse to 'biolink:participates_in'
      - LOINC:has_subject
      - NCIT:process_involves_gene
      - NBO-PROPERTY:has_participant
      - PathWhiz:has_bound
      - PathWhiz:has_compound
      - PathWhiz:has_element_collection
      - PathWhiz:has_enzyme
      - OBI:0000293
      - PathWhiz:has_nucleic_acid
      - PathWhiz:has_protein
      - PathWhiz:has_reaction
      - RO:0002565
      - RO:0004007
      - RO:0004020
      - RO:0004021
      - SNOMED:has_indirect_device
      - SNOMED:has_procedure_device
      - SNOMED:has_recipient_category

  catalyzes:
    description: >-
      Holds between a macromolecular machine (typically an enzyme or ribozyme) and a biochemical
      reaction or process whose rate it accelerates, without itself being consumed, by lowering
      the activation energy.
    is_a: participates in
    annotations:
      canonical_predicate: true
    exact_mappings:
      - RO:0002327

  has catalyst:
    is_a: has participant
    inverse: catalyzes

  has substrate:
    description: >-
      Holds between a biochemical reaction or catalytic process and a chemical entity that is
      acted upon (consumed or transformed) by that reaction.
    is_a: has participant
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product
    annotations:
      canonical_predicate: true

  is substrate of:
    is_a: participates in
    inverse: has substrate
    domain: chemical entity or gene or gene product
    range: chemical entity or gene or gene product

  participates in:
    is_a: related to at instance level
    description: >-
      holds between a continuant and a process, where the continuant is somehow involved
      in the process
    range: biological process or activity
    domain: occurrent
    inverse: has participant
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0000056
      - BFO:0000056
    narrow_mappings:
      - DRUGBANK:pathway
      - HMDB:in_pathway
      - LOINC:is_given_pharmaceutical_substance_for
      - NCIT:R130
      - NCIT:R37
      - NCIT:R131
      - NCIT:R51
      - NCIT:R53
      - OBI:0000295
      - RO:0002216
      - RO:0002505
      - SNOMED:has_direct_device

  actively involved in:
    is_a: participates in
    aliases: ['involved in']
    description: >-
      holds between a continuant and a process or function, where
      the continuant actively contributes to part or all of
      the process or function it realizes
    domain: named thing
    range: biological process or activity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002331
    narrow_mappings:
      - NBO-PROPERTY:by_means
      - orphanet:317348
      - orphanet:317349
      - orphanet:327767
      - RO:0002503

  actively involves:
    is_a: has participant
    domain: biological process or activity
    range: named thing
    inverse: actively involved in
    in_subset:
      - translator_minimal

  capable of:
    is_a: actively involved in
    description: >-
      holds between a physical entity and process or function, where the
      continuant alone has the ability to carry out the process or function.
    domain: named thing
    range: occurrent
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002215
    narrow_mappings:
      - NCIT:R52
      - RO:0002500

  can be carried out by:
    is_a: actively involves
    inverse: capable of
    domain: occurrent
    range: named thing

  enables:
    is_a: participates in
    description: >-
      holds between a physical entity and a process, where the physical entity executes the process
    domain: physical entity
    range: biological process or activity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002327

  enabled by:
    is_a: has participant
    description: >-
      holds between a process and a physical entity, where the physical entity executes the process
    domain: biological process or activity
    range: physical entity
    in_subset:
      - translator_minimal
    inverse: enables
    exact_mappings:
      - RO:0002333
    annotations:
      opposite_of: prevented by

  derives into:
    is_a: related to at instance level
    aliases: ['is normal cell origin of disease', 'may be normal cell origin of disease']
    description: >-
      holds between two distinct material entities, the old entity and
      the new entity, in which the new entity begins to exist when
      the old entity ceases to exist, and the new entity inherits
      the significant portion of the matter of the old entity
    in_subset:
      - translator_minimal
    inverse: derives from
    exact_mappings:
      - RO:0001001
      - SEMMEDDB:CONVERTS_TO
       # RTX posted terms as inverse of 'biolink:derives_from'
      - FMA:derives

  derives from:
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
    description: >-
      holds between two distinct material entities, the new entity
      and the old entity, in which the new entity begins to exist
      when the old entity ceases to exist, and the new entity
      inherits the significant portion of the matter of the old entity
    in_subset:
      - translator_minimal
      - samples
    exact_mappings:
      - RO:0001000
      - FMA:derives_from
      - DOID-PROPERTY:derives_from
    narrow_mappings:
      - CHEBI:has_functional_parent
      - SNOMED:has_specimen_source_topography

  is metabolite of:
    is_a: derives from
    description: >-
      holds between two molecular entities in which the first one is derived
      from the second one as a product of metabolism
    domain: molecular entity
    range: molecular entity
    in_subset:
      - translator_minimal
    inverse: has metabolite
    comments:
      - The CHEBI ID represents a role rather than a predicate
    exact_mappings:
      - CHEBI:25212

  has metabolite:
    is_a: derives into
    description: >-
      holds between two molecular entities in which the second one is derived from the first
      one as a product of metabolism
    domain: molecular entity
    range: molecular entity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    comments:
      - The CHEBI ID represents a role rather than a predicate
    exact_mappings:
      - CHEBI:25212

  food component of:
    is_a: part of
    description: >-
      holds between a one or more chemical entities present in food,
      irrespective of nutritional value (i.e. could also be a contaminant or additive)
    domain: chemical entity
    range: chemical entity
    in_subset:
      - translator_minimal
    inverse: has food component

  has food component:
    is_a: has part
    description: >-
      holds between food and one or more chemical entities composing it,
      irrespective of nutritional value (i.e. could also be a contaminant or additive)
    domain: chemical entity
    range: chemical entity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal

  nutrient of:
    is_a: food component of
    description: >-
      holds between a one or more chemical entities present in food,
      irrespective of nutritional value (i.e. could also be a contaminant or additive)
    domain: chemical entity
    range: chemical entity
    in_subset:
      - translator_minimal
    inverse: has nutrient

  has nutrient:
    is_a: has food component
    description: >-
      one or more nutrients which are growth factors for a living organism
    domain: chemical entity
    range: chemical entity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - WIKIDATA:Q181394

  is active ingredient of:
    is_a: part of
    description: >-
      holds between a molecular entity and a drug, in which the former
      is a part of the latter, and is a biologically active component
    domain: molecular entity
    range: drug
    in_subset:
      - translator_minimal
    inverse: has active ingredient
    mappings:
      - RO:0002249

  has active ingredient:
    is_a: has part
    description: >-
      holds between a drug and a molecular entity in which the latter
      is a part of the former, and is a biologically active component
    domain: drug
    range: molecular entity
    annotations:
      canonical_predicate: true
      opposite_of: is excipient of
    in_subset:
      - translator_minimal
    mappings:
      - RO:0002248

  is excipient of:
    is_a: part of
    description: >-
      holds between a molecular entity and a drug in which the former is
      a part of the latter, and is a biologically inactive component
    domain: molecular entity
    range: drug
    in_subset:
      - translator_minimal
    inverse: has excipient
    mappings:
      - WIKIDATA:Q902638

  has excipient:
    is_a: has part
    description: >-
      holds between a drug and a molecular entities in which the latter
      is a part of the former, and is a biologically inactive component
    domain: drug
    range: molecular entity
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    mappings:
      - WIKIDATA:Q902638

  manifestation of:
    is_a: related to at instance level
    description: >-
      that part of a phenomenon which is directly observable or
      visibly expressed, or which gives evidence to the underlying
      process; used in SemMedDB for linking things like dysfunctions
      and processes to some disease or syndrome
    range: disease
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    exact_mappings:
      - SEMMEDDB:MANIFESTATION_OF
      - OMIM:manifestation_of
    broad_mappings:
       # Wikidata's definition is slightly broader: "inherent and characteristic embodiment of a given concept"
      - WIKIDATA_PROPERTY:P1557
    narrow_mappings:
      - SNOMED:has_definitional_manifestation

  has manifestation:
    is_a: related to at instance level
    domain: disease
    inverse: manifestation of

  mode of inheritance of:
    is_a: manifestation of
    domain: genetic inheritance
    range: disease or phenotypic feature
    inverse: has mode of inheritance

  has mode of inheritance:
    is_a: has manifestation
    description: >-
      Relates a disease or phenotypic feature to its observed genetic segregation and assumed
      associated underlying DNA manifestation (i.e. autosomal, sex or mitochondrial chromosome).
    domain: disease or phenotypic feature
    range: genetic inheritance
    annotations:
       # This canonical order reverses that of its parent 'has manifestation' class
       # but seems a more natural direction in the pertinent edge relationships.
      canonical_predicate: true
    in_subset:
      - translator_minimal

  produces:
    is_a: related to at instance level
    description: >-
      holds between a material entity and a product that is generated
      through the intentional actions or functioning of the material entity
    in_subset:
      - translator_minimal
    annotations:
      canonical_predicate: true
    related_mappings:
      - GOREL:0001010
    exact_mappings:
      - RO:0003000
      - WIKIDATA_PROPERTY:P1056
      - SEMMEDDB:PRODUCES
    narrow_mappings:
      - NCIT:R29
      - SNOMED:has_process_output
      - SNOMED:specimen_procedure_of

  produced by:
    is_a: related to at instance level
    inverse: produces
    exact_mappings:
      - RO:0003001

  consumes:
    description: >-
      Holds between a process and an entity that is taken in and depleted by the process; for
      example a metabolite consumed in a biochemical reaction.
    is_a: has input
    domain: named thing
    range: named thing
    annotations:
      canonical_predicate: true
    narrow_mappings:
      - RO:0004009

  consumed by:
    is_a: is input of
    inverse: consumes
    domain: named thing
    range: named thing

  temporally related to:
    is_a: related to at instance level
    description: >-
      holds between two entities with a temporal relationship
    domain: occurrent
    range: occurrent
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SNOMED:temporally_related_to
    narrow_mappings:
       # The These RTX mappings are temporal in nature, but not with precedes ordering, so mapped here
      - RO:0002082
      - RO:0002083
      - RO:0002092
      - RO:0002093
      - RO:0002223
      - RO:0002224
      - RO:0002229
      - RO:0002230
      - RO:0002488
      - RO:0002489
      - RO:0002492
      - RO:0002493
      - RO:0002496
      - RO:0002497

  precedes:
    is_a: temporally related to
    description: >-
      holds between two processes, where one completes before the other begins
    domain: occurrent
    range: occurrent
    annotations:
      canonical_predicate: true
    in_subset:
      - translator_minimal
    close_mappings:
       # the subject of these terms is a material entity, not a process,
       # but affects a process which causes a second process to occur
      - RO:0002263
      - RO:0002264
    exact_mappings:
      - BFO:0000063
      - SEMMEDDB:PRECEDES
      - SNOMED:occurs_before
    broad_mappings:
       # the Wikidata definition is subtly broader, focusing on a series not strictly temporal in nature
      - WIKIDATA_PROPERTY:P156
    narrow_mappings:
      - FMA:transforms_into
      - RO:0002090
      - RO:0002411
      - RO:0002412

  preceded by:
    is_a: temporally related to
    description: >-
      holds between two processes, where the other is completed before the one begins
    domain: occurrent
    range: occurrent
    inverse: precedes
    in_subset:
      - translator_minimal
    exact_mappings:
      - BFO:0000062
    broad_mappings:
       # Contributed by RTX as inverse of 'precedes'. Seems more generic to just processes, so we tag it as 'broad'?
      - GENEPIO:0001739
    narrow_mappings:
       # RTX contributed mapping was given as the inverse of 'biolink:precedes'
      - FMA:transforms_from
      - RO:0002087
      - RO:0002285

  has variant part:
    is_a: has part
    description: holds between a nucleic acid entity and a nucleic acid entity that is a sub-component of it
    annotations:
      canonical_predicate: true
    exact_mappings:
      - GENO:0000382

  variant part of:
    is_a: part of
    inverse: has variant part

  related condition:
    description: >-
      Links a genotype or genetic variant to a condition (disease or phenotypic feature) that is
      associated with it.
    is_a: related to at instance level
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - GENO:0000790

   ## Predicates relating variants to genes

  is sequence variant of:
    is_a: related to at instance level
    aliases: ['gene product sequence variation encoded by gene mutant', 'allelic variant of', 'gene product variant of gene product']
    description: holds between a sequence variant and a nucleic acid entity
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    narrow_mappings:
      - WIKIDATA:P3433

  has sequence variant:
    is_a: related to at instance level
    inverse: is sequence variant of
    domain: genomic entity
    range: sequence variant

  is missense variant of:
    is_a: is sequence variant of
    description: holds between a gene  and a sequence variant, such the sequence variant
      results in a different amino acid sequence but where the length is preserved.
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SO:0001583

  has missense variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is missense variant of

  is synonymous variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene, such the sequence variant
      is in the coding sequence of the gene, but results in the same amino acid sequence
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SO:0001819

  has synonymous variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is synonymous variant of
    aliases: ['stop gained']

  is nonsense variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene, such the sequence variant
      results in a premature stop codon
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    broad_mappings:
       # Term definition broader than nonsense codon: A sequence variant whereby
       # the gene product has diminished or abolished function.
      - SO:0002054

  has nonsense variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is nonsense variant of

  is frameshift variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene, such the sequence variant
      causes a disruption of the translational reading frame, because the number of
      nucleotides inserted or deleted is not a multiple of three.
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SO:0001589
    aliases: ['frameshift variant', 'start lost', 'stop lost']

  has frameshift variant:
    is_a: has sequence variant
    inverse: is frameshift variant of
    domain: genomic entity
    range: sequence variant
    aliases: ['splice region variant', 'splice acceptor variant', 'splice donor variant']

  is splice site variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene, such the sequence variant
      is in the canonical splice site of one of the gene's exons.
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true
    exact_mappings:
      - SO:0001629


  has splice site variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is splice site variant of
    aliases: ['downstream gene variant', 'upstream gene variant']

  is nearby variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene sequence that the variant
      is genomically close to.
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true

  has nearby variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is nearby variant of
    aliases: ['intron variant', '3 prime UTR variant', '5 prime UTR variant', '5 prime UTR premature start codon gain variant', 'non coding transcript exon variant']

  is non coding variant of:
    is_a: is sequence variant of
    description: holds between a sequence variant and a gene, where the variant does
      not affect the coding sequence
    domain: sequence variant
    range: genomic entity
    annotations:
      canonical_predicate: true

  has non coding variant:
    is_a: has sequence variant
    domain: genomic entity
    range: sequence variant
    inverse: is non coding variant of

   # relating disease to process

  disease has basis in:
    description: A relation that holds between a disease and an entity where the state
      of the entity has contribution to the disease.
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
    narrow_mappings:
       # These two MONDO terms seem more particular than the predicate
      - MONDO:disease_has_basis_in_development_of
      - MONDO:disease_has_basis_in_accumulation_of

  occurs in disease:
    is_a: related to at instance level
    inverse: disease has basis in


  has adverse event:
    is_a: affects
    aliases: ['adverse effect']
    description: >-
      An untoward medical occurrence in a patient or clinical investigation subject that happens during treatment
      with a therapeutic agent. Adverse events may be caused by something
      other than the drug or therapy being given and may include abnormal laboratory finding, symptoms, or
      diseases temporally associated with the treatment, whether or not considered related to the treatment.
      Adverse events are unintended effects that occur when a medication is administered correctly.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true

  adverse event of:
    is_a: affected by
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    inverse: has adverse event

  has side effect:
    aliases: ['adverse drug reaction']
    is_a: affects
    description: >-
      An unintended, but predictable, secondary effect shown to be correlated with a therapeutic agent, drug or treatment.
      Side effects happen at normal, recommended doses or treatments, and are unrelated to the intended purpose of
      the medication.
    notes:
      - >-
        Side effects are listed on drug labels. There can be positive side effects, while adverse events are always negative.
        Aeolus, Sider are both resources that provide side effects.
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      canonical_predicate: true
    exact_mappings:
      - NCIT:C2861  # side effect

  is side effect of:
    is_a: affected by
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    inverse: has side effect

  contraindicated in:
    is_a: related to at instance level
    description: >-
      Holds between a substance, procedure, or activity and a medical condition or circumstance, where an authority
      has established that the substance, procedure, or activity should not be applied as an intervention in patients
      with the condition or circumstance because it can result in detrimental outcomes.
    notes:
      - >-
        This predicate relates the intervention with a specific disease, phenotype, or other medical circumstance that
        puts patients at high risk for detrimental outcomes.  This may be a different condition from the one that the
        drug would be used to treat (e.g. pseudoephedrine is contraindicated in people with high-blood pressure as
        a treatment for nasal congestion), a biological state (e.g. isotretinoin is contraindicated in people who
        are pregnant as a treatment for acne), or being on a different medication (e.g. aspirin is contraindicated
        in people taking warfarin as a preventative treatment for stroke).
    domain: chemical or drug or treatment
    range: biological entity
    annotations:
      canonical_predicate: true
      opposite_of: treats
    exact_mappings:
      - NCIT:C37933

  chemical entity or drug or treatment:
    description: >-
      A union of chemical entities and children, and drug or treatment.
    mixin: true

  has contraindication:
    is_a: related to at instance level
    domain: biological entity
    range: chemical or drug or treatment
    inverse: contraindicated in

   # The remaining new slots are here because we ran across them somewhere and
   # they didn't seem to map well to anything else.

  has not completed:
    is_a: related to at instance level
    description: holds between an entity and a process that the entity is capable of,
      but has not completed
    exact_mappings:
      - CL:has_not_completed
    annotations:
      opposite_of: has completed
      canonical_predicate: true

  not completed by:
    is_a: related to at instance level
    inverse: has not completed

  has completed:
    is_a: related to at instance level
    description: holds between an entity and a process that the entity is capable of
      and has completed
    annotations:
      canonical_predicate: true
      opposite_of: has not completed
    exact_mappings:
      - CL:has_completed

  completed by:
    is_a: related to at instance level
    inverse: has completed


  in linkage disequilibrium with:
    is_a: related to at instance level
    description: holds between two sequence variants, the presence of which are correlated
      in a population
    symmetric: true
    annotations:
      canonical_predicate: true
    exact_mappings:
      - NCIT:C16798

  has increased amount:
    description: >-
      Holds between an entity and a component that is present at higher amount
      than in a reference state or sibling entity; used for comparative compositional statements.
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
      opposite_of: has decreased amount
    narrow_mappings:
      - CL:has_high_plasma_membrane_amount

  increased amount of:
    is_a: related to at instance level
    inverse: has increased amount

  has decreased amount:
    description: >-
      Holds between an entity and a component that is present at lower amount
      than in a reference state or sibling entity; used for comparative compositional statements.
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
      opposite_of: has increased amount
    narrow_mappings:
      - CL:has_low_plasma_membrane_amount

  decreased amount in:
    is_a: related to at instance level
    inverse: has decreased amount

  lacks part:
    description: >-
      Holds between an entity and a component that is absent from it relative to a reference type;
      for example a cell type lacking a particular organelle or a protein lacking a particular
      domain. Corresponds to CL:lacks_part / PR:lacks_part.
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
      opposite_of: has part
    exact_mappings:
      - CL:lacks_part
      - PR:lacks_part
    narrow_mappings:
      - CL:lacks_plasma_membrane_part

  missing from:
    is_a: related to at instance level
    inverse: lacks part

  develops from:
    description: >-
      Holds between two entities where the first develops, by one or more developmental processes,
      from the second; for example a cell type developing from a precursor cell type or a tissue
      developing from an embryonic primordium. Corresponds to RO:0002202.
    is_a: related to at instance level
    annotations:
      canonical_predicate: true
    close_mappings:
       # RTX mapping seems to be inverse of 'biolink:develops_from'
      - RO:0002203
      - FMA:develops_into
    exact_mappings:
      - BTO:develops_from
      - DDANAT:develops_from
      - FMA:develops_from
      - RO:0002202
    narrow_mappings:
      - RO:0002207
      - RO:0002225  # x develops from part of y if and only if there exists some z such that x develops from z and z is part of y
      - RO:0002226  # x develops_in y if x is located in y whilst x is developing

  develops into:
    is_a: related to at instance level
    inverse: develops from

  taxon:
    is_a: node property
    description: >-
      A property that indicates the taxonomic classification of an entity.
      Values for this slot should be from the NCBITaxon ontology.
    comments:
      - >-
        Note there is also a predicate 'in taxon'
        that can be used to instantiate an edge between a taxon entity and a thing with taxon entity.  This is
        an acceptable practice for KG construction, but for many applications it is more convenient to
        use this property slot to directly annotate the taxon on the entity itself.
    in_subset:
      - translator_minimal
    range: uriorcurie

  in taxon:
    aliases: ['instance of', 'is organism source of gene product', 'organism has gene', 'gene found in organism', 'gene product has organism source']
    is_a: related to at instance level
    domain: thing with taxon
    range: organism taxon
    annotations:
      canonical_predicate: true
    description: >-
      connects an entity to its taxonomic classification. Only certain kinds
      of entities can be taxonomically classified; see 'thing with taxon'
    in_subset:
      - translator_minimal
    exact_mappings:
      - RO:0002162
      - WIKIDATA_PROPERTY:P703
    narrow_mappings:
      - RO:0002160

  in taxon label:
    is_a: node property
    domain: thing with taxon
    range: label type
    description: >-
      The human readable scientific name for the taxon of the entity.
    in_subset:
      - translator_minimal
    exact_mappings:
      - WIKIDATA_PROPERTY:P225
    annotations:
      denormalized: true

  taxon of:
    is_a: related to at instance level
    inverse: in taxon
    domain: organism taxon
    range: thing with taxon

  has molecular consequence:
    is_a: related to at instance level
    aliases: ['allele has activity']
    description: >-
      connects a sequence variant to a class describing the molecular
      consequence. E.g.  SO:0001583
    range: ontology class
    annotations:
      canonical_predicate: true
    narrow_mappings:
      - NCIT:allele_has_activity

  is molecular consequence of:
    is_a: related to at instance level
    domain: ontology class
    inverse: has molecular consequence

   ## --------------------
   ## ASSOCIATION SLOTS
   ## --------------------

  association slot:
    abstract: true
    domain: association
    aliases: ['edge property', 'statement property', 'node qualifier', 'edge qualifier', 'statement qualifier']
    description: >-
      any slot that relates an association to another entity

  qualifier:
    is_a: association slot
    description: >-
      grouping slot for all qualifiers on an edge.  useful for testing compliance with association classes
    in_subset:
      - translator_minimal

  original subject:
    is_a: association slot
    description: >-
      used to hold the original subject of a relation (or predicate) that an external knowledge
      source uses before transformation to match the biolink-model specification.

  original object:
    is_a: association slot
    description: >-
      used to hold the original object of a relation (or predicate) that an external knowledge
      source uses before transformation to match the biolink-model specification.

  original predicate:
    aliases: ['original relation', 'relation']
    is_a: association slot
    description: >-
      used to hold the original relation/predicate that an external knowledge
      source uses before transformation to match the biolink-model specification.
    id_prefixes:
      - RO
      - BSPO
      - SIO
    domain: association
    range: uriorcurie

  subject feature name:
    is_a: association slot
    description: >-
      Used to describe a subordinate feature of the associated subject
      for example, a particular sequence variant of a gene

  object feature name:
    is_a: association slot
    description: >-
      Used to describe a subordinate feature of the associated object
      for example, a symptom diagnosis of a disease

  subject closure:
    is_a: association slot
    description: >-
      Used to hold the subject closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    annotations:
      denormalized: true

  object closure:
    is_a: association slot
    description: >-
      Used to hold the object closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    examples:
      - value: "['MONDO:0000167', 'MONDO:0005395']"
        description: >-
          The object closure of the association between the gene
          'BRCA1' and the disease 'breast cancer' is the set of all
          diseases that are ancestors of 'breast cancer' in the
          MONDO ontology.  Note: typically the "subclass of" and "part of"
          relations are used to construct the closure, but other relations
          may be used as well.
    annotations:
      denormalized: true

  subject category:
    is_a: association slot
    description: >-
      Used to hold the biolink class/category of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: false
    domain: association
    range: ontology class
    examples:
      - value: "biolink:Gene"
        description: >-
          The subject category of the association between the gene
          'BRCA1' and the disease 'breast cancer' is 'biolink:Gene'.
    annotations:
      denormalized: true

  object category:
    is_a: association slot
    description: >-
      Used to hold the biolink class/category of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: false
    domain: association
    range: ontology class
    examples:
      - value: "biolink:Disease"
        description: >-
            The object category of the association between the gene
            'BRCA1' and the disease 'breast cancer' is 'biolink:Disease'.
    annotations:
      denormalized: true

  subject category closure:
    is_a: association slot
    description: >-
      Used to hold the subject category closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    range: ontology class
    examples:
      - value: "['biolink:Gene', 'biolink:NamedThing']"
        description: >-
          The subject category closure of the association between the gene
          'BRCA1' and the disease 'breast cancer' is the set of all
          biolink classes that are ancestors of 'biolink:Gene' in the
          biolink model.  Note: typically the "subclass of" and "part of"
          relations are used to construct the closure, but other relations
          may be used as well.
    annotations:
      denormalized: true

  object category closure:
    is_a: association slot
    description: >-
      Used to hold the object category closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    range: ontology class
    examples:
      - value: "['biolink:Disease', 'biolink:NamedThing']"
        description: >-
          The object category closure of the association between the gene
          'BRCA1' and the disease 'breast cancer' is the set of all
          biolink classes that are ancestors of 'biolink:Disease' in the
          biolink model.  Note: typically the "subclass of" and "part of"
          relations are used to construct the closure, but other relations
          may be used as well.
    annotations:
      denormalized: true

  subject label closure:
    is_a: association slot
    description: >-
      Used to hold the subject label closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    range: string
    examples:
      - value: "['BRCA1']"
        description: >-
          The subject label closure of the association between the gene
          'BRCA1' and the disease 'breast cancer' is the set of all
          labels that are ancestors of 'BRCA1' in the
          biolink model.
    annotations:
      denormalized: true

  object label closure:
    is_a: association slot
    description: >-
      Used to hold the object label closure of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: true
    domain: association
    range: string
    examples:
      - value: "breast cancer"
        description: >-
          The object label closure of the association between the gene
          'BRCA1' and the disease 'breast cancer' is the set of all
          labels that are ancestors of 'breast cancer' in the
          biolink model.
      - value: "cancer"
    annotations:
      denormalized: true

  subject namespace:
    aliases: ["subject prefix"]
    is_a: association slot
    description: >-
      Used to hold the subject namespace of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: false
    domain: association
    range: string
    examples:
      - value: "NCBIGene"
        description: >-
          The subject namespace of the association between the gene
          'BRCA1' and the disease 'breast cancer' is 'NCBIGene'.
    annotations:
      denormalized: true

  object namespace:
    aliases: ["object prefix"]
    is_a: association slot
    description: >-
      Used to hold the object namespace of an association. This is a denormalized
      field used primarily in the SQL serialization of a knowledge graph via KGX.
    multivalued: false
    domain: association
    range: string
    examples:
      - value: "MONDO"
        description: >-
          The object namespace of the association between the gene
          'BRCA1' and the disease 'breast cancer' is 'MONDO'.
    annotations:
      denormalized: true

  subject:
    is_a: association slot
    local_names:
      ga4gh: annotation subject
      neo4j: node with outgoing relationship
    description: >-
      connects an association to the subject of the association.
      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.
    required: true
    domain: association
    range: named thing
    slot_uri: rdf:subject
    exact_mappings:
      - owl:annotatedSource
      - OBAN:association_has_subject

  object:
    is_a: association slot
    description: >-
      connects an association to the object of the association.
      For example, in a gene-to-phenotype association, the gene is subject and phenotype is object.
    required: true
    domain: association
    range: named thing
    local_names:
      ga4gh: descriptor
      neo4j: node with incoming relationship
    slot_uri: rdf:object
    exact_mappings:
      - owl:annotatedTarget
      - OBAN:association_has_object

  predicate:
    is_a: association slot
    description: >-
      Has a value from the Biolink 'related_to' hierarchy. In RDF,  this
      corresponds to rdf:predicate and in Neo4j this corresponds to the
      relationship type. The convention is for an edge label in snake_case
      form. For example, biolink:related_to, biolink:causes, biolink:treats
    range: uriorcurie
    required: true
    local_names:
      ga4gh: annotation predicate
      translator: predicate
    slot_uri: rdf:predicate
    exact_mappings:
      - owl:annotatedProperty
      - OBAN:association_has_predicate

  logical interpretation:
    is_a: association slot
    required: false
    domain: association
    range: LogicalInterpretationEnum
    exact_mappings:
      - os:LogicalInterpretation

  relation:
    deprecated: "true"

  negated:
    is_a: association slot
    range: boolean
    description: >-
      if set to true, then the association is negated i.e. is not true

  has confidence level:
    is_a: association slot
    description: >-
      connects an association to a qualitative term denoting the level of confidence

  has confidence score:
    is_a: association slot
    range: float
    description: >-
      connects an association to a quantitative (numeric) value that can be interpreted
      as an indicator of the degree of confidence that a piece of information is true,
      and accurately reflects the aspect of reality it is about.
    exact_mappings:
      - SEPIO:0000168
    close_mappings:
      - SEPIO:0000187
      - SEPIO:0000167

  has evidence of type:
    is_a: association slot
    range: evidence type
    description: >-
      Connects an association to an evidence type ontology term.
      Generally represents terms from the ECO ontology.
    multivalued: true

  has evidence:
    is_a: association slot
    range: information content entity
    description: >-
      Connects an association to detailed information providing supporting evidence.
    exact_mappings:
      - RO:0002558
    multivalued: true
    inlined: false

  has study results:
    is_a: association slot
    domain: study
    range: study result
    multivalued: true
    inlined_as_list: true
    description: >-
      Connects an study to instances of its study result

  log odds ratio:
    is_a: node property
    description: >-
      The natural logarithm of the odds ratio (OR), or the ratio of
      the odds of an event Y occurring in an exposed group versus
      the odds of an event Y occurring in a non-exposed group.
    range: float

  log odds ratio 95 ci:
    is_a: node property
    description: >-
      The ninety-five percent confidence range in which the true log odds ratio for the sample population falls.
      To calculate the 95% confidence interval (CI) for a log odds ratio (a pair of numbers),
      you need the standard error (SE) of the log odds ratio.  This interval helps you understand
      the precision of your estimate and whether the association is statistically significant.
    range: float
    multivalued: true
    examples:
      - value: "[0.6996904681742875, 1.6429124024089072]"

  total sample size:
    is_a: dataset count
    description: >-
      The total number of patients or participants within a sample population.
    range: integer

  mechanism of action:
    is_a: association slot
    range: boolean
    description: >-
      a boolean flag to indicate if the edge is part of a path or subgraph of a knowledge graph that constitutes
      the mechanism of action for a result.
    exact_mappings:
      - NCIT:C54680
      - MI:2044
      - LOINC:MTHU019741

  knowledge source:
    is_a: association slot
    description: >-
      An Information Resource from which the knowledge expressed in an Association was
      retrieved, directly or indirectly. This can be any resource through which the
      knowledge passed on its way to its currently serialized form. In practice,
      implementers should use one of the more specific subtypes of this generic property.
    close_mappings:
      - pav:providedBy

  provided by:
    is_a: node property
    description: >-
      The value in this node property represents the knowledge provider that created or assembled the
      node and all of its attributes.  Used internally to represent how a particular node made its way into a
      knowledge provider or graph.
    multivalued: true

  primary knowledge source:
    is_a: knowledge source
    description: >-
      The most upstream source of the knowledge expressed in an Association that an
      implementer can identify.  Performing a rigorous analysis of upstream data providers is expected; every effort
      is made to catalog the most upstream source of data in this property.  Only one data source should be declared
      primary in any association.  "aggregator knowledge source" can be used to capture non-primary sources.
    notes:
      - >-
        For example: a single ChemicalToGene Edge originally curated by ClinicalTrials.org, is aggregated by ChEMBL, then
        incorporated into the MolePro KP, then sent via TRAPI message to the ARAGORN ARA, and finally sent to
        the NCATS ARS. The retrieval path for this Edge is as follows:
        ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   MolePro  --retrieved_from--> ChEMBL --retrieved_from-->  ClinicalTrials.gov
        The "primary knowledge source" for this edge is "infores:clinical-trials-gov".  "infores:chembl" and "infores:molecular_data_provider"
        are listed in the "aggregator knowledge source" property.
    multivalued: false

  aggregator knowledge source:
    is_a: knowledge source
    description: >-
      An intermediate aggregator resource from which knowledge expressed in an Association was
      retrieved downstream of the original source, on its path to its current serialized form.
    multivalued: true
    notes:
      - >-
        For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP,
        through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse,
        the Edge is passed to the Ranking Agent’s ARAGORN ARA,
        and then on to the ARS. The retrieval path for this Edge is as follows:
        ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse
        This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of
        data from which the knowledge was derived.
        The "primary knowledge source" for this edge is "infores:icees-asthma". A "supporting data source" for this KP-
        generated knowledge is "infores:unc-cdw-health."  The "aggregator knowledge source" for this data is "infores:aragorn-ara"

  supporting data source:
    is_a: association slot
    description: >-
      An Information Resource from which data was retrieved and subsequently used as
      evidence to generate the knowledge expressed in an Association (e.g. through
      computation on, reasoning or inference over the retrieved data).
    multivalued: true
    notes:
      - >-
        For example, in this Feature Variable Association Edge generated by the Exposure Agent’s ICEES KP,
        through statistical analysis of clinical and environmental data supplied by the UNC Clinical Data Warehouse,
        the Edge is passed to the Ranking Agent’s ARAGORN ARA,
        and then on to the ARS. The retrieval path for this Edge is as follows:
        ARS--retrieved_from-->  ARAGORN  --retrieved_from-->   ICEES --supporting_data_from-->  UNC Data Warehouse
        This example illustrates how to represent the source provenance of KP-generated knowledge, including the source of
        data from which the knowledge was derived.
        The "primary knowledge source" for this edge is "infores:icees-asthma". A "supporting data source" for this KP-
        generated knowledge is "infores:unc-cdw-health."  The "aggregator knowledge source" for this data is "infores:aragorn-ara"

  supporting data set:
    is_a: association slot
    description: >-
      A set of data used as evidence to generate the knowledge expressed in an Association (e.g. through
      computation on, reasoning or inference over the retrieved data).
    multivalued: true

  chi squared statistic:
    is_a: node property
    range: float
    description: >-
      The chi-squared statistic measures how much observed
      data deviate from expected values under the null hypothesis.
    exact_mappings:
      - STATO:0000030
    examples:
      - value: "26.38523077566414"

  chi squared dof:
    is_a: node property
    description: >-
       Degrees of freedom (dof) in a chi-squared test referring to the
       number of values in the final calculation of a statistic that are free to vary
    range: integer
    examples:
      - value: "1"

  chi squared p:
    is_a: node property
    description: >-
       The chi-square p-value tells you the probability that the observed differences
       (or associations) in your data occurred by random chance, assuming the null hypothesis is true.
    range: float
    examples:
      - value: "2.7967079822744063e-07"

  fisher exact odds ratio:
    is_a: node property
    description: >-
       The Fisher Exact Test is used to determine whether there is a non-random association between
       two categorical variables in a 2×2 contingency table, especially when sample sizes are small.
       The odds ratio (OR) quantifies the strength of that association.
          OR = 1 implies No association
          OR > 1 implies Positive association (Group A more likely to have Outcome 1)
          OR < 1 implies Negative association (Group A less likely to have Outcome 1)
    range: float
    examples:
      - value: "3.226188583240579"

  fisher exact p:
    is_a: node property
    description: >-
      The Fisher exact p-value tells you the probability of observing a table
      as extreme as (or more extreme than) your actual data, assuming that
      the null hypothesis of independence is true. It's most commonly used
      for 2×2 contingency tables, especially when sample sizes
      are small or expected counts are low.
    range: float
    examples:
      - value: "2.8581244515361156e-06"

  z score:
    aliases: ['z-score', 'z-value', 'standard score', 'normal score']
    is_a: association slot
    range: float
    description: >-
      A measure of the divergence of an individual experimental result from
      the most probable result, the mean. Z is expressed in terms of the number
      of standard deviations from the mean value.
    exact_mappings:
      - STATO:0000104
      - NCIT:C68741
      - EDAM-DATA:1668

  p value:
    aliases: ['unadjusted p value']
    is_a: association slot
    range: float
    description: >-
      A quantitative confidence value that represents the probability of
      obtaining a result at least as extreme as that actually obtained,
      assuming that the actual value was the result of chance alone.
    exact_mappings:
      - OBI:0000175
      - NCIT:C44185
      - EDAM-DATA:1669

  evidence count:
    is_a: association slot
    description: >-
      The number of evidence instances that are connected to an association.
    range: integer

  dataset count:
    is_a: association slot
    description: >-
      The total number of instances in a dataset/cohort.
    range: integer
    examples:
      - value: "100000"

  concept count subject:
    is_a: association slot
    description: >-
      The number of instances in a dataset/cohort whose records contain
      the concept in the subject slot of an association.
    range: integer
    examples:
      - value: "489"

  concept count object:
    is_a: association slot
    description: >-
      The number of instances in a dataset/cohort whose records contain
      the concept in the object slot of an association.
    range: integer

  concept pair count:
    is_a: association slot
    description: >-
      The number of instances in a dataset/cohort whose records contain
      both the subject and object concept of an association.
    range: integer
    examples:
      - value: "1731"

  expected count:
    is_a: association slot
    description: >-
      The expected (calculated) number of instances in a dataset/cohort whose records contain both the subject and
      object concept of an association if the subject and object concepts are independent.

  relative frequency subject:
    is_a: association slot
    description: >-
      The frequency at which subject and object concepts co-occur in
      records within a dataset/cohort, relative to the frequency at which the subject
      concept appears in these same records.
    range: float
    examples:
      - value: "0.01840490798"

  relative frequency object:
    is_a: association slot
    description: >-
      The frequency at which subject and object concepts co-occur in
      records within a dataset/cohort, relative to the frequency at which the object
      concept appears in these same records.
    range: string

  relative frequency subject confidence interval:
    is_a: association slot
    description: >-
      The 99% confidence interval for the relative_frequency_subject calculation
      (i.e. the range of values within which the true value has a 99% chance of falling)
    range: string

  relative frequency object confidence interval:
    is_a: association slot
    description: >-
      The 99% confidence interval for the relative_frequency_object calculation
      (i.e. the range of values within which the true value has a 99% chance of falling)
    range: string

  adjusted p value:
    is_a: p value
    description: >-
      The adjusted p-value is the probability of obtaining test results
      at least as extreme as the results actually observed, under the assumption that
      the null hypothesis is correct, adjusted for multiple comparisons.
      P is always italicized and capitalized. The actual P value* should be expressed (P=. 04)
      rather than expressing a statement of inequality (P<. 05), unless P<.
    range: float

  bonferonni adjusted p value:
    is_a: adjusted p value
    description: >-
      The Bonferroni correction is an adjustment made to P values when several dependent or independent
      statistical tests are being performed simultaneously on a single data set. To perform a Bonferroni
      correction, divide the critical P value (α) by the number of comparisons being made.  P is always italicized and
      capitalized. The actual P value* should be expressed (P=. 04) rather than expressing a statement of inequality
      (P<. 05), unless P<.
    range: float
    examples:
      - value: "0.018"

  effect size:
    is_a: association slot
    range: float
    description: >-
      A quantitative measure of the magnitude and direction of an effect or
      association between the subject and object of an edge, as estimated by a
      statistical method. The specific metric used (e.g. Cohen's d, odds ratio,
      Pearson's r) is indicated by the companion 'effect type' slot.
    notes:
      - >-
        The numeric value here is metric-dependent and should always be
        interpreted together with 'effect type'. For example, an effect size of
        0.8 with effect type 'cohens_d' means a large standardized mean
        difference, whereas 0.8 with effect type 'pearsons_r' means a strong
        positive linear correlation.
    exact_mappings:
      - STATO:0000085

  effect type:
    is_a: association slot
    range: EffectTypeEnum
    description: >-
      Specifies the statistical metric or method used to compute the numeric
      value in the companion 'effect size' slot. This disambiguates the effect
      size value, which is otherwise uninterpretable without knowing the metric
      (e.g. Cohen's d vs. odds ratio vs. Pearson's r).
    notes:
      - >-
        This slot should only be populated when 'effect size' is also populated.
        Enforced via a class rule on `association`.
    examples:
      - value: cohens_d
      - value: odds_ratio
      - value: pearsons_r

  supporting text:
    is_a: node property
    description: The segment of text from a document that supports the mined assertion.
    multivalued: true
    range: string
    examples:
      - value: "Here, we report two new cases of rivaroxaban-induced hepatitis."

  supporting documents:
    deprecated: "true"
    is_a: association slot
    description: >-
      One or more referenceable documents that report the statement expressed in an Association, or provide
      information used as evidence supporting this statement.
    range: uriorcurie
    multivalued: true
    examples:
      - value: PMID:12345678

  subject location in text:
    is_a: node property
    description: >-
      Character offsets for the text span(s) in the supporting text corresponding
      to the subject concept of the extracted assertion.
    range: integer
    examples:
      - value: "33"
    multivalued: true

  object location in text:
    is_a: node property
    description: >-
      Character offsets for the text span(s) in the supporting text corresponding
      to the object concept of the extracted assertion
    range: integer
    examples:
      - value: "53"
    multivalued: true

  extraction confidence score:
    is_a: node property
    description: >-
      A quantitative confidence value that represents the probability of
      obtaining a result at least as extreme as that actually obtained,
      assuming that the actual value was the result of chance alone.
    range: float
    examples:
      - value: "0.6188385904738642"

  supporting document type:
    is_a: node property
    description: >-
      The document type (e.g., Journal Article, Case Study, Preprint) for
      the supporting document used in a Text Mining Result.
    range: string
    examples:
      - value: Journal Article

  supporting document year:
    is_a: node property
    description: >-
      The document year (typically the publication year) for the supporting
      document used in a Text Mining Result.
    range: integer
    examples:
      - value: "2018"

  supporting text section type:
    is_a: node property
    description: >-
      The section of the supporting text of a Text Mining Result within
      the supporting document. This is in the form of the name of the document section
      (e.g., Abstract, Introduction) that contains the supporting text.
    range: string
    examples:
      - value: abstract

  ln ratio:
    is_a: association slot
    description: the natural log of the ratio of co-occurrence to expected
    range: float
    examples:
      - value: "2.922827136"

  ln ratio confidence interval:
    is_a: association slot
    description: >-
      The 99% confidence interval for the ln_ratio calculation
      (i.e. the range of values within which the true value has a 99% chance of falling)
    range: float
    examples:
      - value: "2.922827136"

  interacting molecules category:
    is_a: association slot
    range: ontology class
    exact_mappings:
      - MI:1046
    values_from:
      - MI
    examples:
      - value: MI:1048
        description: smallmolecule-protein

  expression site:
    description: >-
      location in which gene or protein expression takes place.
      May be cell, tissue, or organ.
    is_a: association slot
    range: anatomical entity
    examples:
      - value: UBERON:0002037
        description: cerebellum

  phenotypic state:
    description: >-
      in experiments (e.g. gene expression) assaying diseased or unhealthy
      tissue, the phenotypic state can be put here, e.g. MONDO ID.
      For healthy tissues, use XXX.
    is_a: association slot
    range: disease or phenotypic feature

  allelic requirement:
    description: >-
      The allele configuration of a particular gene or variant required for the
      expression of a disease or phenotype in a specific patient or instance.
    is_a: association slot
    range: string
    pattern: "^HP:\\d{7}$"
    comments:
      - >-
        This edge property may be used by associations between Genes or
        SequenceVariants and DiseaseOrPhenotypicFeatures to provide the inheritance
        pattern and genetic context of the relationship.
        Terms from the HP mode of inheritance sub-ontology (HP:0000005) should be used
        in the value of this slot. This slot differs from the predicate "has_mode_of_inheritance",
        in that the predicate is used to link a disease or phenotype with its general
        inheritance pattern (how it is typically transmitted from one generation to the next,
        regardless of the specific genetic variant that is present in an individual or instance).

  # Affinity Study Result slot definitions

  pIC50:
    description: >-
      Negative base 10 logarithm of the the inhibitory concentration 50% (IC50)
      measures the concentration needed to block or inhibit a biological response.
    is_a: node property
    range: quantity value

  pEC50:
    description: >-
      Negative base 10 logarithm of the molar concentration of
      a chemical that produces a 50% excitation of a function
    is_a: node property
    range: quantity value

  pAC50:
    description: >-
      pAC50 is a base 10 negative logarithmic measure of potency for an activating (agonist) interaction
      between a molecule (such as a drug or ligand) and a biological target (such as a receptor or enzyme),
      where AC50 is the concentration (in molar units) of a compound that produces 50% of its
      maximal activation in a functional assay.
    is_a: node property
    range: quantity value

  pXC50:
    description: >-
      In the context of molecular interactions and drug discovery, pXC50 is a generic,
      base 10 negative logarithmic measure of compound potency that unifies different types of
      half‑maximal concentration values into a single notation, where XC50 means
      “the concentration at which 50% of the maximal effect is observed”, and X is a placeholder
      for the type of effect being measured (e.g., inhibition or activation). The X in pXC50 is
      intentionally generic and can represent different assay endpoints.
    is_a: node property
    range: quantity value

  pKi:
    description: >-
      Negative base 10 logarithm of the equilibrium binding affinity for a ligand that reduces
      the activity of its binding partner. Ki represents the concentration at which the
      inhibitor ligand occupies 50% of the receptor sites when no competing ligand is present
    is_a: node property
    range: quantity value

  pKon:
    description: >-
      Negative base 10 logarithm of the association rate constant (Kon) describes
      the rate at which molecules bind to each other.
    is_a: node property
    range: quantity value

  pKoff:
    description: >-
      Negative base 10 logarithm of the dissociation rate constant (koff) describes
      the rate at which they dissociate.
    is_a: node property
    range: quantity value

  pKd:
    description: >-
      Negative base 10 logarithm of the equilibrium dissociation constant (KD) which
      is a measure of the binding affinity and is defined as the ratio of koff to kon.
    is_a: node property
    range: quantity value

  # End of Affinity Study Result slot definitions

  publications:
    aliases: ['supporting publications', 'supporting documents']
    description: >-
      One or more publications that report the statement expressed in an
      Association, or provide information used as evidence supporting this statement.
    comments:
      - >-
          The notion of a ‘Publication’ is considered broadly to include any
          document made available for public consumption. It covers journal issues,
          individual articles, and books - and also things like article pre-prints,
          white papers, patents, drug labels, web pages, protocol documents, etc.
    is_a: association slot
    multivalued: true
    range: publication

  sources:
    aliases: ['source retrieval provenance']
    description: >-
      A set of RetrievalSources, which traces where the statement expressed in an
      Association came from. For example, the provenance of a Gene-Chemical Edge
      might be traced through the Translator Resource that provided it (e.g. MolePro)
      to one or more intermediate aggregator resources (e.g. ChEMBL), and finally to
      the resource that originally created/curated it (e.g. ClinicalTrials.org).
    comments:
      - >-
        Note that source retrieval provenance concerns the mechanical retrieval and
        transformation of data between web accessible information systems. It does not
        trace the source of knowledge back to specific publications or data sets. And
        it is not concerned with the reasoning, inference or analysis activities that
        generate knowledge in the first place (this is instead covered by 'knowledge
        level' and 'agent type' properties).
    is_a: association slot
    multivalued: true
    range: retrieval source

  associated environmental context:
    is_a: association slot
    description: >-
      An attribute that can be applied to an association where the association holds between two entities
      located or occurring in a particular environment. For example, two microbial taxa may interact in the context of
      a human gut; a disease may give rise to a particular phenotype in a particular environmental exposure.
       # TODO: add examples of values for this property.

  sequence localization attribute:
    is_a: association slot
    domain: genomic sequence localization
    description: >-
      An attribute that can be applied to a genome sequence localization edge. These edges
      connect a nucleic acid entity such as an exon to an entity such as a chromosome. Edge properties are used
      to ascribe specific positional information and other metadata to the localization. In pragmatic terms
      this can be thought of as columns in a GFF3 line.

  interbase coordinate:
    is_a: sequence localization attribute
    aliases: ['zero-based', 'half-open', 'space-based']
    description: >-
      A position in interbase coordinates. Interbase coordinates start at position 0 instead of position 1.
      This is applied to a sequence localization edge.
    range: integer

  start interbase coordinate:
    is_a: interbase coordinate
    description: >-
      The position at which the subject nucleic acid entity starts
      on the chromosome or other entity to which it is located on.
      (ie: the start of the sequence being referenced is 0).
    close_mappings:
      - faldo:begin
    annotations:
      opposite_of: end interbase coordinate

  end interbase coordinate:
    is_a: interbase coordinate
    description: >-
      The position at which the subject nucleic acid entity ends
      on the chromosome or other entity to which it is located on.
    close_mappings:
      - faldo:end
    annotations:
      opposite_of: start interbase coordinate

  start coordinate:
    is_a: base coordinate
    aliases: ['start']
    description: >-
      The position at which the subject genomic entity starts
      on the chromosome or other entity to which it is located on.
      (ie: the start of the sequence being referenced is 1).
    exact_mappings:
      - gff3:start
    close_mappings:
      - faldo:begin

  end coordinate:
    is_a: base coordinate
    aliases: ['end']
    description: >-
      The position at which the subject genomic entity ends
      on the chromosome or other entity to which it is located on.
    exact_mappings:
      - gff3:end
    close_mappings:
      - faldo:end

  genome build:
    is_a: sequence localization attribute
    description: >-
      The version of the genome on which a feature is located.
      For example, GRCh38 for Homo sapiens.
    range: StrandEnum
    exact_mappings:
      - gff3:strand

  strand:
    is_a: sequence localization attribute
    description: >-
      The strand on which a feature is located. Has a value of '+'
      (sense strand or forward strand) or '-' (anti-sense strand or reverse strand).
    range: StrandEnum
    exact_mappings:
      - gff3:strand

  phase:
    is_a: sequence localization attribute
    domain: coding sequence
    description: >-
      The phase for a coding sequence entity. For example, phase of a
      CDS as represented in a GFF3 with a value of 0, 1 or 2.
    range: PhaseEnum
    exact_mappings:
      - gff3:phase

  clinical approval status:
    is_a: association slot
    description: >-
      The clinical approval status of a chemical entity for treating a specific disease or condition,
      as captured in the context of the association between the chemical and the disease.
    range: ClinicalApprovalStatusEnum

  max research phase:
    is_a: association slot
    description: >-
      The maximum research phase reached for a specific chemical-disease pair, indicating the highest
      clinical trial phase achieved for the chemical entity's investigation as a treatment for the
      associated disease or condition.
    range: ResearchPhaseEnum

  number of cases:
    is_a: has count
    description: >-
      The number of cases in a study or clinical trial, primarily used in conversion of drug approval data.

  has studies:
    is_a: node property
    range: study
    description: >-
      Studies which are components of a given node entity (e.g. a publication)
    multivalued: true
    close_mappings:
      - OBAN:has_study_id

  has supporting studies:
    is_a: association slot
    range: study
    description: >-
      Studies that produced information used as evidence
      to generate the knowledge expressed in an Association.
    multivalued: true
    close_mappings:
      - OBAN:has_study_id

  study metadata:
    is_a: node property
    description: >-
      Information describing how a study was designed and carried out. In practice, data creators should use one of
      the more specific subtypes of this property.
    comments:
      - This is an abstract slot that groups a set of concrete slots that describe a Study itself. Because each of
        these properties describes a single study, they are node properties of the Study class rather than
        association slots. An Association links to the studies that supported it via 'has supporting studies', and
        the metadata for each of those studies is read off the Study node.
    abstract: true

  study method types:
    is_a: study metadata
    description: >-
      Type(s) of methods that were applied in a study (e.g. a type of experimental assay, or statistical calculation,
      or computational analysis).
    range: uriorcurie
    multivalued: true

  study method description:
    is_a: study metadata
    description: >-
      A uri or curie pointing to information about the methodology used to generate the data produced by a study.
    range: uriorcurie

  study size:
    is_a: study metadata
    description: >-
      The sample size used in a study (e.g. 'n' of a cohort for a clinical study).
    range: integer

  study cohort:
    is_a: study metadata
    description: >-
      A description of the study population/cohort that was interrogated by a study.
    range: string

  study date range:
    is_a: study metadata
    description: >-
      The date range over which data was collected in a study.
    range: string

  study context:
    is_a: study metadata
    description: >-
      A term or terms describing the experimental setting/context in which a study was carried out ('context' may be
      defined by many factors, including taxon, model system, tissue type, disease, etc.).
    range: string

   ## Deprecated 'supporting study *' association slots. Each of these describes a single study, but an Association
   ## may cite several studies via the multivalued 'has supporting studies' slot, leaving no way to say which value
   ## belongs to which study. They have been replaced by the 'study metadata' node properties above, which hang off
   ## the Study node itself. None of these slots were ever listed under a class, so none were usable as attributes.
  supporting study metadata:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_metadata
    is_a: association slot
    description: >-
      Information about a study used to generate information used as evidence to support the knowledge expressed in an
      Association. In practice, data creators should use one of the more specific subtypes of this property.
    abstract: true

  supporting study method types:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_method_types
    is_a: supporting study metadata
    description: >-
      Type(s) of methods that were applied in a study used to generate the information used as evidence (e.g. a type of
      experimental assay, or statistical calculation, or computational analysis).
    range: uriorcurie
    multivalued: true

  supporting study method description:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_method_description
    is_a: supporting study metadata
    description: >-
      A uri or curie pointing to information about the methodology used to generate data supporting an Association.
    range: uriorcurie

  supporting study size:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_size
    is_a: supporting study metadata
    description: >-
      The sample size used in a study that provided evidence for the association (e.g. 'n' of a cohort for a
      clinical study).
    range: integer

  supporting study cohort:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_cohort
    is_a: supporting study metadata
    description: >-
      A description of a study population/cohort that was interrogated to provide evidence for the association.
    range: string

  supporting study date range:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_date_range
    is_a: supporting study metadata
    description: >-
      The date range over which data was collected in a study that provided evidence for an Association.
    range: string

  supporting study context:
    deprecated: "true"
    deprecated_element_has_exact_replacement: biolink:study_context
    is_a: supporting study metadata
    description: >-
      A term or terms describing the experimental setting/context in which evidence supporting the Association was
      generated ('context' may be defined by many factors, including taxon, model system, tissue
      type, disease, etc.).
    range: string

  knowledge level:
    aliases: ['knowledge type']
    is_a: association slot
    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.
    notes:
      - >-
        The notion of a 'level' of knowledge can in one sense relate to the strength
        of a statement - i.e. how confident we are that it says something true about
        our domain of discourse. Here, we can generally consider Assertions to be
        stronger than Entailments to be stronger than Predictions.
        But in another sense, 'level' of knowledge can refer to the scope or specificity of
        what a statement expresses - on a spectrum from context-specific results of a data
        analysis, to generalized assertions of knowledge or fact. Here, Statistical
        Associations and  Observations represent more foundational statements that are only
        slightly removed from the data on which they are based (the former reporting the
        direct results of  an analysis in terms of correlations between variables in the data,
        and the latter describing phenomena that were observed/reported to have occurred).
    domain: association
    range: KnowledgeLevelEnum
    multivalued: false
    required: true
    examples:
      - value: knowledge_assertion
      - value: prediction
      - value: statistical_association

  agent type:
    is_a: association slot
    description: >-
        Describes the high-level category of agent who originally generated a
        statement of knowledge or other type of information.
    notes:
      - >-
          Note that this property indicates the type of agent who produced a
          final statement of knowledge, which is often different from the
          agent oragents who produced information used as evidence to
          support generation of this knowledge. For example, if a human curator
          concludes that a particular gene variant causes a medical condition -
          based on their interpretation of information produced by computational
          modeling tools, automated data analysis pipelines, and robotic laboratory
          assay systems - the agent_type for this statement is 'manual agent' -
          despite all of the evidence being created by automated agents. But if any
          of these systems is programmed to generate knowledge statements
          directly and without human assistance, the statement would be attributed
          to an 'automated_agent'.
    domain: association
    range: AgentTypeEnum
    multivalued: false
    required: true
    examples:
      - value: manual_agent
      - value: automated_agent
      - value: computational_model
      - value: text_mining_agent

  has biological sex:
    description: >-
      The biological sex of the entity regarding a case description from a phenopacket
    required: false
    range: biological sex

  druggable gene category:
    description: Classification of druggable genes based on knowledge about drug or small molecule activities.
    range: DruggableGeneCategoryEnum

classes:
  # Add the KGX-specific classes without modifying biolink classes
  KnowledgeGraph:
    description: >-
      A container representing a knowledge graph serialized in KGX (Knowledge Graph Exchange) format.
      A KnowledgeGraph aggregates a collection of nodes (entities) and edges (relationships between
      entities) conforming to the KGX specification, enabling interoperable exchange of biomedical
      knowledge graphs across tools and systems in the Biolink ecosystem.
    slots:
      - nodes
      - edges
  Node:
    description: >-
      A generic node in a KGX-formatted knowledge graph, representing a single entity or concept
      with a unique identifier. This class serves as the structural superclass for `named thing`
      in Biolink, providing the minimal KGX-compliant contract (identifier, category, etc.) that
      any biolink entity participating in a knowledge graph must satisfy.
  Edge:
    description: >-
      A generic edge in a KGX-formatted knowledge graph, representing a directed relationship
      between a subject node and an object node qualified by a predicate. This class serves as
      the structural superclass for `association` in Biolink, providing the minimal KGX-compliant
      contract (subject, predicate, object, and associated metadata) that any biolink relationship
      participating in a knowledge graph must satisfy.

  knowledge graph:
    description: >-
      A knowledge graph is a structured representation of knowledge in the form of a graph,
      where nodes represent entities or concepts, and edges represent relationships between them.
      Knowledge graphs are used to organize and connect information from various sources,
      enabling better understanding, analysis, and reasoning about complex domains.
    slots:
      - nodes
      - edges
    tree_root: true
    abstract: true

  mapping collection:
    description: >-
      An abstract container class that holds a set of predicate mappings.
      Serves as a top-level root for documents that enumerate how
      third-party or deprecated predicates should be rewritten to Biolink
      predicates and their associated qualifiers.
    abstract: true
    slots:
      - predicate mappings
    tree_root: true

  predicate mapping:
    description: >-
      A deprecated predicate mapping object contains the deprecated predicate and an example of the rewiring that should
      be done to use a qualified statement in its place.
    slots:
      - mapped predicate
      - subject aspect qualifier
      - subject direction qualifier
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject context qualifier
      - predicate
      - qualified predicate
      - object aspect qualifier
      - object direction qualifier
      - object form or variant qualifier
      - object part qualifier
      - object derivative qualifier
      - object context qualifier
      - causal mechanism qualifier
      - anatomical context qualifier
      - species context qualifier
      - exact match
      - narrow match
      - broad match


   ## ----------
   ## ATTRIBUTES
   ## ----------

   ## Ontology Classes

  ontology class:
    mixin: true
    slots:
      - id
      - subsets
    description: >-
      a concept or class in an ontology, vocabulary or thesaurus. Note that nodes in
      a biolink compatible KG can be considered both instances of biolink classes, and
      OWL classes in their own right. In general you should not need to use this class directly.
      Instead, use the appropriate biolink class. For example, for the GO concept of endocytosis (GO:0006897),
      use bl:BiologicalProcess as the type.
    exact_mappings:
      - owl:Class
      - schema:Class
    comments:
      - >-
        This is modeled as a mixin. 'ontology class' should not be the primary type of a
        node in the KG. Instead you should use an informative bioloink category, such as AnatomicalEntity
        (for Uberon classes), ChemicalSubstance (for CHEBI or CHEMBL), etc
      - >-
        Note that formally this is a metaclass. Instances of this class are instances in the graph,
        but can be the object of 'type' edges. For example, if we had a node in the graph representing
        a specific brain of a specific patient (e.g brain001), this could have a category of bl:Sample,
        and by typed more specifically with an ontology class UBERON:nnn, which has as category bl:AnatomicalEntity
    see_also:
      - https://github.com/biolink/biolink-model/issues/486
    examples:
      - value: UBERON:0000955
        description: >-
          the class 'brain' from the Uberon anatomy ontology
    id_prefixes:
      - MESH
      - UMLS
      - KEGG.BRITE  ## br/ko number

  annotation:
    description: >-
      Biolink Model root class for entity annotations.
    abstract: true

  quantity value:
    is_a: annotation
    description: >-
      A value of an attribute that is quantitative and measurable,
      expressed as a combination of a unit, (optional) unit prefix
      and a numeric value. An optional binary relation qualifier
      may also be given, to allow capture of relative values,
      e.g., <1000.0 nM meaning "less than 1000 nanometers"
    slots:
      - has unit
      - has unit prefix
      - has numeric value
      - has binary relation
    examples:
      - object:
          # Encoding for <1000.0 nM, meaning "less than 1000 nanometers"
          has_binary_relation: less_than
          has_numeric_value: 1000.00
          has_unit_prefix: "UO:0000300"  # 'nano'
          has_unit: "UO:0000008"  # 'meter'


  attribute:
    is_a: named thing
    mixins:
      - ontology class
    description: >-
      A property or characteristic of an entity.
      For example, an apple may have properties such as color, shape, age, crispiness.
      An environmental sample may have attributes such as depth, lat, long, material.
    slots:
      - name                    # 'attribute_name'
      - has attribute type      # 'attribute_type'
       # 'value', 'value_type', 'value_type_name'
       # extracted from either of the next two slots
      - has quantitative value
      - has qualitative value
      - iri                     # 'url'
    slot_usage:
      name:
        description: >-
          The human-readable 'attribute name' can be set to a string which reflects its context of
          interpretation, e.g. SEPIO evidence/provenance/confidence annotation or it can default
          to the name associated with the 'has attribute type' slot ontology term.
    id_prefixes:
      - EDAM-DATA
      - EDAM-FORMAT
      - EDAM-OPERATION
      - EDAM-TOPIC
    exact_mappings:
      - SIO:000614
    in_subset:
      - samples

  chemical role:
    is_a: attribute
    description: >-
      A role played by the molecular entity or part thereof within a chemical context.
    id_prefixes:
      - CHEBI
    exact_mappings:
      - CHEBI:51086
    examples:
      - value: CHEBI:35469
        description: antidepressant role

  biological sex:
    description: >-
      An organismal quality inhering in a bearer by virtue of the bearer's
      ability to undergo sexual reproduction in order to differentiate
      the individuals or types involved.
    is_a: attribute
    exact_mappings:
      - PATO:0000047

  phenotypic sex:
    is_a: biological sex
    description: >-
      An attribute corresponding to the phenotypic sex of the individual,
      based upon the reproductive organs present.
    exact_mappings:
      - PATO:0001894

  genotypic sex:
    is_a: biological sex
    description: >-
      An attribute corresponding to the genotypic sex of the individual,
      based upon genotypic composition of sex chromosomes.
    exact_mappings:
      - PATO:0020000

  severity value:
    deprecated: "true"
    is_a: attribute
    description: >-
      describes the severity of a phenotypic feature or disease

  relationship quantifier:
    description: >-
      A mixin for quantifying aspects of the strength, frequency, or
      specificity of a relationship between two entities.
    mixin: true

  sensitivity quantifier:
    description: >-
      A relationship quantifier that measures the sensitivity of a
      relationship, such as the proportion of true positives correctly
      identified in a diagnostic or association context.
    is_a: relationship quantifier
    mixin: true

  specificity quantifier:
    description: >-
      A relationship quantifier that measures the specificity of a
      relationship, such as the proportion of true negatives correctly
      identified in a diagnostic or association context.
    is_a: relationship quantifier
    mixin: true

  pathognomonicity quantifier:
    is_a: specificity quantifier
    description: >-
      A relationship quantifier between a variant or symptom and a disease, which is
      high when the presence of the feature implies the existence of the disease
    mixin: true

  frequency quantifier:
    description: >-
      A relationship quantifier that expresses how often a relationship
      holds, using count, total, quotient, or percentage measures.
    is_a: relationship quantifier
    mixin: true
    slots:
      - has count
      - has total
      - has quotient
      - has percentage
    examples:
      - object:
          has_count: 42
          has_total: 100
          has_quotient: 0.42
          has_percentage: 42.0

  chemical or drug or treatment:
    description: >-
      A mixin for entities that represent chemical substances,
      pharmacological agents, or therapeutic interventions.
    mixin: true
    id_prefixes:
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - CHEBI
      - MAXO

   ## ------
   ## THINGS
   ## ------

  entity:
    description: >-
      Root Biolink Model class for all things and informational relationships, real or imagined.
    abstract: true
    slots:
      - id
      - iri
      - category
      - type    # rdf:type
      - name
      - description
      - has attribute
      - deprecated
       # evidence code(s)?

  named thing:
    is_a: entity
    description: "a databased entity or concept/class"
    slots:
      - provided by
      - xref
      - full name
      - synonym
      - exact synonym
      - broad synonym
      - narrow synonym
      - related synonym
      - equivalent identifiers
      - information content
      - taxon
    slot_usage:
      category:
        required: true
    exact_mappings:
      - BFO:0000001
      - WIKIDATA:Q35120
       # UMLS Semantic Group "Objects"
      - UMLSSG:OBJC
       # Entity
      - STY:T071
      - dcid:Thing

  relationship type:
    is_a: ontology class
    description: >-
      An OWL property used as an edge label

  taxonomic rank:
    description: >-
      A descriptor for the rank within a taxonomic classification.
      Example instance: TAXRANK:0000017 (kingdom)
    is_a: ontology class
    id_prefixes:
      - TAXRANK
    mappings:
      - WIKIDATA:Q427626

  organism taxon:
    aliases: ['taxon', 'taxonomic classification']
    description: >-
      A classification of a set of organisms. Example instances:
      NCBITaxon:9606 (Homo sapiens), NCBITaxon:2 (Bacteria).
      Can also be used to represent strains or subspecies.
    is_a: named thing
    slots:
      - has taxonomic rank
    slot_usage:
      has taxonomic rank:
        range: taxonomic rank
        multivalued: false
        mappings:
          - WIKIDATA:P105
    values_from:
      - NCBITaxon
    exact_mappings:
      - WIKIDATA:Q16521
      - STY:T001
      - bioschemas:Taxon
    narrow_mappings:
      - dcid:BiologicalSpecies
    id_prefixes:
      - NCBITaxon
      - MESH
      - UMLS
    in_subset:
      - model_organism_database

   ## Temporal Entities

  event:
    is_a: named thing
    description: >-
      Something that happens at a given place and time.
    exact_mappings:
      - NCIT:C25499
       # UMLS "Event"
      - STY:T051

   ## Administrative Entities

  administrative entity:
    description: >-
      An entity that is the byproduct of an administrative process.
    is_a: named thing
    abstract: true

  study result:
    is_a: named thing
    description: >-
      A collection of data items from a study that are about a particular study subject or experimental unit (the
      'focus' of the Result) - optionally with context/provenance metadata that may be relevant to the interpretation
      of this data as evidence.
    abstract: true
    notes:
      - >-
        The data/metadata included in a Study Result object are typically a subset of data from a larger study data set,
        that are selected by a curator because they may be useful as evidence for deriving knowledge about a specific
        focus of the study. The notion of a 'study' here is defined broadly to include any research activity at any
        scale that is aimed at generating knowledge or hypotheses. This may include a single assay or computational
        analyses, or a larger scale clinical trial or experimental research investigation.

   ## epc result sets
  concept count analysis result:
    is_a: study result
    description: >-
      A result of a concept count analysis.

  observed expected frequency analysis result:
    is_a: study result
    description: >-
      A result of a observed expected frequency analysis.

  relative frequency analysis result:
    is_a: study result
    description: >-
      A result of a relative frequency analysis.

  chi squared analysis result:
    is_a: study result
    description: >-
      A result of a chi squared analysis.

  log odds analysis result:
    is_a: study result
    description: >-
      A result of a log odds ratio analysis.

  text mining study result:
    is_a: study result
    description: >-
      A study result that represents information extracted from text using natural language processing techniques.
      This includes the extracted text, location offsets within the source document, confidence scores, and other
      metadata related to the text mining process.
    slots:
      - supporting text
      - subject location in text
      - object location in text
      - extraction confidence score
      - supporting document type
      - supporting document year
      - supporting text section type
    examples:
      - object:
          id: tmkp:id
          category: biolink:TextMiningStudyResult
          supporting_text:
            - "Here, we report two new cases of rivaroxaban-induced hepatitis."
          subject_location_in_text:
            - 33
            - 44
          object_location_in_text:
            - 53
            - 62
          extraction_confidence_score: 0.6188385904738642
          supporting_document_year: 2018
          supporting_text_section_type: abstract

  icees study result:
    is_a: study result
    description: >-
      A study result that represents a result, from a supporting Study, which is specifically associated
      with an Integrated Clinical and Environmental Exposures Service (ICEES) knowledge assertion.
    slots:
      - chi squared statistic
      - chi squared dof
      - chi squared p
      - total sample size
      - fisher exact odds ratio
      - fisher exact p
      - log odds ratio
      - log odds ratio 95 ci

  protein ligand assay result:
    is_a: study result
    description: >-
      The type of study result describing the strength of interaction affinity - or enzymatic interaction -
      between a ligand and a target protein. Measured binding or enzymatic assay values are generally stated as the
      negative base 10 logarithm of the raw measurements. For instance (i.e., in a molecular interaction
      database like BindingDb) if a ligand inhibits a target protein with a pIC50 of 8.6, then the
      affinity parameter is pIC50 and the affinity value is 8.6.
    slots:
      - pKd
      - pKi
      - pIC50
      - pEC50
      - pAC50
      - pXC50
      - pKon
      - pKoff

  study:
    is_a: activity
    description: a detailed investigation and/or analysis
    slots:
      - has study results
      - study method types
      - study method description
      - study size
      - study cohort
      - study date range
      - study context
    exact_mappings:
      - NCIT:C63536
    close_mappings:
      - SIO:001066
      - SEPIO:0000004
    narrow_mappings:
      - SIO:000994

  study variable:
    is_a: information content entity
    description: a variable that is used as a measure in the investigation of a study
    narrow_mappings:
      - NCIT:C142192  # specifies clinical study
    close_mappings:
      - STATO:0000258
      - SIO:000367

  common data element:
    is_a: information content entity
    description: >-
      A Common Data Element (CDE) is a standardized, precisely defined question, paired with a set of allowable
      responses, used systematically across different sites, studies, or clinical trials to ensure consistent
      data collection. Multiple CDEs (from one or more Collections) can be curated into Forms.
      (https://cde.nlm.nih.gov/home)
    close_mappings:
      - NCIT:C19984

  agent:
    is_a: administrative entity
    aliases: ['group']
    description: >-
      person, group, organization or project that provides
      a piece of information (i.e. a knowledge association)
    slots:
      - affiliation
      - address
    exact_mappings:
      - prov:Agent
      - dct:Agent
    narrow_mappings:
       # Organization
      - UMLSSG:ORGA
      - STY:T092
       # Health Care Related Organization
      - STY:T093
       # Professional Society
      - STY:T094
       # Self-help or Relief Organization
      - STY:T095
       # Group
      - STY:T096
    slot_usage:
      id:
        required: true
        description: >-
          Different classes of agents have distinct preferred identifiers.
          For publishers, use the ISBN publisher code.
          See https://grp.isbn-international.org/ for publisher code lookups.
          For editors, authors and  individual providers, use the individual's
          ORCID if available; Otherwise, a ScopusID, ResearchID or
          Google Scholar ID ('GSID') may be used if the author ORCID is unknown.
          Institutional agents could be identified by an
          International Standard Name Identifier ('ISNI') code.
        values_from:
           # CURIE space for publishers
          - isbn
           # CURIE space for authors
          - ORCID
          - ScopusID
          - ResearchID
          - GSID
           # Institutional agents
          - isni
      name:
        description: >-
          it is recommended that an author's 'name' property
          be formatted as "surname, firstname initial."
    id_prefixes:
      - isbn
      - ORCID
      - ScopusID
      - ResearchID
      - GSID
      - isni

   ## General Information Entities

  information content entity:
    aliases: ['information', 'information artefact', 'information entity']
    abstract: true
    is_a: named thing
    description: >-
      a piece of information that typically describes
      some topic of discourse or is used as support.
    slots:
      - license
      - rights
      - format
      - creation date
    id_prefixes:
      - doi
    exact_mappings:
      - IAO:0000030
    narrow_mappings:
       # UMLS Semantic Group "Concepts & Ideas"
      - UMLSSG:CONC
       # Conceptual Entity
      - STY:T077
       # Idea or Concept
      - STY:T078
       # Temporal Concept
      - STY:T079
       # Qualitative Concept
      - STY:T080
       # Quantitative Concept
      - STY:T081
       # Spatial Concept
      - STY:T082
       # Regulation or Law
      - STY:T089
       # Group Attribute
      - STY:T102
       # Functional Concept
      - STY:T169
       # Language
      - STY:T171
       # Classification
      - STY:T185

  dataset:
    description: >-
      an item that refers to a collection of data from a data source.
    is_a: information content entity
    exact_mappings:
      - IAO:0000100
      - dctypes:Dataset
      - schema:dataset
      - dcid:Dataset

  dataset distribution:
    is_a: information content entity
    description: >-
      an item that holds distribution level information about a dataset.
    slots:
      - distribution download url
    exact_mappings:
      - dcat:Distribution

  dataset version:
    description: >-
      an item that holds version level information about a dataset.
    is_a: information content entity
    slots:
      - has dataset
      - ingest date
      - has distribution

  dataset summary:
    description: >-
      an item that holds summary level information about a dataset.
    is_a: information content entity
    slots:
      - source web page
      - source logo

  confidence level:
    is_a: information content entity
    description: >-
      Level of confidence in a statement
    values_from:
      - cio
    exact_mappings:
      - CIO:0000028
       # statement confidence
      - SEPIO:0000187
    close_mappings:
       # assertion confidence levels
      - SEPIO:0000167

  evidence type:
    is_a: named thing
    mixins:
      - ontology class
    aliases: ['evidence code']
    description: >-
      Class of evidence that supports an association
    values_from:
      - eco
    exact_mappings:
      - ECO:0000000

  evidence:
    is_a: information content entity
    description: >-
      Dereferences detailed evidence that supports an association

    ## Publications

   # TODO: to review additional ontology relating to Publications, such as http://www.sparontologies.net/ontologies
  publication:
    is_a: information content entity
    description: >-
      Any ‘published’ piece of information. Publications are considered broadly
      to include any document or document part made available in print or on the
      web - which may include scientific journal issues, individual articles, and
      books - as well as things like pre-prints, white papers, patents, drug
      labels, web pages, protocol documents,  and even a part of a publication if
      of significant knowledge scope.
    slots:
      - authors
      - pages
      - summary
      - keywords
      - mesh terms
      - xref
      - publication type
      - has studies
     # In addition to embedded slots, instances of 'contributor association'
     # may be used to more extensively document publisher, editor and author details
    slot_usage:
      id:
        description: >-
          Different kinds of publication subtypes will have different preferred
          identifiers (curies when feasible). Precedence of identifiers for
          scientific articles is as follows: PMID if available; DOI if not; actual
          alternate CURIE otherwise. Enclosing publications (i.e. referenced by
          'published in' node property) such as books and journals, should have
          industry-standard identifier such as from ISBN and ISSN.
      name:
        description: >-
          the 'title' of the publication is generally recorded in the 'name'
          property (inherited from NamedThing). The field name 'title' is now also
          tagged as an acceptable alias for the node property 'name' (just in case).
      publication type:
        required: true
      pages:
        multivalued: true
        description: >-
          When a 2-tuple of page numbers are provided, they represent
          the start and end page of the publication within its parent publication context.
          For books, this may be set to the total number of pages of the book.
    exact_mappings:
      - IAO:0000311
    narrow_mappings:
      - IAO:0000013
       # UMLS Semantic Type "Intellectual Product"
      - STY:T170
    id_prefixes:
      - PMID
      - PMC
      - doi
      - NLMID
    in_subset:
      - model_organism_database

  book:
    is_a: publication
    description: >-
      This class may rarely be instantiated except if use cases
      of a given knowledge graph support its utility.
    slot_usage:
      id:
        required: true
        description: >-
          Books should have industry-standard identifier such as from ISBN.
      type:
        description: >-
          Should generally be set to an ontology class defined term for 'book'.
    id_prefixes:
      - isbn
      - NLMID
    in_subset:
      - model_organism_database

  book chapter:
    description: >-
      A section of a book that forms a discrete unit of a larger
      published work and may be independently authored or cited.
    is_a: publication
    slots:
      - published in
      - volume
      - chapter
    slot_usage:
      published in:
        required: true
        description: >-
          The enclosing parent book containing the chapter
          should have industry-standard identifier from ISBN.
    in_subset:
      - model_organism_database

  serial:
    aliases: ['journal']
    is_a: publication
    description: >-
      This class may rarely be instantiated except if use cases
      of a given knowledge graph support its utility.
    slots:
      - iso abbreviation
      - volume
      - issue
    slot_usage:
      id:
        required: true
        description: >-
          Serials (journals) should have industry-standard identifier such as from ISSN.
      type:
        description: >-
          Should generally be set to an ontology class defined term for 'serial' or 'journal'.
    id_prefixes:
      - issn
      - NLMID
    in_subset:
      - model_organism_database

  article:
    is_a: publication
    description: >-
      a piece of writing on a particular topic presented as a stand-alone
      section of a larger publication
    slots:
      - published in
      - iso abbreviation
      - volume
      - issue
    slot_usage:
      published in:
        required: true
        description: >-
          The enclosing parent serial containing the article should
          have industry-standard identifier from ISSN.
      iso abbreviation:
        description: >-
          Optional value, if used locally as a convenience, is set
          to the iso abbreviation of the 'published in' parent.
    exact_mappings:
      - SIO:000154
      - fabio:article
    id_prefixes:
       # By inheritance, a DOI may be used as a publication identifier; there may be other relevant namespaces
      - PMID
    in_subset:
      - model_organism_database

  journal article:
    is_a: article
    description: >-
      an article, typically presenting results of research, that is published
      in an issue of a scientific journal.
    exact_mappings:
      - IAO:0000013
      - fabio:JournalArticle
    id_prefixes:
      - PMID
      - PMCID
      - doi

  patent:
    is_a: publication
    description: >-
      a legal document granted by a patent issuing authority which confers upon
      the patenter the sole right to make, use and sell an invention for a set
      period of time.
    exact_mappings:
      - SIO:000153
      - IAO:0000313
      - fabio:Patent

  web page:
    is_a: publication
    description: >-
      a document that is published according to World Wide Web standards, which
      may incorporate text, graphics, sound, and/or other features.
    exact_mappings:
      - SIO:000302
      - NCIT-OBO:C142749
      - fabio:WebPage

  preprint publication:
    is_a: publication
    description: >-
      a document reresenting an early version of an author's original scholarly work,
      such as a research paper or a review, prior to formal peer review and publication
      in a peer-reviewed scholarly or scientific journal.
    exact_mappings:
      - EFO:0010558
      - fabio:Preprint

  drug label:
    is_a: publication
    description: >-
      a document accompanying a drug or its container that provides written, printed or
      graphic information about the drug, including drug contents, specific instructions
      or warnings for administration, storage and disposal instructions, etc.
    broad_mappings:
      - NCIT-OBO:C41203

  retrieval source:
    is_a: information content entity
    description: >-
      Provides information about how a particular InformationResource
      served as a source from which knowledge expressed in an Edge, or
      data used to generate this knowledge, was retrieved.
    slots:
      - resource id
      - resource role
      - upstream resource ids
      - source record urls
      - xref
    slot_usage:
      resource id:
        required: true
        description: >-
          The InformationResource that served as a source for the
          knowledge expressed in an Edge, or data used to generate this knowledge.
      resource role:
        required: true
        description: >-
          The role of the InformationResource in the retrieval of the
          knowledge expressed in an Edge, or data used to generate this knowledge.
      upstream resource ids:
        description: >-
          A list of upstream InformationResources from which the resource
          being described directly retrieved a record of the knowledge
          expressed in the Edge, or data used to generate this knowledge.
      source record urls:
        description: >-
          One or more URLs that link to a specific web page or document provided by
          the InformationResource, that contains a record of the knowledge expressed
          in the Edge.
    examples:
      - object:
          id: urn:uuid:id
          category: biolink:RetrievalSource
          resource_id: infores:text-mining-provider-targeted
          resource_role: primary_knowledge_source
          upstream_resource_ids:
            - infores:pubmed

   ## Top Level Abstractions of Material & Process Entities

  physical essence or occurrent:
    description: >-
      Either a physical or processual entity.
    mixin: true

  physical essence:
    description: >-
      Semantic mixin concept.  Pertains to entities that have
      physical properties such as mass, volume, or charge.
    is_a: physical essence or occurrent
    mixin: true

  physical entity:
    is_a: named thing
    mixins:
      - physical essence
    description: >-
      An entity that has material reality (a.k.a. physical essence).
    exact_mappings:
       # Physical Object
      - STY:T072
    narrow_mappings:
       # Manufactured Object
      - STY:T073

  occurrent:
    description: >-
      A processual entity.
     # biolink:Occurrent is most consistently used as a mixin thus it should
     # be declared as such and cannot inherit from the non-mixin biolink:NamedThing
    is_a: physical essence or occurrent
    mixin: true
    exact_mappings:
      - BFO:0000003

  activity and behavior:
    is_a: occurrent
    mixin: true
    description: >-
      Activity or behavior of any independent integral living,
      organization or mechanical actor in the world
    exact_mappings:
       # Activities & Behaviors
      - UMLSSG:ACTI

  activity:
    is_a: named thing
    mixins:
      - activity and behavior
    description: >-
      An activity is something that occurs over a period of time and acts upon
      or with entities; it may include consuming, processing, transforming,
      modifying, relocating, using, or generating entities.
    exact_mappings:
      - prov:Activity
      - NCIT:C43431
       # Activity
      - STY:T052
    narrow_mappings:
       # Daily or Recreational Activity
      - STY:T056
       # Occupational Activity
      - STY:T057
       # Governmental or Regulatory Activity
      - STY:T064
       # Machine Activity
      - STY:T066
       # Research Activity
      - STY:T062
       # Educational Activity
      - STY:T065
       # Health Care Activity
      - STY:T058

  procedure:
    is_a: named thing
    mixins:
      - activity and behavior
    description: >-
      A series of actions conducted in a certain order or manner
    exact_mappings:
       # Procedures
      - UMLSSG:PROC
      - dcid:MedicalProcedure
    narrow_mappings:
       # Laboratory Procedure
      - STY:T059
       # Diagnostic Procedure
      - STY:T060
       # Therapeutic or Preventive Procedure
      - STY:T061
       # Molecular Biology Research Technique
      - STY:T063
      - MAXO:0000001
    id_prefixes:
      - CPT
      - MAXO

  phenomenon:
    is_a: named thing
    mixins:
      - occurrent
    description: >-
      a fact or situation that is observed to exist or happen,
      especially one whose cause or explanation is in question
    broad_mappings:
       # the inclusion of 'process' in the definition of these
       # terms broadens them, relative to 'phenomenon'
       # Phenomenon or Process
      - STY:T067
       # Human-caused Phenomenon or Process
      - STY:T068
       # Natural Phenomenon or Process
      - STY:T070
    exact_mappings:
       # Phenomena
      - UMLSSG:PHEN
    narrow_mappings:
       # Laboratory or Test Result
      - STY:T034
       # Biologic Function
      - STY:T038
       # Environmental Effect of Humans
      - STY:T069

  device:
    is_a: named thing
    description: >-
      A thing made or adapted for a particular purpose, especially
      a piece of mechanical or electronic equipment
    narrow_mappings:
      # Devices
      - UMLSSG:DEVI
      # Medical Device
      - STY:T074
      # Research Device
      - STY:T075
      # Drug Delivery Device
      - STY:T203

  diagnostic aid:
    is_a: named thing
    description: >-
      A device or substance used to help diagnose disease or injury
    exact_mappings:
      - STY:T130  # Diagnostic Aid
      - SNOMED:2949005  # Diagnostic aid

   ## Scientific Studies

  study population:
    is_a: population of individual organisms
    description: >-
      A group of people banded together or treated as a group as participants in a research study.
    close_mappings:
      - WIKIDATA:Q7229825

  subject of investigation:
    mixin: true
    description: >-
      An entity that has the role of being studied in an investigation, study, or experiment

  material sample:
    aliases: ['biospecimen', 'sample', 'biosample', 'physical sample']
    is_a: physical entity
    mixins:
      - subject of investigation
    description: >-
      A sample is a limited quantity of something (e.g. an individual or set of individuals
      from a population, or a portion of a substance) to be used for testing, analysis,
      inspection, investigation, demonstration, or trial use. [SIO]
    exact_mappings:
      - OBI:0000747
      - SIO:001050
    id_prefixes:
      - BIOSAMPLE
      - GOLD.META

   ## Earth Sciences

  planetary entity:
    is_a: named thing
    description: >-
      Any entity or process that exists at the level of the whole planet

  environmental process:
    description: >-
      A process that occurs within or involves the components of an
      environmental system.
    is_a: planetary entity
    mixins:
      - occurrent
    exact_mappings:
      - ENVO:02500000

  environmental feature:
    description: >-
      A system or entity in the natural environment that has the
      disposition to environ one or more material entities.
    is_a: planetary entity
    exact_mappings:
      - ENVO:01000254

  geographic location:
    is_a: planetary entity
    description: >-
      a location that can be described in lat/long coordinates
    slots:
      - latitude
      - longitude
    exact_mappings:
       # Geographic Areas
      - UMLSSG:GEOG
       # Geographic Area
      - STY:T083

  geographic location at time:
    is_a: geographic location
    description: >-
      a location that can be described in lat/long coordinates, for a particular time
    slots:
      - timepoint

   ## Biological Sciences

  thing with taxon:
    mixin: true
    description: >-
      A mixin that can be used on any entity that can be taxonomically classified.
      This includes individual organisms; genes, their products and other molecular
      entities; body parts; biological processes
    slots:
      - in taxon
      - in taxon label

  biological entity:
    description: >-
      A heterogeneous substance that contains genomic material or is the
      product of a biological process.
    is_a: named thing
    aliases: ['bioentity']
    abstract: true
    mixins:
      - thing with taxon
    narrow_mappings:
      - WIKIDATA:Q28845870
       # UMLS Semantic Type "Experimental Model of Disease"
      - STY:T050
       # SIO term is 'biological entity' but less inclusive than the Biolink scope
      - SIO:010046
      - STY:T129  # (imft, full name: Immunologic Factor

  genomic entity:
    description: >-
      A generically dependent continuant that carries biological
      sequence that is part of or derived from a genome.
    mixin: true
    slots:
      - has biological sequence
    in_subset:
      - translator_minimal
    narrow_mappings:
      - STY:T028    # Gene or Genome
      - GENO:0000897   # Genomic Entity

  epigenomic entity:
    description: >-
      A mixin for entities that represent epigenomic modifications
      or features associated with heritable changes in gene expression
      that do not involve changes to the DNA sequence itself.
    mixin: true
    slots:
      - has biological sequence
    in_subset:
      - translator_minimal
    narrow_mappings:

  molecular entity:
    is_a: chemical entity
    mixins:
      - ontology class
    description: >-
      A molecular entity is a chemical entity composed of individual or
      covalently bonded atoms.
    slots:
      - is metabolite
    narrow_mappings:
      - STY:T088  # Carbohydrate
      - STY:T085  # Molecular Sequence
      - CHEBI:23367  # Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical,
       # radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.
      - bioschemas:MolecularEntity
    in_subset:
      - translator_minimal
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  chemical entity:
    is_a: named thing
    mixins:
      - physical essence
      - chemical or drug or treatment  # issue 701
      - chemical entity or gene or gene product
      - chemical entity or protein or polypeptide
    description: >-
      A chemical entity is a physical entity that pertains to chemistry or
      biochemistry.
    slots:
      - trade name
      - available from
      - max tolerated dose
      - is toxic
      - has chemical role
      - routes of delivery
      - chembl prodrug
      - chembl black box warning
      - chembl natural product
      - chembl availability type
      - chembl chirality
      - chembl drug warning
    exact_mappings:
      - CHEBI:24431
      - SIO:010004  # Chemical entity
      - WIKIDATA:Q79529  # Chemical substance
      - STY:T103  # Chemical
    broad_mappings:
      - STY:T167  # Substance, children include food, body substance, chemical.
    narrow_mappings:
      - WIKIDATA:Q43460564
      - STY:T123  # (bacs, full name: Biologically Active Substance)
      - STY:T131  # (hops, full name: Hazardous or Poisonous Substance)
    in_subset:
      - translator_minimal
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  small molecule:
    is_a: molecular entity
    aliases: ['chemical substance']
    description: >-
      A small molecule entity is a molecular entity characterized by availability
      in small-molecule databases of SMILES, InChI, IUPAC, or other
      unambiguous representation of its precise chemical structure; for
      convenience of representation, any valid chemical representation is
      included, even if it is not strictly molecular (e.g., sodium ion).
    narrow_mappings:
      - STY:T196  # Element, Ion, or Isotope
      - CHEBI:59999
      - bioschemas:ChemicalSubstance
      - STY:T125  # (horm, full name: Hormone)
      - STY:T197  # (inch, full name: Inorganic Chemical)
      - STY:T109  # (orch, full name: Organic Chemical)
      - STY:T118  # (carb, full name: Carbohydrate) - note that this term is missing from newer SRDEF files (depreciated?), but is still used by the SEMMEDDB data files)
      - STY:T111  # (eico, full name: Eicosanoid) - same note as above
      - STY:T119  # (lipd, full name: Lipid) - same note as above
      - STY:T124  # (nsba, full name: Neuroreactive Substance or Biogenic Amine) - same note as above
      - STY:T115  # (opco, full name: Organophosphorus Compound) - same note as above
      - STY:T110  # (strd, full name: Steroid) - same note as above
      - STY:T127  # vitamin
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS
    in_subset:
      - model_organism_database
      - translator_minimal

  chemical mixture:
    is_a: chemical entity
    mixins:
      - ontology class
    description: >-
      A chemical mixture is a chemical entity composed of two or more
      molecular entities.
    slots:
      - is supplement
      - highest FDA approval status
      - drug regulatory status world wide
    in_subset:
      - translator_minimal
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS
    close_mappings:
      - dcid:ChemicalCompound
    narrow_mappings:
      - NCIT:C20401  # monoclonal antibody
      - SNOMEDCT:49616005  # monoclonal antibody (substance)

  nucleic acid entity:
    is_a: molecular entity
    description: >-
      A nucleic acid entity is a molecular entity characterized by
      availability in gene databases of nucleotide-based sequence
      representations of its precise sequence; for convenience of
      representation, partial sequences of various kinds are included.
    aliases: ['sequence feature', 'genomic entity']
    mixins:
      - genomic entity
      - thing with taxon
      - physical essence
      - ontology class
    exact_mappings:
      - SO:0000110
    narrow_mappings:
      - STY:T086    # Nucleotide Sequence
      - STY:T114    # Nucleic Acid, Nucleoside, or Nucleotide
    in_subset:
      - model_organism_database
      - translator_minimal
    id_prefixes:
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - UNII
      - CHEBI
      - MESH
      - CAS
      - GTOPDB
      - HMDB
      - KEGG
      - KEGG.COMPOUND
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - INCHI
      - INCHIKEY
       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry
       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry
      - KEGG.GLYCAN   # G number
      - KEGG.ENVIRON  # E number
      - ChemBank
      - SIDER.DRUG
      - BIGG.METABOLITE
      - foodb.compound
      - UMLS

  regulatory region:
    aliases: ['regulatory element']
    description: >-
      A region (or regions) of the genome that contains known or putative regulatory elements
      that act in cis- or trans- to affect the transcription of gene
    is_a: biological entity
    mixins:
      - genomic entity
      - chemical entity or gene or gene product
      - physical essence
      - ontology class
    exact_mappings:
      - SO:0005836
      - SIO:001225
      - WIKIDATA:Q3238407

  accessible dna region:
    aliases: ['dnase-seq accessible region', 'atac-seq accessible region']
    description: >-
      A region (or regions) of a chromatinized genome that has been measured to be more
      accessible to an enzyme such as DNase-I or Tn5 Transpose
    is_a: regulatory region
    mixins:
      - genomic entity
      - chemical entity or gene or gene product
      - physical essence
      - ontology class
    exact_mappings:
      - SO:0002231

  transcription factor binding site:
    aliases: ['tf binding site', 'binding site']
    description: >-
      A region (or regions) of the genome that contains a region of DNA known or predicted
      to bind a protein that modulates gene transcription
    is_a: regulatory region
    mixins:
      - genomic entity
      - chemical entity or gene or gene product
      - physical essence
      - ontology class
    exact_mappings:
      - SO:0000235

  molecular mixture:
    is_a: chemical mixture
    description: >-
      A molecular mixture is a chemical mixture composed of two or more
      molecular entities with known concentration and stoichiometry.
    in_subset:
      - translator_minimal
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  complex molecular mixture:
    is_a: chemical mixture
    description: >-
      A complex molecular mixture is a chemical mixture composed of two or
      more molecular entities with unknown concentration and stoichiometry.
    in_subset:
      - translator_minimal
    id_prefixes:
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - UNII
      - CHEBI
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
       # - iupac  # is not actually a CURIE namespace but only a naming convention for chemistry
       # - SMILES   # is not actually a CURIE namespace but only a query language for chemistry
      - KEGG.GLYCAN   ## G number
      - KEGG.DRUG     ## D number
      - KEGG
      - KEGG.ENVIRON  ## E number
      - UMLS

  biological process or activity:
    description: >-
      Either an individual molecular activity, or a collection of
      causally connected molecular activities in a biological system.
    is_a: biological entity
    mixins:
      - occurrent
      - ontology class
    id_prefixes:
      - GO
      - REACT
    slots:
      - has input
      - has output
      - enabled by

  molecular activity:
    description: >-
      An execution of a molecular function carried out by a
      gene product or macromolecular complex.
    is_a: biological process or activity
    aliases: ['molecular function', 'molecular event', 'reaction']
    mixins:
      - occurrent
      - ontology class
    slot_usage:
      has input:
        range: molecular entity
        description: >-
          A chemical entity that is the input for the reaction
      has output:
        range: molecular entity
        description: >-
          A chemical entity that is the output for the reaction
      enabled by:
        range: macromolecular machine mixin
        description: >-
          The gene product, gene, or complex that catalyzes the reaction
    exact_mappings:
      - GO:0003674
      # UMLS Semantic Type "Molecular Function"
      - STY:T044
    broad_mappings:
      - STY:T045  # Genetic Function
    id_prefixes:
      - GO
      - REACT
      - RHEA
      - metacyc.reaction
      - EC
      - TCDB
      - KEGG.REACTION   ## R number
      - KEGG
      - KEGG.ORTHOLOGY  ## in particular for gut microbiome use case in issue  #888
      - UMLS
      - BIGG.REACTION
      - SEED.REACTION
      - METANETX.REACTION

  biological process:
    is_a: biological process or activity
    mixins:
      - occurrent
      - ontology class
    description: >-
      One or more causally connected executions of molecular functions
    exact_mappings:
      - GO:0008150
      - SIO:000006
      - WIKIDATA:Q2996394
    broad_mappings:
      - WIKIDATA:P682
    id_prefixes:
      - GO
      - REACT
      - metacyc.reaction
      - KEGG.MODULE  ## M number
      - KEGG
      - UMLS

  pathway:
    description: >-
      A hierarchical ordering of connected molecular reactions (steps)
      that represent a specific biological process, such as signaling
      or metabolism.
    is_a: biological process
    mixins:
      - ontology class
    exact_mappings:
      - PW:0000001
      - WIKIDATA:Q4915012
    narrow_mappings:
      - SIO:010526
      - GO:0007165
    id_prefixes:
      - GO
      - REACT
      - KEGG
      - SMPDB
      - MSigDB
      - PHARMGKB.PATHWAYS
      - WIKIPATHWAYS
      - FB   # FlyBase FBgg*
      - PANTHER.PATHWAY
      - KEGG.PATHWAY
      - ncats.bioplanet

  physiological process:
    description: >-
      A biological or chemical function within a living organism.
    aliases: ['physiology']
    is_a: biological process
    mixins:
      - ontology class
    close_mappings:
    exact_mappings:
       # Physiologic Function
      - STY:T039
      - WIKIDATA:Q30892994
    narrow_mappings:
       # Organism Function
      - STY:T040
       # Organ or Tissue Function
      - STY:T042
       # Cell Function
      - STY:T043
       # Genetic Function
      - STY:T045
    id_prefixes:
      - GO
      - REACT

  behavior:
    description: >-
      The internally coordinated responses (actions or inactions) of
      organisms (individuals or groups) to internal or external stimuli,
      via a mechanism that involves nervous system activity.
    is_a: biological process
    mixins:
      - ontology class
      - activity and behavior
    exact_mappings:
      - GO:0007610
       # Behavior
      - STY:T053
    narrow_mappings:
       # Mental Process
      - STY:T041
       # Social Behavior
      - STY:T054
       # Individual Behavior
      - STY:T055

   ## (Bio)chemistry

  processed material:
    is_a: chemical mixture
    description: >-
      A chemical entity (often a mixture) processed
      for consumption for nutritional, medical or technical use.
      Is a material entity that is created or changed during material processing.
    exact_mappings:
      - OBI:0000047
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - foodb.food
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  drug:
    is_a: molecular mixture
    mixins:
      - chemical or drug or treatment
      - ontology class
    description: >-
      A substance intended for use in the diagnosis, cure,
      mitigation, treatment, or prevention of disease
    comments:
      - The CHEBI ID represents a role rather than a substance
    broad_mappings:
       # Pharmacologic Substance: Any natural, endogenously-derived,
       # synthetic or semi synthetic compound with pharmacologic activity.
      - STY:T121
    exact_mappings:
      - WIKIDATA:Q12140
      - CHEBI:23888
       # UMLS Semantic Type "Clinical Drug"
      - STY:T200
      - dcid:Drug
    narrow_mappings:
       # Antibiotic
      - STY:T195
    id_prefixes:
      - ncats.drug
      - RXCUI
      - NDC
      - UMLS
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - KEGG.GLYCAN
      - KEGG.ENVIRON
      - KEGG.ENVIRON
      - KEGG

   ## Food

  environmental food contaminant:
    description: >-
      Any unwanted chemical in food. The term includes agrochemicals and industrial chemicals that may contaminate
      foodstuffs during their production, transportation or storage.
    is_a: chemical entity
    exact_mappings:
      - CHEBI:78299
    related_mappings:
       # substance role
      - CHEBI:78299
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - foodb.food
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  food additive:
    description: >-
      Any substance which is added to food to preserve or enhance its flavour and/or appearance.
    is_a: chemical entity
    exact_mappings:
      - CHEBI:64047
    related_mappings:
       # substance role
      - CHEBI:64047
    id_prefixes:
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - foodb.compound
      - foodb.food
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

  food:
    is_a: chemical mixture
    description: >-
      A substance of plant, animal, or artificial origin consumed by a living organism to provide essential
      nutrients, energy, and support growth and the processes of life, or to satisfy other health needs or
      provide a social or organoleptic experience.
    exact_mappings:
      - CHEBI:33290
      - FOODON:00002403
    id_prefixes:
      - foodb.food
      - foodb.compound
      - FOODON
      - CHEBI
      - UNII
      - PUBCHEM.COMPOUND
      - CHEMBL.COMPOUND
      - DRUGBANK
      - MESH
      - CAS
      - DrugCentral
      - GTOPDB
      - HMDB
      - KEGG.COMPOUND
      - PHARMGKB.DRUG
      - ChemBank
      - PUBCHEM.SUBSTANCE
      - SIDER.DRUG
      - INCHI
      - INCHIKEY
      - BIGG.METABOLITE
      - KEGG.GLYCAN
      - KEGG.DRUG
      - KEGG.ENVIRON
      - KEGG
      - UMLS

   ## Biology and Biomedical Sciences

   ## Biological Attributes

  organism attribute:
    is_a: attribute
    description: >-
      describes a characteristic of an organismal entity.
    exact_mappings:
       # Organism Attribute
      - STY:T032

  phenotypic quality:
    aliases: ['phenotypic properties']
    is_a: organism attribute
    description: >-
      A characteristic of a phenotype (e.g., weight, size, shape, color) that can be observed, measured, or
      compared across organisms or conditions.
    examples:
      - value: "PATO:0000128"
    broad_mappings:
      - PATO:0001995

  genetic inheritance:
    aliases: ['inheritance']
    is_a: biological entity
    description: >-
      The pattern or 'mode' in which a particular genetic trait or disorder is passed from one
      generation to the next.
    exact_mappings:
      - HP:0000005
      - GENO:0000141
      - NCIT:C45827
    close_mappings:
      - STY:T045
    id_prefixes:
      - HP
      - GENO
      - NCIT

    ## Biological Entities

  organismal entity:
    description: >-
      A named entity that is either a part of an organism, a whole organism,
      population or clade of organisms, excluding chemical entities
    abstract: true
    is_a: biological entity
    mixins:
      - subject of investigation
    slot_usage:
      has attribute:
        description: >-
          may often be an organism attribute
    exact_mappings:
      - WIKIDATA:Q7239
        # UMLS Semantic Group "Living Beings"
        # Several of the associated semantic types here are probably not
      # that relevant to the Biolink world, but we keep them here for now.
      - UMLSSG:LIVB
      - CARO:0001010
    narrow_mappings:
      - STY:T008  # animal

  bacterium:
    is_a: organismal entity
    description: >-
      A member of a group of unicellular microorganisms lacking a nuclear membrane,
      that reproduce by binary fission and are often motile.
    exact_mappings:
      - NCBITaxon:1869227
      - STY:T007  # Bacterium

  virus:
    is_a: organismal entity
    mixins:
      - subject of investigation
    description: >-
      A virus is a microorganism that replicates itself as a microRNA
      and infects the host cell.
    comments:
      - >-
        see: https://github.com/OBOFoundry/COB/pull/211
    exact_mappings:
      - NCBITaxon:10239
      - STY:T005  # Virus

  cellular organism:
    is_a: organismal entity
    mixins:
      - subject of investigation
    description: >-
      An organism that contains one or more cells belonging to the cellular lineages of life (Archaea, Bacteria, or
      Eukaryota), whose body consists of one or more cells. Distinguished from acellular biological entities such as
      viruses and viroids.
    comments:
      - >-
        see: https://github.com/OBOFoundry/COB/pull/211
    exact_mappings:
      - NCBITaxon:131567

  mammal:
    deprecated: "true"
    is_a: cellular organism
    mixins:
      - subject of investigation
    exact_mappings:
      - NCBITaxon:40674  # mammal
      - STY:T015  # mammal
      - NCIT:C14234  # Mamalia
      - FOODON:03411134  # mammal

  human:
    deprecated: "true"
    is_a: mammal
    mixins:
      - subject of investigation
    exact_mappings:
      - STY:T016
      - NCBITaxon:9606
      - SIO:000485
      - NCIT:C14225

  plant:
    deprecated: "true"
    is_a: cellular organism
    exact_mappings:
      - NCIT:C14258  # plant
      - STY:T002  # plant
      - PO:0000003  # whole plant
      - NCIT:C79659  # plant, whole

  invertebrate:
    deprecated: "true"
    is_a: cellular organism
    exact_mappings:
      - NCIT:C14228  # invertebrate
      - OMIT:0008565  # invertebrates
      - FOODON:00002452  # invertebrate animals
      - STY:T011
    related_mappings:
      - NCBITaxon:1767184  # unidentified invertebrate

  vertebrate:
    deprecated: "true"
    is_a: cellular organism
    exact_mappings:
      - STY:T010
      - NCBITaxon:7742  # vertebrata
      - OMIT:0015545  # vertebrates
    related_mappings:
      - NCBITaxon:2662825  # unclassified vertebrata (in:vertebrates)

  fungus:
    deprecated: "true"
    is_a: cellular organism
    exact_mappings:
      - STY:T004
      - NCIT:C14209
      - FOODON:03411261
    narrow_mappings:
      - FOODON:03315605  # fungus (edible)
      - NCBITaxon:1670606  # fungus metagenome

  life stage:
    is_a: organismal entity
    mixins:
      - ontology class
    description: >-
      A stage of development or growth of an organism,
      including post-natal adult stages
    exact_mappings:
      - UBERON:0000105
    narrow_mappings:
      # constrained to human life cycles
      - HsapDv:0000000
    in_subset:
      - model_organism_database
    id_prefixes:
      - HsapDv
      - MmusDv
      - ZFS
      - FBdv
      - WBls
      - UBERON

  individual organism:
    aliases: ['organism']
    description: >-
      An instance of an organism. For example, Charles Darwin, my pet cat.
    examples:
      - value: ORCID:0000-0002-5355-2576
    is_a: organismal entity
    mixins:
      - subject of investigation
    exact_mappings:
      - SIO:010000
      # Organism
      - STY:T001
    narrow_mappings:
      # Wikidata considers its definition of 'individual' to be constrained to human persons?
      - WIKIDATA:Q795052
      - foaf:Person
    id_prefixes:
      - ORCID

  population of individual organisms:
    description: >-
      A collection of individuals from the same taxonomic class
      distinguished by one or more characteristics.  Characteristics can
      include, but are not limited to, shared geographic location, genetics,
      phenotypes.
    local_names:
      ga4gh: population
    is_a: organismal entity
    mixins:
      - subject of investigation
    exact_mappings:
      - PCO:0000001
      - SIO:001061
      # UMLS Semantic Type "Population Group"
      - STY:T098
      - OBI:0000181
    id_prefixes:
      - HANCESTRO
    in_subset:
      - model_organism_database

  disease or phenotypic feature:
    aliases: ['phenome']
    is_a: biological entity
    mixins:
      - ontology class
    slots:
      - inheritance
    description: >-
      A disease or an individual phenotypic feature, grouped as a single class to accommodate source vocabularies
      and assertions that do not distinguish the two. Prefer the more specific subclasses disease or phenotypic
      feature when the distinction is known.
    related_mappings:
      # UMLS Semantic Type "Finding" - more specialized use of 'disease or phenotypic feature'
      - STY:T033

  disease:
    aliases: ['condition', 'disorder', 'medical condition']
    description: >-
      A disease is a disposition to undergo pathological processes that exists in an organism because of one or
      more disorders in that organism. A disorder of structure or function, especially one that produces specific
      signs, phenotypes or symptoms or that affects a specific location and is not simply a
      direct result of physical injury.
    is_a: disease or phenotypic feature
    exact_mappings:
      - MONDO:0000001
      - DOID:4
      - NCIT:C2991
      - WIKIDATA:Q12136
      - SIO:010299
      - UMLSSG:DISO
      - STY:T047
      - dcid:Disease
    narrow_mappings:
      - STY:T019
       # Acquired Abnormality
      - STY:T020
       # Mental or behavioral disfunction
      - STY:T048
      # (Cell or Molecular Dysfunction)
      - STY:T049
      # (Neoplastic Process)
      - STY:T191
      # disease susceptibility
      - MONDO:0042489
    id_prefixes:
      - MONDO
      - DOID
      - OMIM
      - OMIM.PS
      - orphanet
      - EFO
      - UMLS
      - MESH
      - MEDDRA
      - NCIT
      - SNOMEDCT
      - medgen
      - icd11
      - icd11.foundation
      - ICD10
      - ICD9
      - KEGG.DISEASE  ## H number
      - HP
      - MP
      - PHARMGKB.DISEASE
    in_subset:
      - model_organism_database
      - translator_minimal

  phenotypic feature:
    aliases: ['sign', 'symptom', 'phenotype', 'trait', 'endophenotype']
    is_a: disease or phenotypic feature
    description: >-
      A combination of entity and quality that makes up a phenotyping statement. An observable characteristic of an
      individual often resulting from the interaction of its genotype with its molecular and physical environment.
    examples:
      - value: MP:0001262
        description: decreased body weight
    exact_mappings:
      - UPHENO:0001001
      - SIO:010056
      - WIKIDATA:Q104053
      - UMLS:C4021819
      - NCIT:C16977
      - SNOMEDCT:8116006  # documented as phenotypic finding and phenotype, also referred to as "SCTID:8116006" at SNOMEDCT
      - MESH:D010641  # phenotype
    narrow_mappings:
      - STY:T184  # Sign or Symptom
      - WIKIDATA:Q169872  # Sign or Symptom
       # presentation of a disease in clinical medicine
      - WIKIDATA:Q25203551
      - ZP:00000000  # zebrafish phenotype
      - FBcv:0001347  # fly phenotype
      - HP:0000118  # human phenotype
      - MP:0000001  # mouse phenotype
      - WBPhenotype:0000886  # worm phenotype
      - XPO:00000000  # frog phenotype
      - FYPO:0000001  # fission yeast phenotype
      - APO:0000017  # phenotype
      - TO:0000387  # more narrowly defined here for plants; our definition conflates trait and phenotype.
      - STY:T190
    broad_mappings:
      - BFO:0000019  # quality
      - PATO:0000001  # quality
    id_prefixes:
      - HP
      - EFO  # covered by BFO quality mapping
      - NCIT
      - UMLS
      - MEDDRA  # can not find a mapping
      - MP
      - ZP
      - UPHENO
      - APO
      - FBcv
      - WBPhenotype
      - SNOMEDCT
      - MESH
      - XPO
      - FYPO
      - TO
    in_subset:
      - model_organism_database

  behavioral feature:
    description: >-
      A phenotypic feature which is behavioral in nature.
    is_a: phenotypic feature
    exact_mappings:
      - NBO:0000243

  anatomical entity:
    is_a: organismal entity
    mixins:
      - physical essence
      - ontology class
    description: >-
      A part of a cellular organism at or above the granularity of a protein complex. This is a grouping class
      with three concrete subclasses that should be preferred when applicable: "biolink:Cell" for whole cells,
      "biolink:CellularComponent" for subcellular and intracellular structures (organelles, membranes, bacterial
      flagella, etc.), and "biolink:GrossAnatomcialStructure" for multicellular parts (tissues, organs, body parts).
      Excludes viral and other acellular biological entities.
    examples:
      - value: UBERON:0000178
        description: blood
      - value: UBERON:0002553
        description: anatomical cavity
    exact_mappings:
      - UBERON:0001062
      - WIKIDATA:Q4936952
       # UMLS Semantic Group "Anatomy"
      - UMLSSG:ANAT
       # UMLS Semantic Type "Anatomical Structure"
      - STY:T017
      - FMA:62955  # anatomical entity
      - CARO:0000000   # anatomical entity
      - SIO:001262  # anatomical entity
      - STY:T029  # Body Location or Region
      - STY:T030  # Body Space or Junction
    narrow_mappings:
      - ZFA:0100000  # zebrafish anatomical entity
      - FBbt:10000000  # fly anatomical entity
      - EMAPA:0  # mouse anatomical entity
      - MA:0000001  # mouse anatomical entity
      - XAO:0000000  # frog anatomical entity
      - WBbt:0000100  # c. elegans anatomical entity
      - NCIT:C12219  # human anatomical entity
      - GO:0110165  # cellular anatomical entity, also used directly in CL
      - STY:T031  # Body Substance
    related_mappings:
      - SNOMEDCT:123037004  # body structure
    id_prefixes:
      - UBERON
      - GO
      - CL
      - UMLS
      - MESH
      - NCIT
      - EMAPA
      - ZFA
      - FBbt
      - WBbt
      - FMA
    in_subset:
      - model_organism_database

  cellular component:
    aliases: ['cell component', 'cell part']
    is_a: anatomical entity
    description: >-
      A location in or around a cell
    examples:
      - value: GO:0005739
        description: mitochondrion
      - value: GO:0005634
        description: nucleus
      - value: GO:0005886
        description: plasma membrane
      - value: GO:0009288
        description: bacterial-type flagellum
      - value: GO:0031012
        description: extracellular matrix
    exact_mappings:
      - GO:0005575
      - SIO:001400
      - WIKIDATA:Q5058355
       # Cell Component
      - STY:T026
    broad_mappings:
      - WIKIDATA:P681
    id_prefixes:
      - GO
      - MESH
      - UMLS
      - NCIT
      - SNOMEDCT
      - CL
      - UBERON

  cell:
    description: >-
      The basic structural and functional unit of all organisms.
      Includes the plasma membrane and any external encapsulating
      structures such as the cell wall and cell envelope.
    is_a: anatomical entity
    examples:
      - value: CL:0000540
        description: neuron
      - value: CL:0000236
        description: B cell
    exact_mappings:
      - GO:0005623
      - CL:0000000
      - SIO:010001
      - WIKIDATA:Q7868
       # UMLS Semantic Type "Cell"
      - STY:T025
      - MESH:D002477  # cells
    id_prefixes:
      - CL
      - PO
      - UMLS
      - NCIT
      - MESH
      - UBERON
      - SNOMEDCT
      - MESH

  cell line:
    description: >-
      A cultured cell population that is genetically stable and
      homogeneous, sharing a common propagation history through
      successive passages in culture.
    is_a: organismal entity
    mixins:
      - subject of investigation
    exact_mappings:
      - CLO:0000031
    id_prefixes:
      - CLO

  gross anatomical structure:
    description: >-
      An anatomical structure that has more than one cell as a part.
    aliases: ['tissue', 'organ']
    is_a: anatomical entity
    examples:
      - value: UBERON:0000955
        description: brain
      - value: UBERON:0002107
        description: liver
      - value: UBERON:0000479
        description: tissue
      - value: PO:0009046
        description: flower
      - value: PO:0009025
        description: leaf
      - value: FAO:0001001
        description: hypha
    exact_mappings:
      - UBERON:0010000
      - WIKIDATA:Q4936952
    narrow_mappings:
       # UMLS Semantic Type "Body Part, Organ, or Organ Component"
      - STY:T023
       # UMLS Semantic Type "Tissue"
      - STY:T024
       # Embryonic Structure
      - STY:T018
    id_prefixes:
      - UBERON
      - UMLS
      - MESH
      - NCIT
      - PO
      - FAO
      # model organism anatomy ontologies that include gross structures (organs, tissues),
      # mirroring the model-organism prefixes on anatomical entity (see #1746)
      - EMAPA  # mouse, e.g. subclasses of EMAPA:35949 "organ" and EMAPA:35868 "tissue"
      - MA     # mouse adult anatomy
      - ZFA    # zebrafish
      - FBbt   # fly
      - WBbt   # c. elegans
      - XAO    # frog


  ## entity mixins

  chemical entity or gene or gene product:
    description: >-
      A union of chemical entities and children, and gene or gene product.
      This mixin is helpful to use when searching across
      chemical entities that must include genes and their children as chemical entities.
    mixin: true

  chemical entity or protein or polypeptide:
    description: >-
      A union of chemical entities and children, and protein and polypeptide.
      This mixin is helpful to use when searching across
      chemical entities that must include genes and their children as chemical entities.
    mixin: true

  macromolecular machine mixin:
    description: >-
      A union of gene locus, gene product, and macromolecular complex. These are
      the basic units of function in a cell. They either carry out individual
      biological activities, or they encode molecules which do this.
    mixin: true
    slots:
      - name
    slot_usage:
      name:
        range: symbol type
        description: >-
          genes are typically designated by a short symbol and a full name.
          We map the symbol to the default display name
          and use an additional slot for full name

  gene or gene product:
    description: >-
      A union of gene loci or gene products.
      Frequently an identifier for one will be used as proxy for another
    is_a: macromolecular machine mixin
    mixin: true
    id_prefixes:
      - CHEMBL.TARGET
      - IUPHAR.FAMILY
    close_mappings:
      - DRUGBANK:target

  gene or gene product or gene family:
    is_a: macromolecular machine mixin
    description: >-
      A union of gene family or gene loci or gene products, useful to define
      the association between a gene or gene product or gene family and
      some other general class of entity.
    mixin: true

  gene:
    description: >-
      A region (or regions) that includes all of the sequence elements
      necessary to encode a functional transcript. A gene locus may include
      regulatory regions, transcribed regions and/or other
      functional sequence regions.
    is_a: biological entity
    mixins:
      - gene or gene product
      - gene or gene product or gene family
      - genomic entity
      - chemical entity or gene or gene product
      - physical essence
      - ontology class
    slots:
      - symbol
      - xref
    exact_mappings:
      - SO:0000704
      - SIO:010035
      - WIKIDATA:Q7187
      - dcid:Gene
    id_prefixes:
      - NCBIGene
      - ENSEMBL
      - HGNC
      - MGI
      - ZFIN
      - dictyBase
      - WB
      - WormBase  # we have two prefixes here as wormbase supports WormBase:WBGene00000898
       # and alliancegenome.org and identifiers.org supports WB:WBGene00000898.
      - FB
      - RGD
      - SGD
      - PomBase
      - OMIM
      - KEGG.GENES  ## org:gene
      - UMLS
      - Xenbase
      - AspGD
      - PHARMGKB.GENE
    in_subset:
      - translator_minimal
      - model_organism_database
    narrow_mappings:
      - bioschemas:gene
    broad_mappings:
      - NCIT:C45822


  gene product mixin:
    description: >-
      The functional molecular product of a single gene locus.
      Gene products are either proteins or functional RNA molecules.
    is_a: gene or gene product
    mixin: true
    slots:
      - synonym
      - xref
    exact_mappings:
      - WIKIDATA:Q424689
      - GENO:0000907
      - NCIT:C26548
    id_prefixes:
      - UniProtKB
      - gtpo
      - PR

  gene product isoform mixin:
    description: >-
      This is an abstract class that can be mixed in with different kinds of
      gene products to indicate that the gene product is intended to represent
      a specific isoform rather than a canonical or reference or generic
      product. The designation of canonical or reference may be arbitrary,
      or it may represent the superclass of all isoforms.
    is_a: gene product mixin
    mixin: true

  macromolecular complex:
    description: >-
      A stable assembly of two or more macromolecules, i.e. proteins,
      nucleic acids, carbohydrates or lipids, in which at least one
      component is a protein and the constituent parts function together.
    is_a: biological entity
    mixins:
      - macromolecular machine mixin
    exact_mappings:
      - GO:0032991
      - WIKIDATA:Q22325163
    id_prefixes:
      - INTACT
      - GO
      - PR
      - REACT
      - CHEMBL.TARGET
      - ComplexPortal
    in_subset:
      - model_organism_database

   ## Genomic Classes
  nucleosome modification:
    is_a: biological entity
    description: >-
      A chemical modification of a histone protein within a nucleosome octomer or a substitution of a histone with a
      variant histone isoform.
    mixins:
      - gene product isoform mixin
      - genomic entity
      - epigenomic entity

  genome:
    is_a: biological entity
    mixins:
      - genomic entity
      - physical essence
      - ontology class
    description: >-
      A genome is the sum of genetic material within a cell or virion.
    exact_mappings:
      - SO:0001026
      - SIO:000984
      - WIKIDATA:Q7020
    close_mappings:
      - dcid:GenomeAssemblyUnit
    in_subset:
      - model_organism_database

  exon:
    is_a: biological entity
    description: >-
      A region of the transcript sequence within a gene which is not
      removed from the primary RNA transcript by RNA splicing.
    exact_mappings:
      - SO:0000147
      - SIO:010445
      - WIKIDATA:Q373027

  transcript:
    is_a: biological entity
    description: >-
      An RNA synthesized on a DNA or RNA template by an RNA polymerase.
    exact_mappings:
      - SO:0000673
      - SIO:010450
      - WIKIDATA:Q7243183
      - dcid:RNATranscript
    id_prefixes:
      - ENSEMBL  # ENSEMBL:ENST for human
      - FB       # FlyBase:FBtr
    in_subset:
      - model_organism_database

  coding sequence:
    description: >-
      A contiguous sequence which begins with, and includes, a start
      codon and ends with, and includes, a stop codon.
    is_a: biological entity
    mixins:
      - genomic entity
    exact_mappings:
      - SO:0000316
      - SIO:001390

  polypeptide:
    aliases: ['amino acid entity']
    is_a: biological entity
    description: >-
      A polypeptide is a molecular entity characterized by availability
      in protein databases of amino-acid-based sequence representations
      of its precise primary structure; for convenience of representation,
      partial sequences of various kinds are included, even if they do not
      represent a physical molecule.
    mixins:
      - chemical entity or gene or gene product
      - chemical entity or protein or polypeptide
    id_prefixes:
      - UniProtKB
      - PR
      - ENSEMBL  # ENSEMBL:ENSP*
      - FB       # FlyBase FBpp*
      - UMLS
    in_subset:
      - model_organism_database
    narrow_mappings:
      - SO:0000104  # polypeptide defined in SO conflates protein and polypeptide
       # Amino Acid, Peptide, or Protein
      - STY:T116
       # Amino Acid Sequence
      - STY:T087

  protein:
    description: >-
      A gene product that is composed of a chain of amino acid sequences
      and is produced by ribosome-mediated translation of mRNA
    is_a: polypeptide
    mixins:
      - gene product mixin
    id_prefixes:
      - UniProtKB
      - PR
      - ENSEMBL  # ENSEMBL:ENSP*
      - FB       # FlyBase FBpp*
      - UMLS
      - NCIT
      - MESH
      - ncats.drug
    broad_mappings:
      - bioschemas:Protein
    exact_mappings:
      - PR:000000001
      - SIO:010043
      - WIKIDATA:Q8054
    narrow_mappings:
       # Enzyme
      - STY:T126
       # Receptor
      - STY:T192

  protein isoform:
    aliases: ['proteoform']
    is_a: protein
    description: >-
      Represents a protein that is a specific isoform of the canonical or
      reference protein.
    comments:
      - >-
        See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4114032/
    mixins:
      - gene product isoform mixin
    id_prefixes:
      - UniProtKB  # UniProtKB:([A-Z0-9]+-\d+)
      - UNIPROT.ISOFORM
      - PR
      - ENSEMBL

  protein domain:
    is_a: biological entity
    description: >-
      A conserved part of protein sequence and (tertiary) structure that can evolve,
      function, and exist independently of the rest of the protein chain.
      Protein domains maintain their structure and function independently of the proteins in which they are found.
    mixins:
      - gene grouping mixin
      - chemical entity or gene or gene product
    exact_mappings:
      - NCIT:C13379
      - SIO:001379
      - UMLS:C1514562

  posttranslational modification:
    is_a: biological entity
    description: >-
      A chemical modification of a polypeptide or protein that occurs after translation,
      altering its structure, activity, localization, or interactions.
    mixins:
      - gene product isoform mixin
    id_prefixes:
      - MOD
      - UNIMOD
    exact_mappings:
      - MOD:00000          # protein modification (PSI-MOD root)
    examples:
      - value: MOD:00696
        description: phosphorylated residue
      - value: MOD:01148
        description: ubiquitinylated lysine

  protein family:
    description: >-
      A set of proteins coding for diverse functions which, by virtue
      of their high degree of sequence similarity, are believed to have
      evolved from a single ancestral gene.
    is_a: biological entity
    exact_mappings:
      - NCIT:C26004
      - WIKIDATA:Q2278983
    narrow_mappings:
      - SIO:001380
      - NCIT:C20130
      - WIKIDATA:Q417841
    mixins:
      - gene grouping mixin
      - chemical entity or gene or gene product

  nucleic acid sequence motif:
    aliases: ['consensus sequence']
    is_a: biological entity
    description: >-
      A linear nucleotide sequence pattern that is widespread and has, or is conjectured to have,
      a biological significance.
      consensus sequences.

  RNA product:
    is_a: transcript
    description: >-
      High molecular weight, linear polymers, composed of nucleotides containing ribose and
      linked by phosphodiester bonds typically synthesized by a DNA- or RNA-dependent RNA polymerase that constitutes
      the product of a gene. Distinct in emphasis from `biolink:Transcript`, which denotes the informational output of
      transcription at the gene-model level rather than the chemical species itself.
    examples:
      - value: RNACENTRAL:URS00005EB5B7_9606
      - value: mirbase:MI0000060
    mixins:
      - gene product mixin
    exact_mappings:
      - CHEBI:33697        # ribonucleic acid
      - WIKIDATA:Q11053    # RNA
    id_prefixes:
      - RNACENTRAL
      - mirbase

  RNA product isoform:
    is_a: RNA product
    description: >-
      Represents a protein that is a specific isoform of the canonical or reference RNA
    mixins:
      - gene product isoform mixin
    id_prefixes:
      - RNACENTRAL

  noncoding RNA product:
    description: >-
      An RNA transcript that does not encode for a protein rather the
      RNA molecule is the functional gene product.
    is_a: RNA product
    id_prefixes:
      - RNACENTRAL
      - NCBIGene
      - ENSEMBL
    exact_mappings:
      - SO:0000655
      - SIO:001235

  microRNA:
    description: >-
      A small (~22 nucleotide) RNA molecule that is the endogenous
      transcript of a miRNA gene. Produced from precursor molecules
      that form hairpin structures, which are processed (typically
      via the Dicer pathway) to yield a single miRNA molecule.
      miRNAs function by triggering cleavage of target molecules
      or acting as translational repressors.
    is_a: noncoding RNA product
    exact_mappings:
      - SO:0000276
      - SIO:001397
      - WIKIDATA:Q310899
    id_prefixes:
      - MIR
      - HGNC
      - WormBase
      - mirbase
    in_subset:
      - model_organism_database

  siRNA:
    aliases: ['small interfering RNA', 'RNAi']
    description: >-
      A small RNA molecule that is the product of a longer exogenous or
      endogenous dsRNA, which is either a bimolecular duplex or very long
      hairpin, processed (via the Dicer pathway) such that numerous siRNAs
      accumulate from both strands of the dsRNA. SRNAs trigger the cleavage
      of their target molecules.
    is_a: noncoding RNA product
    exact_mappings:
      - SO:0000646
      - WIKIDATA:Q203221
    id_prefixes:
      - MIR
      - HGNC
      - WormBase
    in_subset:
      - model_organism_database

  gene grouping mixin:
    description: >-
      any grouping of multiple genes or gene products
    mixin: true
    slots:
      - has gene or gene product

  gene family:
    aliases: ['orthogroup', 'protein family']
    is_a: biological entity
    exact_mappings:
      - NCIT:C26004
      - WIKIDATA:Q2278983
    narrow_mappings:
       # These term definitions focus only on proteins;
       # the 'biolink:GeneFamily' term would be more inclusive
       # to describe gene loci, non-coding RNA, etc.
      - SIO:001380
      - NCIT:C20130
      - WIKIDATA:Q417841
    mixins:
      - gene grouping mixin
      - gene or gene product or gene family
      - chemical entity or gene or gene product
    description: >-
      any grouping of multiple genes or gene products related by common descent
    id_prefixes:
      - PANTHER.FAMILY
      - HGNC.FAMILY
      - FB        # FlyBase FBgg*
      - interpro  # note: may be better to introduce a protein domain/family
      - CATH
      - CDD
      - HAMAP
      - PFAM
      - PIRSF
      - PRINTS
      - PRODOM
      - PROSITE
      - SMART
      - SUPFAM
      - TIGRFAM
      - CATH.SUPERFAMILY
      - RFAM  ## RNAs only
      - KEGG.ORTHOLOGY  ## aka KEGG.KO: K number
      - EGGNOG
      - COG
    in_subset:
      - model_organism_database

  zygosity:
    description: >-
      An allelic state describing the degree of similarity between
      features at a single locus, specifically whether alleles at the
      same location on paired chromosomes are identical or different.
    is_a: attribute
    exact_mappings:
      - GENO:0000133

  genotype:
    is_a: biological entity
    mixins:
      - physical essence
      - genomic entity
      - ontology class
    description: >-
      An information content entity that describes a genome by specifying the
      total variation in genomic sequence and/or gene expression, relative to
      some established background
    comments:
      - Consider renaming as genotypic entity
    slots:
      - has zygosity
    exact_mappings:
      - GENO:0000536
      - SIO:001079
    id_prefixes:
      - ZFIN
      - FB    # FlyBase FBba*
    in_subset:
      - model_organism_database

  haplotype:
    is_a: biological entity
    mixins:
      - genomic entity
      - physical essence
      - ontology class
    description: >-
      A set of zero or more Alleles on a single instance of a Sequence[VMC]
     #    slots:
     #      - completeness
    exact_mappings:
      - GENO:0000871
      - SO:0001024
      - VMC:Haplotype

  sequence variant:
    aliases: ['allele']
    local_names:
      agr: allele
    is_a: biological entity
    mixins:
      - genomic entity
      - physical essence
      - ontology class
    description: >-
      A sequence_variant is a non exact copy of a sequence_feature or genome exhibiting one or more sequence_alteration.
    comments:
      - This class is for modeling the specific state at a locus.
        A single DBSNP rs ID could correspond to more than one sequence variants
        (e.g CIViC:1252 and CIViC:1253, two distinct BRCA2 alleles for rs28897743)
    exact_mappings:
       # slightly broader semantics than SO:0001059 - 'sequence alteration'
       # describes a sequence feature that may have 1..* sequence alterations
      - WIKIDATA:Q15304597
    close_mappings:
      - dcid:Allele
      - SO:0001060
      - VMC:Allele
      - GENO:0000002
      - SIO:010277
      - SO:0001060
    id_prefixes:
      - CAID  # ClinGen Allele Registry
      - CLINVAR
      - WIKIDATA
       # - CIViC needs IRI mapping
      - DBSNP
      - MGI
      - ZFIN
      - FB
      - RGD
      - AGRKB
      - SPDI
      - WB
      - WormBase
      - PHARMGKB.VARIANT
    alt_descriptions:
      AGR: >-
        An entity that describes a single affected, endogenous allele.
        These can be of any type that matches that definition
      VMC: >-
        A contiguous change at a Location
    slots:
      - has gene
      - hgvs nomenclature
    slot_usage:
      has gene:
        multivalued: true
        description: Each allele can be associated with any number of genes
      has biological sequence:
        description: >-
          The state of the sequence w.r.t a reference sequence
      id:
        examples:
          - value: ZFIN:ZDB-ALT-980203-1091
            description: ti282a allele from ZFIN
          - value: CLINVAR:17681
            description: NM_007294.3(BRCA1):c.2521C>T (p.Arg841Trp)
    in_subset:
      - model_organism_database

  snv:
    aliases: ['single nucleotide variant', 'single nucleotide polymorphism', 'snp']
    is_a: sequence variant
    description: >-
      SNVs are single nucleotide positions in genomic DNA at
      which different sequence alternatives exist
    exact_mappings:
      - SO:0001483

  reagent targeted gene:
    aliases: ['sequence targeting reagent']
    is_a: biological entity
    description: >-
      A gene altered in its expression level in the context of some
      experiment as a result of being targeted by gene-knockdown
      reagent(s) such as a morpholino or RNAi.
    mixins:
      - genomic entity
      - physical essence
      - ontology class
    exact_mappings:
      - GENO:0000504
    in_subset:
      - model_organism_database

   ## --------------------
   ## Clinical
   ## Attributes, Cohort,
   ## Exposures & Outcomes
   ## --------------------

   ## Clinical Attributes

  clinical attribute:
    is_a: attribute
    description: >-
      Attributes relating to a clinical manifestation
    exact_mappings:
       # Clinical Attribute
      - STY:T201

  clinical measurement:
    is_a: clinical attribute
    description: >-
      A clinical measurement is a special kind of attribute which results
      from a laboratory observation from a subject individual or sample.
      Measurements can be connected to their subject by the 'has attribute' slot.
    slot_usage:
      has attribute type:
        required: true
        multivalued: false
        values_from:
          - EFO
          - LOINC
    exact_mappings:
      - EFO:0001444

  clinical modifier:
    is_a: clinical attribute
    description: >-
      Used to characterize and specify the phenotypic abnormalities
      defined in the phenotypic abnormality sub-ontology, with respect
      to severity, laterality, and other aspects
    exact_mappings:


  clinical course:
    is_a: clinical attribute
    description: >-
      The course a disease typically takes from its onset, progression in time, and
      eventual resolution or death of the affected individual
    exact_mappings:
      - HP:0031797

  onset:
    is_a: clinical course
    description: >-
      The age group in which (disease) symptom manifestations appear.
    notes:
      - >-
        This class is in Biolink to support HP ontology annotations which use "onset" (with terms from HP)
        as an annotation on a disease to phenotypic feature association.  This should be the primary use
        case for this class.
    exact_mappings:
      - HP:0003674

  clinical entity:
    is_a: named thing
    description: >-
      Any entity or process that exists in the clinical domain and outside the
      biological realm. Diseases are placed under biological entities

  clinical trial:
    is_a: study
    description: >-
      A clinical trial is a research study that prospectively assigns human participants or groups of humans to one or
      more health-related interventions to evaluate the effects on health outcomes.
    exact_mappings:
      - NCIT:C71104
      - SIO:001000
    slots:
      - clinical trial phase
      - clinical trial primary purpose
      - clinical trial intervention model
      - clinical trial overall status
      - clinical trial brief title
      - clinical trial enrollment type
      - clinical trial start date
      - clinical trial enrollment
      - clinical trial age stage
      - clinical trial age range
      - clinical trial tested intervention
      - clinical trial interventions
      - clinical trial conditions
      - creation date
    id_prefixes:
      - CLINICALTRIALS

  clinical intervention:
    description: >-
      A medical procedure, treatment, or action taken by healthcare
      professionals to modify the course of a disease or condition.
    is_a: clinical entity

  clinical finding:
    is_a: phenotypic feature
    description: >-
      this category is currently considered broad enough to tag clinical lab
      measurements and other biological attributes taken as 'clinical traits'
      with some statistical score, for example, a p value in genetic associations.
    slot_usage:
      has attribute:
        range: clinical attribute
    id_prefixes:
      - LOINC
      - NCIT
      - EFO

  hospitalization:
    description: >-
      The admission and care of a patient in a hospital for
      observation, diagnosis, or treatment.
    is_a: clinical intervention
    exact_mappings:
      - SNOMEDCT:32485007
      - WIKIDATA:Q3140971

  socioeconomic attribute:
    is_a: attribute
    description: >-
      Attributes relating to a socioeconomic manifestation

   ## Cohorts

  case:
    aliases: ['patient', 'proband']
    is_a: individual organism
    description: >-
      An individual (human) organism that has a patient role in some clinical context.
    mixins:
      - subject of investigation
    slots:
      - has biological sex

  cohort:
    is_a: study population
    description: >-
      A group of people banded together or treated as a group who share common characteristics.
      A cohort 'study' is a particular form of longitudinal study that samples a cohort,
      performing a cross-section at intervals through time.
    mixins:
      - subject of investigation
    exact_mappings:
      - WIKIDATA:Q1303415
    narrow_mappings:
       # Professional or Occupational Group
      - STY:T097
       # Family Group
      - STY:T099
       # Age Group
      - STY:T100
       # Patient or Disabled Group
      - STY:T101

   ## Exposures

  exposure event:
    is_a: named thing
    mixins:
      - ontology class
    aliases: ['exposure', 'experimental condition']
    slots:
      - timepoint
      - exposure type
      - exposure vehicle
      - exposure route
      - exposure start age
      - exposure end age
      - exposure duration
      - exposure magnitude
      - exposure additional condition
    description: >-
      A (possibly time bounded) incidence of a feature of the environment of an organism that
      influences one or more phenotypic features of that organism, potentially mediated by genes
    slot_usage:
      id:
        description: >-
          Could generally be a CURIE from a suitable exposure ontology like ECTO.
    exact_mappings:
      - XCO:0000000
    in_subset:
      - model_organism_database

   # TODO - confirm that genomic backgrounds are exposures
  genomic background exposure:
    is_a: exposure event
    mixins:
      - gene grouping mixin
      - physical essence
      - genomic entity
      - thing with taxon
      - ontology class
    description: >-
      A genomic background exposure is where an individual's specific genomic background
      of genes, sequence variants or other pre-existing genomic conditions constitute
      a kind of 'exposure' to the organism, leading to or influencing an outcome.

  pathological entity mixin:
    description: >-
      A pathological (abnormal) structure or process.
    mixin: true
    exact_mappings:
      - MPATH:0
    narrow_mappings:
      - HP:0000118

  pathological process:
    description: >-
      A biologic function or a process having an abnormal or deleterious
      effect at the subcellular, cellular, multicellular, or organismal level.
    is_a: biological process
    mixins:
      - pathological entity mixin
    exact_mappings:
      - OBI:1110122
      - NCIT:C16956
      - MPATH:596
    narrow_mappings:
       # metastasis
      - NCIT:C19151
      - EFO:0009708
      - STY:T046
      - STY:T037

  pathological process exposure:
    is_a: exposure event
    description: >-
      A pathological process, when viewed as an exposure, representing
      a precondition, leading to or influencing an outcome.

  pathological anatomical structure:
    description: >-
      An anatomical structure with the potential of have an abnormal or deleterious
      effect at the subcellular, cellular, multicellular, or organismal level.
    is_a: anatomical entity
    mixins:
      - pathological entity mixin
    exact_mappings:
      - MPATH:603

  pathological anatomical exposure:
    is_a: exposure event
    description: >-
      An abnormal anatomical structure, when viewed as an exposure,
      represented as a precondition, leading to or influencing an outcome.

  disease or phenotypic feature exposure:
    is_a: exposure event
    mixins:
      - pathological entity mixin
    description: >-
      A disease or phenotypic feature state, when viewed as an exposure,
      represented as a precondition, leading to or influencing an outcome,.

  chemical exposure:
    is_a: exposure event
    slots:
      - has quantitative value
    description: >-
      A chemical exposure is an intake of a particular
      chemical entity.
    exact_mappings:
       # this ECTO term is not visibly defined but
       # the 9000000-series identifiers seems to be the
       # numeric space of chemical exposure definitions
      - ECTO:9000000
      - SIO:001399

  complex chemical exposure:
    is_a: exposure event
    description: >-
      A complex chemical exposure is an intake of a chemical
      mixture, other than a drug.

  drug exposure:
    is_a: chemical exposure
    aliases: ['drug intake', 'drug dose', 'medication intake']
    description: >-
      A drug exposure is an intake of a particular drug.
    broad_mappings:
       # slightly broader than just drug effects on a biological system
      - SIO:001005
    exact_mappings:
      - ECTO:0000509

   # TODO: deprecate?
  drug to gene interaction exposure:
    description: >-
      drug to gene interaction exposure is a drug exposure is where the
      interactions of the drug with specific genes are known to constitute
      an 'exposure' to the organism, leading to or influencing an outcome.
    is_a: drug exposure
    mixins:
      - gene grouping mixin

  treatment:
    aliases: ['medical action', 'medical intervention']
     # 'named thing' seems too generic here but not sure what applies better here
    is_a: exposure event
    mixins:
      - chemical or drug or treatment
    description: >-
      A treatment is targeted at a disease or phenotype and may involve
      multiple drug 'exposures', medical devices and/or procedures
    slots:
      - has drug
      - has device
      - has procedure
    exact_mappings:
      - OGMS:0000090
      - SIO:001398
    broad_mappings:
      - MAXO:0000058

  biotic exposure:
    is_a: exposure event
    aliases: ['viral exposure', 'bacterial exposure']
    description: >-
      An external biotic exposure is an intake of (sometimes pathological)
      biological organisms (including viruses).

  geographic exposure:
    is_a: environmental exposure
    description: >-
      A geographic exposure is a factor relating to geographic
      proximity to some impactful entity.
    close_mappings:
      - dcid:GeologicalEvent
    narrow_mappings:
      - dcid:IceStoremEvent
      - dcid:LakeEffectSnowEvent
      - dcid:LandslideEvent
      - dcid:MarineDenseFogEvent
      - dcid:MarineLighteningEvent
      - dcid:MarineStrongWindEvent
      - dcid:MarineThunderstormWindEvent
      - dcid:StormEvent
      - dcid:StormSurgeTideEvent
      - dcid:StrongWindEvent
      - dcid:ThunderstormWindEvent
      - dcid:TornadoEvent
      - dcid:TropicalDepressionEvent
      - dcid:WinterStoremEvent

  environmental exposure:
    is_a: exposure event
    description: >-
      A environmental exposure is a factor relating to abiotic processes
      in the environment including sunlight (UV-B), atmospheric (heat,
      cold, general pollution) and water-born contaminants.

  behavioral exposure:
    is_a: exposure event
    description: >-
      A behavioral exposure is a factor relating to behavior impacting an individual.

  socioeconomic exposure:
    is_a: exposure event
    description: >-
      A socioeconomic exposure is a factor relating to social and
      financial status of an affected individual.
    slot_usage:
      has attribute:
        range: socioeconomic attribute
        required: true

   ## Outcomes

  outcome:
    mixin: true
    description: >-
      An entity that has the role of being the consequence of an exposure event.
      This is an abstract mixin grouping of various categories of possible
      biological or non-biological outcomes.

  pathological process outcome:
    mixins:
      - outcome
    description: >-
      An outcome resulting from an exposure event which
      is the manifestation of a pathological process.

  pathological anatomical outcome:
    mixins:
      - outcome
    description: >-
      An outcome resulting from an exposure event which
      is the manifestation of an abnormal anatomical structure.

  disease or phenotypic feature outcome:
    mixins:
      - outcome
    description: >-
      Physiological outcomes resulting from an exposure event which
      is the manifestation of a disease or other characteristic phenotype.

  behavioral outcome:
    mixins:
      - outcome
    description: >-
      An outcome resulting from an exposure event which is
      the manifestation of human behavior.

  hospitalization outcome:
    mixins:
      - outcome
    description: >-
      An outcome resulting from an exposure event which is
      the increased manifestation of acute (e.g. emergency
      room visit) or chronic (inpatient) hospitalization.

  mortality outcome:
    mixins:
      - outcome
    description: >-
      An outcome of death from resulting from an exposure event.

  epidemiological outcome:
    mixins:
      - outcome
    description: >-
      An epidemiological outcome, such as societal disease
      burden, resulting from an exposure event.
    related_mappings:
      - NCIT:C19291

  socioeconomic outcome:
    mixins:
      - outcome
    description: >-
      An general social or economic outcome, such as
      healthcare costs, utilization, etc., resulting from an exposure event

   ## ------------
   ## ASSOCIATIONS
   ## ------------

  association:
    is_a: entity
    description: >-
      A typed association between two entities, supported by evidence
    comments:
      - This is roughly the model used by biolink and ontobio at the moment
    slots:
      - subject
      - predicate
      - object
      - negated
      - qualifier
      - qualifiers  # deprecated
      - publications
      - sources
      - has evidence of type
      - has evidence
      - knowledge source
      - primary knowledge source
      - aggregator knowledge source
      - knowledge level
      - agent type
      - timepoint
      - original subject
      - original predicate
      - original object
      - subject feature name
      - object feature name
       # denormalized fields
      - subject category
      - object category
      - subject closure
      - object closure
      - subject category closure
      - object category closure
      - subject namespace
      - object namespace
      - subject label closure
      - object label closure
      - retrieval source ids
      - p value
      - adjusted p value
      - statistical significance qualifier
      - effect size
      - effect type
      - supporting text
      - has supporting studies
      - update date
      - has confidence score
      - stringdb combined score
      - stringdb experimental score
      - stringdb coexpression score
      - elevate to prediction
      - evidence count
      - semmed agreement count
      - association basis qualifier
    slot_usage:
      type:
        description: rdf:type of biolink:Association should be fixed at rdf:Statement
      category:
        range: uriorcurie
        required: false
      sources:
        inlined_as_list: true
      has supporting studies:
        inlined: true
    rules:
      - description: >-
          A statistical significance qualifier may only be set when at least one
          numeric p-value slot (p value or adjusted p value) is also populated.
        preconditions:
          slot_conditions:
            statistical significance qualifier: {}
        postconditions:
          any_of:
            - slot_conditions:
                p value: {}
            - slot_conditions:
                adjusted p value: {}
      - description: >-
          An effect type may only be set when the companion effect size slot
          is also populated, because the effect type disambiguates the numeric
          value and is meaningless without it.
        preconditions:
          slot_conditions:
            effect type: {}
        postconditions:
          slot_conditions:
            effect size: {}
    exact_mappings:
      - OBAN:association
      - rdf:Statement
      - owl:Axiom
    examples:
      - object:
          subject: NCBIGene:6910  # TBX5
          predicate: biolink:acts_upstream_of
          object: GO:1901846  # positive regulation of cell communication by electrical coupling involved in cardiac conduction
          category: biolink:Association
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:15289437"]
      - object:
          subject: NCBIGene:4357  # MPST
          predicate: biolink:enables
          object: GO:0005515  # protein binding
          category: biolink:Association
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:32296183"]
      - object:
          subject: CHEBI:114566  # 2-imino-N,8-dimethyl-5-oxo-1-propan-2-yl-3-dipyrido[1,2-d:3',4'-f]pyrimidinecarboxamide
          predicate: biolink:subclass_of
          object: CHEBI:38166  # organic heteropolycyclic compound
          category: biolink:Association
          knowledge_level: knowledge_assertion
          agent_type: manual_agent

  disease associated with response to chemical entity association:
    description: >-
      A statistical association between a disease and a chemical entity where the
      chemical entity has a therapeutic or adverse effect on the disease progression, symptoms or outcomes
      in a patient, cell line, or any model system.
    is_a: association
    slots:
      - response context qualifier
      - response target context qualifier
    defining_slots:
      - subject
      - predicate
      - object
      - response context qualifier
      - response target context qualifier
    slot_usage:
      subject:
        range: disease
      object:
        range: chemical entity
      predicate:
        subproperty_of: associated with response to


  chemical entity assesses named thing association:
    deprecated: "true"
    is_a: association
    slot_usage:
      subject:
        range: chemical entity
      object:
        range: named thing
      predicate:
        subproperty_of: was tested for effect on

  contributor association:
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    description: >-
      Any association between an entity (such as a publication)
      and various agents that contribute to its realisation
    slot_usage:
      subject:
        range: information content entity
        description: >-
          information content entity which an agent has helped realise
      predicate:
        subproperty_of: contributor
        description: >-
          generally one of the predicate values 'provider', 'publisher', 'editor' or 'author'
      object:
        range: agent
        description: >-
          agent helping to realise the given entity (e.g. such as a publication)
      qualifiers:
        description: >-
          this field can be used to annotate special characteristics of an
          agent relationship, such as the fact that a given author agent of
          a publication is the 'corresponding author'

  genotype to genotype part association:
    is_a: association
    defining_slots:
      - subject
      - object
    description: >-
      Any association between one genotype and a genotypic entity that is a sub-component of it
    slot_usage:
      predicate:
        subproperty_of: has variant part
      subject:
        range: genotype
        description: >-
          parent genotype
      object:
        range: genotype
        description: >-
          child genotype

  genotype to gene association:
    description: >-
      Any association between a genotype and a gene.
      The genotype have have multiple variants in that gene or a single one.
      There is no assumption of cardinality
    is_a: association
    defining_slots:
      - subject
      - object
    slot_usage:
      predicate:
        description: >-
          the relationship type used to connect genotype to gene
      subject:
        range: genotype
        description: >-
          parent genotype
      object:
        range: gene
        description: >-
          gene implicated in genotype

  genotype to variant association:
    description: >-
      Any association between a genotype and a sequence variant.
    is_a: association
    defining_slots:
      - subject
      - object
    slot_usage:
      predicate:
        description: >-
          the relationship type used to connect genotype to gene
      subject:
        range: genotype
        description: >-
          parent genotype
      object:
        range: sequence variant
        description: >-
          gene implicated in genotype

  gene to gene association:
    aliases: ['molecular or genetic interaction']
    description: >-
      parent class for different kinds of gene-gene or gene product
      to gene product relationships. Includes homology and interaction.
    is_a: association
    slots:
      - subject aspect qualifier
      - subject direction qualifier
      - object aspect qualifier
      - object direction qualifier
      - causal mechanism qualifier
      - qualified predicate
      - species context qualifier
      - subject
      - subject activity qualifier
      - subject process qualifier
      - subject context qualifier
      - predicate
      - qualified predicate
      - object
      - object activity qualifier
      - object process qualifier
      - object context qualifier
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          the subject gene in the association. If the relation is symmetric,
          subject vs object is arbitrary. We allow a gene product to stand
          as a proxy for the gene or vice versa.
      subject activity qualifier:
        range: molecular activity
      subject process qualifier:
        range: biological process
      subject context qualifier:
        range: anatomical entity
      object:
        range: gene or gene product
        description: >-
          the object gene in the association. If the relation is symmetric,
          subject vs object is arbitrary. We allow a gene product to stand
          as a proxy for the gene or vice versa.
      object activity qualifier:
        range: molecular activity
      object process qualifier:
        range: biological process
      object context qualifier:
        range: anatomical entity

  gene to gene homology association:
    description: >-
      A homology association between two genes. May be orthology (in which
      case the species of subject and object should differ) or paralogy
      (in which case the species may be the same)
    is_a: gene to gene association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: gene or gene product
      predicate:
        subproperty_of: homologous to
        symmetric: true
        description: >-
          homology relationship type
      object:
        range: gene or gene product

  gene to gene family association:
    description: >-
      Set membership of a gene in a family of genes related by common
      evolutionary ancestry usually inferred by sequence comparisons.
      The genes in a given family generally share common sequence motifs which
      generally map onto shared gene product structure-function relationships.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: gene
      object:
        range: gene family
      predicate:
        subproperty_of: member of
        symmetric: false
        description: >-
          membership of the gene in the given gene family.

  gene family to gene or gene product or gene family association:
    description: >-
      Relationship between a gene family and
      a contained gene or gene product or gene family.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: gene family
      object:
        range: gene or gene product
      predicate:
        subproperty_of: has part
        symmetric: false
        description: >-
          membership of a gene or gene product,
          or strict subset relationship gene family,
          in the given gene family.

  gene or gene product or gene family to biological process or activity association:
    description: >-
      Relationship between a gene or gene product or gene family to a
      specified biological process or activity (e.g. molecular activity,
      biological process or pathway).
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: gene or gene product or gene family
      object:
        range: biological process or activity
      predicate:
        subproperty_of: participates in
        symmetric: false
        description: >-
          participation of a gene or gene product or gene family in
          a given biological process or activity (e.g., gene product
          participates in biological process; gene catalyzes molecular
          activity; gene family is actively involved in a pathway).

  biological process or activity to gene or gene product or gene family association:
    description: >-
      Relationship between a biological processor activity
      (e.g. molecular activity, biological process or pathway)
      to gene or gene product or gene family.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: biological process or activity
      object:
        range: gene or gene product or gene family
      predicate:
        subproperty_of: has participant
        symmetric: false
        description: >-
          Relationship in which a biological process has the
          participation of a gene or gene product or gene family in
          a  (e.g., pathway has participant gene product).

  biological process or activity to biological process or activity association:
    description: >-
      Classification relationship between biological processes or activities
      (e.g. coupling of two molecular activities;  assignment of molecular
      activity to a pathway; implicating a pathway in a biological process; etc.)
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: biological process or activity
      object:
        range: biological process or activity
      predicate:
        subproperty_of: subclass of
        symmetric: false
        description: >-
          One biological processes or activities is a subclass of another.

  gene expression mixin:
    description: >-
      Observed gene expression intensity, context (site, stage) and
      associated phenotypic status within which the expression occurs.
    mixin: true
    slots:
      - quantifier qualifier
      - expression site
      - stage qualifier
      - phenotypic state
    slot_usage:
      quantifier qualifier:
        description: >-
          Optional quantitative value indicating degree of expression.

  gene to gene coexpression association:
    description: >-
      Indicates that two genes are co-expressed,
      generally under the same conditions.
    is_a: gene to gene association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - gene expression mixin
    slot_usage:
      predicate:
        subproperty_of: coexpressed with
        symmetric: true

  pairwise gene to gene interaction:
    description: >-
      An interaction between two genes or two gene products.
      May be physical (e.g. protein binding) or genetic (between genes).
      May be symmetric (e.g. protein interaction) or directed (e.g. phosphorylation)
    is_a: gene to gene association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      predicate:
        subproperty_of: interacts with
        symmetric: true
        description: "interaction relationship type"
    narrow_mappings:
      - dcid:ProteinProteinInteraction

  pairwise molecular interaction:
    description: >-
      An interaction at the molecular level between two physical entities
    is_a: pairwise gene to gene interaction
    slots:
      - interacting molecules category
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: molecular entity
      id:
        description: >-
          identifier for the interaction. This may come from an interaction database such as IMEX.
        examples:
          - value: WB:WBInteraction000538741
        values_from:
          - IMEX
          - BioGRID
      predicate:
        subproperty_of: interacts with
        description: "interaction relationship type"
        examples:
          - value: RO:0002447
            description: the subject molecular phosphorylates the object molecule
      object:
        range: molecular entity

  cell line to entity association mixin:
    description: >-
      An relationship between a cell line and another entity
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: cell line

   # TODO: figure out what gives with subject range
  cell line to disease or phenotypic feature association:
    is_a: association
    mixins:
      - cell line to entity association mixin
      - entity to disease or phenotypic feature association mixin
    description: >-
      An relationship between a cell line and a disease or a phenotype, where
      the cell line is derived from an individual with that disease or phenotype.
    slot_usage:
      subject:
         #        - range: cell line
         #        - range: disease or phenotypic feature
        range: disease or phenotypic feature

  chemical entity to entity association mixin:
    description: >-
      An interaction between a chemical entity and another entity
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: chemical entity or gene or gene product
        description: "the chemical entity that is an interactor"

  drug to entity association mixin:
    description: >-
      An interaction between a drug and another entity
    is_a: chemical entity to entity association mixin
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: drug
        description: "the drug that is an interactor"

  chemical to entity association mixin:
    deprecated: "true"
    description: >-
      An interaction between a chemical entity and another entity
    is_a: chemical entity to entity association mixin
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: chemical entity or gene or gene product
        description: "the chemical entity or entity that is an interactor"

  case to entity association mixin:
    description: >-
      An abstract association for use where the case is the subject
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: case
        description: "the case (e.g. patient) that has the property"

  chemical entity to chemical entity association:
    description: >-
      A relationship between two chemical entities. This can encompass actual
      interactions as well as temporal causal edges, e.g. one chemical converted to another.
    is_a: association
    slots:
      - subject
      - predicate
      - object
      - species context qualifier
    defining_slots:
      - subject
      - object
    slot_usage:
      object:
        range: chemical entity
        description: "the chemical element that is the target of the statement"
    examples:
      - object:
          subject: CHEBI:85990  # panobinostat
          predicate: biolink:has_metabolite
          object: PUBCHEM.COMPOUND:155543741  # (E)-3-[4-[[2-(1a-methyl-2H-oxireno[2,3-b]indol-6b-yl)ethylamino]methyl]phenyl]-N-hydroxyprop-2-enamide
          category: biolink:ChemicalEntityToChemicalEntityAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:22344701"]
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEBI:85973  # edoxaban
          predicate: biolink:has_metabolite
          object: UNII:9O1PTP64VA
          category: biolink:ChemicalEntityToChemicalEntityAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:22936313"]
          species_context_qualifier: NCBITaxon:9606

  reaction to participant association:
    description: >-
      An association between a biochemical reaction and a participating
      molecular entity, qualified by the stoichiometry, the side (reactant
      vs. product) on which the participant appears, and the direction of
      the reaction.
    is_a: chemical entity to chemical entity association
    slots:
      - stoichiometry
      - reaction direction
      - reaction side
    slot_usage:
      subject:
        range: molecular entity
    defining_slots:
      - subject
      - predicate
      - object

  reaction to catalyst association:
    description: >-
      A specialization of reaction-to-participant association in which the
      participant is a gene or gene product (e.g., an enzyme) that catalyses
      the reaction.
    is_a: reaction to participant association
    slot_usage:
      object:
        range: gene or gene product

  chemical entity to chemical derivation association:
    description: >-
      A causal relationship between two chemical entities, where the subject
      represents the upstream entity and the object represents the downstream.
      For any such association there is an implicit reaction: IF R has-input C1 AND
      R has-output C2 AND R enabled-by P AND
      R type Reaction THEN C1 derives-into C2 catalyst qualifier P
    is_a: chemical entity to chemical entity association
    defining_slots:
      - subject
      - predicate
      - object
    slots:
      - catalyst qualifier
    slot_usage:
      subject:
        range: chemical entity
        description: >-
          the upstream chemical entity
      object:
        range: chemical entity
        description: >-
          the downstream chemical entity
      predicate:
        subproperty_of: derives into
      catalyst qualifier:
        description: >-
          this connects the derivation edge to the chemical entity that
          catalyzes the reaction that causes the subject chemical to
          transform into the object chemical.

  chemical entity to disease or phenotypic feature association:
    description: >-
      An interaction between a chemical entity and a phenotype or disease,
      where the presence of the chemical gives rise to or exacerbates the phenotype.
    is_a: association
    narrow_mappings:
      - SIO:000993
    defining_slots:
      - subject
      - object
    mixins:
      - entity to disease or phenotypic feature association mixin
    slots:
      - clinical approval status
      - max research phase
    slot_usage:
      object:
        range: disease or phenotypic feature
        description: "the disease or phenotype that is affected by the chemical"
    examples:
      - object:
          subject: CHEBI:167638  # 2-hydroxy-5-{1-hydroxy-2-[(4-phenylbutan-2-yl)amino]ethyl}benzamide
          predicate: biolink:contraindicated_in
          object: UMLS:C0271149  # Secondary angle-closure glaucoma
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: CHEBI:25879  # pentaerythritol tetranitrate
          predicate: biolink:contraindicated_in
          object: UMLS:C0234976  # Lowered convulsive threshold
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: PUBCHEM.COMPOUND:134612761  # macimorelin
          predicate: biolink:diagnoses
          object: UMLS:C1720505  # Adult growth hormone deficiency
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: CHEBI:82720  # empagliflozin
          predicate: biolink:preventative_for_condition
          object: UMLS:C1320716  # Cardiovascular event
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: CHEBI:6919  # mezlocillin
          predicate: biolink:treats
          object: EFO:1001421  # Serratia Infections
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: CHEBI:135361  # methscopolamine
          predicate: biolink:treats
          object: MONDO:0005324  # seasonal allergic rhinitis
          category: biolink:ChemicalEntityToDiseaseOrPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent

  chemical or drug or treatment to disease or phenotypic feature association:
    description: >-
      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature
      where the chemical or treatment is used to treat, or is being studied to treat, the disease or phenotypic feature.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - entity to disease or phenotypic feature association mixin
      - entity to feature or disease qualifiers mixin
    slot_usage:
      predicate:
        subproperty_of: treats or applied or studied to treat

  chemical or drug or treatment adverse event association:
    description: >-
      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature
      where the disease or phenotypic feature is an untoward medical occurrence that happens during treatment,
      whether or not considered related to the treatment.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - entity to disease or phenotypic feature association mixin
      - entity to feature or disease qualifiers mixin
    slots:
      - FDA adverse event level
    slot_usage:
      predicate:
        subproperty_of: has adverse event

  chemical or drug or treatment side effect association:
    description: >-
      This association defines a relationship between a chemical or treatment (or procedure) and a disease or phenotypic feature
      where the disease or phenotypic feature is an unintended, but predictable, secondary effect of the treatment.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - entity to disease or phenotypic feature association mixin
      - entity to feature or disease qualifiers mixin
    slot_usage:
      predicate:
        subproperty_of: has side effect

  gene to pathway association:
    description: >-
      An interaction between a gene or gene product and a biological process or pathway.
    is_a: association
    defining_slots:
      - subject
      - object
    mixins:
      - gene to entity association mixin
    slot_usage:
      subject:
        range: gene or gene product
        description: "the gene or gene product entity that participates or influences the pathway"
      object:
        range: pathway
        description: "the pathway that includes or is affected by the gene or gene product"

  molecular activity to pathway association:
    description: >-
      Association that holds the relationship between a reaction and the pathway it participates in.
    is_a: association
    slot_usage:
      subject:
        range: molecular activity
      object:
        range: pathway
      predicate:
        subproperty_of: part of

  chemical entity to pathway association:
    description: >-
      An interaction between a chemical entity and a biological process or pathway.
    is_a: association
    exact_mappings:
      - SIO:001250
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: chemical entity
        description: "the chemical entity that is affecting the pathway"
      object:
        range: pathway
        description: "the pathway that is affected by the chemical"

  chemical entity to biological process association:
    description: >-
      An association between a chemical entity and a biological process,
      where the chemical entity has some effect on the biological process.
    is_a: association
    slots:
      - species context qualifier
      - anatomical context qualifier
      - qualified predicate
      - object direction qualifier
    slot_usage:
      subject:
        range: chemical entity
        description: "the chemical entity that affects the biological process"
      object:
        range: biological process
        description: "the biological process that is affected by the chemical entity"
      predicate:
        subproperty_of: related to at instance level

  named thing associated with likelihood of named thing association:
     # TODO: better name
    description: >-
      An association in which the subject entity is linked to the likelihood
      of the object entity occurring, manifesting, or being observed.
      Subject and object may each be qualified by aspect and context, and
      the association may be further qualified by a population context.
    is_a: association
    slots:
      - subject
      - subject aspect qualifier
      - subject context qualifier
      - predicate
      - object
      - object aspect qualifier
      - object context qualifier
      - population context qualifier
    defining_slots:
      - subject
      - subject aspect qualifier
      - subject context qualifier
      - predicate
      - object
      - object aspect qualifier
      - object context qualifier
      - population context qualifier
    slot_usage:
      predicate:
        subproperty_of: associated with
      subject aspect qualifier:
       # TODO: range
      subject context qualifier:
        range: ontology class
      object aspect qualifier:
       # TODO: range
      object context qualifier:
        range: ontology class

  chemical gene interaction association:
    description: >-
      describes an interaction between a chemical entity and a gene or gene product. Any biological or chemical
      effect resulting from such an interaction are out of scope, and covered by the ChemicalAffectsGeneAssociation type
      (e.g. impact of a chemical on the abundance, activity, structure, etc, of either participant in the interaction)
    is_a: association
    broad_mappings:
      - SIO:001257    ## chemical-gene association
    slots:
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject context qualifier
      - qualified predicate
      - object direction qualifier
      - object aspect qualifier
      - object form or variant qualifier
      - object part qualifier
      - object context qualifier
      - anatomical context qualifier
      - species context qualifier
      - causal mechanism qualifier
      - dgidb interaction score
      - dgidb evidence score
    slot_usage:
      subject:
        range: chemical entity
      object:
        range: gene or gene product
      predicate:
        subproperty_of: interacts with
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      subject derivative qualifier:
        range: ChemicalEntityDerivativeEnum
      subject context qualifier:
        range: anatomical entity
      object direction qualifier:
        range: DirectionQualifierEnum
      object aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      object part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      object context qualifier:
        range: anatomical entity
      anatomical context qualifier:
        range: anatomical entity
      causal mechanism qualifier:
        range: CausalMechanismQualifierEnum
    examples:
      - object:
          subject: CHEBI:135370  # aprindine
          predicate: biolink:directly_physically_interacts_with
          object: UniProtKB:P0DP23  # CALM1_HUMAN Calmodulin-1 (sprot)
          category: biolink:ChemicalGeneInteractionAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: CHEBI:4779  # emedastine
          predicate: biolink:directly_physically_interacts_with
          object: NCBIGene:3269  # HRH1
          category: biolink:ChemicalGeneInteractionAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["http://www.accessdata.fda.gov/drugsatfda_docs/label/2003/20706slr011_emadine_lbl.pdf"]
      - object:
          subject: UNII:OP35X9610Y  # ACP-001
          predicate: biolink:interacts_with
          object: NCBIGene:2690  # GHR
          category: biolink:ChemicalGeneInteractionAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["https://www.accessdata.fda.gov/drugsatfda_docs/label/2021/761177Orig1s000lbl.pdf"]

  macromolecular machine has substrate association:
    is_a: association
    description: >-
      Describes the relationship between an enzyme (usually a macromolecular
      complex or gene product) and the molecules it acts on (substrate).
      The substrate can be a chemical, a polypeptide, or a protein.
    notes:
      - >-
        Using macromolecular machine should cover cases of gene-protein conflation.
    slots:
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject aspect qualifier
      - subject context qualifier
      - subject direction qualifier
      - object form or variant qualifier
      - object part qualifier
      - object aspect qualifier
      - object context qualifier
      - object direction qualifier
      - causal mechanism qualifier
      - anatomical context qualifier
      - qualified predicate
      - species context qualifier
    slot_usage:
      subject:
        range: macromolecular machine mixin
      predicate:
        subproperty_of: has substrate
      object:
        range: chemical entity or protein or polypeptide
    examples:
      - object:
          subject: NCBIGene:6530  # SLC6A2
          predicate: biolink:has_substrate
          object: CHEBI:5557  # guanethidine
          category: biolink:MacromolecularMachineHasSubstrateAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: NCBIGene:50719  # Slc7a5
          predicate: biolink:has_substrate
          object: UNII:UID84303EL  # borofalan (10B)
          category: biolink:MacromolecularMachineHasSubstrateAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent

  gene regulates gene association:
    is_a: association
    description: >-
      Describes a regulatory relationship between two genes or gene products.
    slots:
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate
      - species context qualifier
      - causal mechanism qualifier
    slot_usage:
      subject:
        range: chemical entity or gene or gene product
      predicate:
        subproperty_of: regulates
      object:
        range: chemical entity or gene or gene product
      object aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
        required: true
        description: >-
          the aspect of the object gene or gene product that is being regulated, must be a descendant of
          "activity_or_abundance""
      object direction qualifier:
        range: DirectionQualifierEnum
        required: true
      qualified predicate:
        subproperty_of: causes
        required: true
    examples:
      - value: >-
          {
            subject: NCBIGene:551,
            predicate: regulates, qualified_predicate: causes,
            object: NCBIGene:1636,
            object_aspect_qualifier: activity_or_abundance,
            object_direction_qualifier: downregulated
          }
        description: >-
          AVP (NCBIGene:551) regulates ACE (NCBIGene:1636), with qualified predicate
          'causes', object aspect qualifier 'activity_or_abundance', and object
          direction qualifier 'downregulated'.

  process regulates process association:
    is_a: association
    description: >-
      Describes a regulatory relationship between two genes or gene products.
    slot_usage:
      subject:
        range: biological process
      predicate:
        subproperty_of: regulates
      object:
        range: biological process

  chemical affects biological entity association:
    description: >-
      Describes an effect that a chemical has on a biological entity (e.g. an impact
      of on its abundance, activity,localization, processing, expression, etc.)
    is_a: association
    slots:
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject aspect qualifier
      - subject context qualifier
      - subject direction qualifier
      - object form or variant qualifier
      - object part qualifier
      - object aspect qualifier
      - object context qualifier
      - object direction qualifier
      - causal mechanism qualifier
      - anatomical context qualifier
      - qualified predicate
      - species context qualifier
    slot_usage:
      subject:
        range: chemical entity
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      subject derivative qualifier:
        range: ChemicalEntityDerivativeEnum
      subject aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      subject context qualifier:
        range: anatomical entity
      subject direction qualifier:
        range: DirectionQualifierEnum
      predicate:
        subproperty_of: affects
      qualified predicate:
        subproperty_of: causes
      object:
        range: biological entity
      object form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      object part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      object aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object context qualifier:
        range: anatomical entity
      object direction qualifier:
        range: DirectionQualifierEnum
      causal mechanism qualifier:
        range: CausalMechanismQualifierEnum
      anatomical context qualifier:
        range: anatomical entity
      species context qualifier:
        range: organism taxon

  chemical affects gene association:
    description: >-
      Describes an effect that a chemical has on a gene or gene product (e.g. an impact
      of on its abundance, activity,localization, processing, expression, etc.)
    is_a: chemical affects biological entity association
    slots:
      - dgidb interaction score
      - dgidb evidence score
      - evidence count
      - supporting documents
    examples:
      - object:
          subject: PUBCHEM.COMPOUND:168290237  # 1-[4-(4-ethoxyphenyl)-4-(2H-tetrazol-5-yl)piperidin-1-yl]prop-2-en-1-one
          predicate: biolink:affects
          object: NCBIGene:200424  # TET3
          category: biolink:ChemicalAffectsGeneAssociation
          knowledge_level: knowledge_assertion
          agent_type: automated_agent
          publications: ["PMID:35978680"]
          object_aspect_qualifier: activity
          object_direction_qualifier: decreased
          causal_mechanism_qualifier: inhibition
          qualified_predicate: biolink:causes
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEBI:91447  # 4-methyl-3-[[1-methyl-6-(3-pyridinyl)-4-pyrazolo[3,4-d]pyrimidinyl]amino]-N-[3-(trifluoromethyl)phenyl]benzamide
          predicate: biolink:directly_physically_interacts_with
          object: NCBIGene:3313  # HSPA9
          category: biolink:ChemicalAffectsGeneAssociation
          knowledge_level: knowledge_assertion
          agent_type: automated_agent
          publications: ["PMID:29928781"]
          causal_mechanism_qualifier: binding
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: UNII:5V9KLZ54CY  # Vinblastine
          predicate: biolink:has_substrate
          object: NCBIGene:5244  # ABCB4
          category: biolink:ChemicalAffectsGeneAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:20190787"]
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEMBL.COMPOUND:CHEMBL1743027  # GIRENTUXIMAB
          predicate: biolink:interacts_with
          object: NCBIGene:768  # CA9
          category: biolink:ChemicalAffectsGeneAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["http://www.wilex.de/portfolio-english/rencarex/therapeutic-target/", "PMID:11941456"]
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEBI:3546  # cepharanthine
          predicate: biolink:affects
          object: NCBIGene:4790  # NFKB1
          category: biolink:ChemicalAffectsGeneAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          object_aspect_qualifier: activity
          object_direction_qualifier: decreased
          causal_mechanism_qualifier: inhibition
          qualified_predicate: biolink:causes

  chemical gene sensitivity association:
    description: >-
      Describes a relationship in which a chemical entity affects the sensitivity or susceptibility
      of a biological system to a gene or gene product (e.g. a chemical that increases or decreases
      the response to a gene or gene product). This covers 'response to substance' style interactions
      from sources such as CTD that map to the 'affects sensitivity to' predicate hierarchy, as opposed
      to the abundance/activity/processing effects covered by ChemicalAffectsGeneAssociation.
    is_a: association
    broad_mappings:
      - SIO:001257    ## chemical-gene association
    slots:
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject aspect qualifier
      - subject direction qualifier
      - object form or variant qualifier
      - object part qualifier
      - object derivative qualifier
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate
      - anatomical context qualifier
      - species context qualifier
      - evidence count
      - supporting documents
    slot_usage:
      subject:
        range: chemical entity
      object:
        range: gene or gene product
      predicate:
        subproperty_of: affects sensitivity to
        description: >-
          must be a descendant of 'affects sensitivity to' (e.g. 'increases sensitivity to'
          or 'decreases sensitivity to')
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      subject derivative qualifier:
        range: ChemicalEntityDerivativeEnum
      subject aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      subject direction qualifier:
        range: DirectionQualifierEnum
      qualified predicate:
        subproperty_of: causes
      object form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      object part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      object derivative qualifier:
        range: ChemicalEntityDerivativeEnum
      object aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object direction qualifier:
        range: DirectionQualifierEnum
      anatomical context qualifier:
        range: anatomical entity
      species context qualifier:
        range: organism taxon
    examples:
      - object:
          subject: CHEBI:28748  # doxorubicin
          predicate: biolink:increases_sensitivity_to
          object: NCBIGene:7157  # TP53
          category: biolink:ChemicalGeneSensitivityAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEBI:45863  # paclitaxel
          predicate: biolink:decreases_sensitivity_to
          object: NCBIGene:5243  # ABCB1
          category: biolink:ChemicalGeneSensitivityAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          species_context_qualifier: NCBITaxon:9606

  gene affects chemical association:
    description: >-
      Describes an effect that a gene or gene product has on a chemical entity (e.g. an impact
      of on its abundance, activity, localization, processing, transport, etc.)
    examples:
      - object:
          subject: NCBIGene:6616  # SNAP25
          predicate: biolink:affects
          object: CHEMBL.COMPOUND:CHEMBL3707322  # LETIBOTULINUMTOXINA
          category: biolink:GeneAffectsChemicalAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["CHEMBL.DOCUMENT:CHEMBL2107839", "https://www.accessdata.fda.gov/drugsatfda_docs/label/2024/761225s000lbl.pdf"]
          subject_aspect_qualifier: hydrolysis
          subject_direction_qualifier: increased
          qualified_predicate: biolink:causes
          species_context_qualifier: NCBITaxon:9606
      - object:
          subject: CHEBI:3172  # bretylium
          predicate: biolink:has_substrate
          object: NCBIGene:6530  # SLC6A2
          category: biolink:GeneAffectsChemicalAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["ISBN:9780702034718 PP. 190-191", "PMID:18071295", "PMID:9142404"]
          species_context_qualifier: NCBITaxon:9606
    is_a: association
    slots:
      - subject form or variant qualifier
      - subject part qualifier
      - subject derivative qualifier
      - subject aspect qualifier
      - subject context qualifier
      - subject direction qualifier
      - object form or variant qualifier
      - object part qualifier
      - object aspect qualifier
      - object context qualifier
      - object direction qualifier
      - object derivative qualifier
      - causal mechanism qualifier
      - anatomical context qualifier
      - qualified predicate
      - species context qualifier
    slot_usage:
      subject:
        range: chemical entity or gene or gene product
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      subject aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      subject context qualifier:
        range: anatomical entity
      subject direction qualifier:
        range: DirectionQualifierEnum
      predicate:
        subproperty_of: affects
      qualified predicate:
        subproperty_of: causes
      object:
        range: chemical entity
      object form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      object part qualifier:
        range: GeneOrGeneProductOrChemicalPartQualifierEnum
      object derivative qualifier:
        range: ChemicalEntityDerivativeEnum
      object aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object context qualifier:
        range: anatomical entity
      object direction qualifier:
        range: DirectionQualifierEnum
      causal mechanism qualifier:
        range: CausalMechanismQualifierEnum
      anatomical context qualifier:
        range: anatomical entity
      species context qualifier:
        range: organism taxon

  drug to gene association:
    description: >-
      An interaction between a drug and a gene or gene product.
    is_a: association
    related_mappings:
      - SIO:001257
    defining_slots:
      - subject
      - object
    mixins:
      - drug to entity association mixin
    slot_usage:
      object:
        range: gene or gene product
        description: "the gene or gene product that is affected by the drug"

  material sample to entity association mixin:
    description: >-
      An association between a material sample and something.
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: material sample
        description: >-
          the material sample being described

  material sample derivation association:
    description: >-
      An association between a material sample and
      the material entity from which it is derived.
    is_a: association
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
      - predicate
    slot_usage:
      subject:
        range: material sample
        description: >-
          the material sample being described
      object:
        description: >-
          the material entity the sample was derived from. This may be another
          material sample, or any other material entity, including for example
          an organism, a geographic feature, or some environmental material.
      predicate:
        description: >-
          derivation relationship
        subproperty_of: derives from

  material sample to disease or phenotypic feature association:
    description: >-
      An association between a material sample and a disease or phenotype.
    is_a: association
    mixins:
      - material sample to entity association mixin
      - entity to disease or phenotypic feature association mixin
    defining_slots:
      - subject
      - object

  disease to entity association mixin:
    description: >-
      A mixin applied to any association whose subject (source node)
      is a disease.
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: disease
        description: "disease class"
        values_from: ['mondo', 'omim', 'orphanet', 'ncit', 'doid']
        examples:
          - value: MONDO:0017314
            description: "Ehlers-Danlos syndrome, vascular type"

  entity to exposure event association mixin:
    description: >-
      An association between some entity and an exposure event.
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - object
    slot_usage:
      object:
        range: exposure event

  disease to exposure event association:
    description: >-
      An association between an exposure event and a disease.
    is_a: association
    mixins:
      - disease to entity association mixin
      - entity to exposure event association mixin
    defining_slots:
      - subject
      - object


  entity to outcome association mixin:
    description: >-
      An association between some entity and an outcome
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - object
    slot_usage:
      object:
        range: outcome

  exposure event to outcome association:
    description: >-
      An association between an exposure event and an outcome.
    is_a: association
    mixins:
      - entity to outcome association mixin
    slots:
      - population context qualifier
      - temporal context qualifier
    defining_slots:
      - subject
      - object

  frequency qualifier mixin:
    mixin: true
    description: >-
      Qualifier for frequency type associations
    slots:
      - frequency qualifier
      - subject
      - predicate
      - object

  entity to feature or disease qualifiers mixin:
    description: >-
      Qualifiers for entity to disease or phenotype associations.
    mixin: true
    is_a: frequency qualifier mixin
    slots:
      - subject aspect qualifier
      - subject direction qualifier
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate
      - disease context qualifier

  entity to feature or variant qualifiers mixin:
    description: >-
      Qualifiers for entity to variant associations.
    mixin: true
    is_a: frequency qualifier mixin
    slots:
      - subject aspect qualifier
      - subject direction qualifier
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate

  entity to feature or gene qualifiers mixin:
    description: >-
      Qualifiers for entity to gene associations.
    mixin: true
    is_a: frequency qualifier mixin
    slots:
      - subject aspect qualifier
      - subject direction qualifier
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate

  feature or disease qualifiers to entity mixin:
    description: >-
      Qualifiers for disease or phenotype to entity associations.
    mixin: true
    is_a: frequency qualifier mixin
    slots:
      - subject aspect qualifier
      - subject direction qualifier
      - object aspect qualifier
      - object direction qualifier
      - qualified predicate

  entity to phenotypic feature association mixin:
    description: >-
      A mixin applied to any association whose object (target node)
      is a phenotypic feature.
    mixin: true
    is_a: entity to feature or disease qualifiers mixin
    mixins:
      - frequency quantifier
    slots:
      - subject
      - predicate
      - object
      - sex qualifier
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      object:
        range: phenotypic feature
        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']
        examples:
          - value: HP:0002487
            description: Hyperkinesis
          - value: WBPhenotype:0000180
            description: axon morphology variant
          - value: MP:0001569
            description: abnormal circulating bilirubin level

  phenotypic feature to entity association mixin:
    description: >-
      A mixin applied to any association whose subject (source node)
      is a phenotypic feature.
    mixin: true
    is_a: feature or disease qualifiers to entity mixin
    mixins:
      - frequency quantifier
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: phenotypic feature
        values_from: ['upheno', 'hp', 'mp', 'wbphenotype']
        examples:
          - value: HP:0002487
            description: Hyperkinesis
          - value: WBPhenotype:0000180
            description: axon morphology variant
          - value: MP:0001569
            description: abnormal circulating bilirubin level
    slots:
      - sex qualifier

  phenotypic feature to phenotypic feature association:
    description: >-
      Association between two concept nodes of phenotypic character,
      qualified by the predicate used. This association may typically
      be used to specify 'similar_to' or 'member_of' relationships.
    is_a: association
    mixins:
      - phenotypic feature to entity association mixin
      - entity to phenotypic feature association mixin
    defining_slots:
      - subject
      - predicate
      - object

  information content entity to named thing association:
    description: >-
      association between a named thing and a information content entity where the specific context
      of the relationship between that named thing and the publication is unknown. For
      example, model organisms databases often capture the knowledge that a gene is found in a
      journal article, but not specifically the context in which that gene was documented in the article.
      In these cases, this association with the accompanying predicate 'mentions' could be used.
      Conversely, for more specific associations (like 'gene to disease association', the publication should
      be captured as an edge property).
    is_a: association
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        domain: publication
      object:
        range: named thing
      predicate:
        subproperty_of: mentions
    in_subset:
      - model_organism_database

  entity to disease association mixin:
    description: >-
      mixin class for any association whose object (target node) is a disease
    mixin: true
    is_a: entity to feature or disease qualifiers mixin
    defining_slots:
      - object
    slot_usage:
      object:
        range: disease
        description: "disease"
        examples:
          - value: MONDO:0020066
            description: "Ehlers-Danlos syndrome"

  disease or phenotypic feature to entity association mixin:
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: disease or phenotypic feature
        description: "disease or phenotype"
        examples:
          - value: MONDO:0017314
            description: "Ehlers-Danlos syndrome, vascular type"
          - value: MP:0013229
            description: "abnormal brain ventricle size"

  disease or phenotypic feature to location association:
    description: >-
      An association between either a disease or a phenotypic feature and
      an anatomical entity, where the disease/feature manifests in that site.
    is_a: association
    mixins:
      - disease or phenotypic feature to entity association mixin
    slot_usage:
      object:
        range: anatomical entity
        description: >-
          anatomical entity in which the disease or feature is found.
        examples:
          - value: UBERON:0002048
            description: "lung"

  disease or phenotypic feature to genetic inheritance association:
    description: >-
      An association between either a disease or a phenotypic feature and
      its mode of (genetic) inheritance.
    is_a: association
    mixins:
      - disease or phenotypic feature to entity association mixin
    slot_usage:
      predicate:
        subproperty_of: has mode of inheritance
      object:
        range: genetic inheritance
        description: >-
          genetic inheritance associated with the specified disease or phenotypic feature.
        examples:
          - value: HP:0001417
            description: "X-linked inheritance"

  entity to disease or phenotypic feature association mixin:
    mixin: true
    slots:
      - subject
      - predicate
      - object
      - disease context qualifier
      - subject specialization qualifier
      - object specialization qualifier
      - anatomical context qualifier
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      object:
        range: disease or phenotypic feature
        description: "disease or phenotype"
        examples:
          - value: MONDO:0017314
            description: "Ehlers-Danlos syndrome, vascular type"
          - value: MP:0013229
            description: "abnormal brain ventricle size"

  genotype to entity association mixin:
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: genotype
        description: "genotype that is the subject of the association"

  genotype to phenotypic feature association:
    is_a: association
    defining_slots:
      - subject
      - object
    description: >-
      Any association between one genotype and a phenotypic feature, where having
      the genotype confers the phenotype, either in isolation or through environment
    mixins:
      - entity to phenotypic feature association mixin
      - genotype to entity association mixin
    slot_usage:
      predicate:
        subproperty_of: has phenotype
      subject:
        range: genotype
        description: >-
          genotype that is associated with the phenotypic feature

   # ie: smoke exposure to coughing phenotype? is this a denormalization?
  exposure event to phenotypic feature association:
    is_a: association
    defining_slots:
      - subject
      - object
    description: >-
      Any association between an environment and a phenotypic feature,
      where being in the environment influences the phenotype.
    mixins:
      - entity to phenotypic feature association mixin
    slot_usage:
      subject:
        range: exposure event

  disease to phenotypic feature association:
    is_a: association
    slots:
      - onset qualifier
    defining_slots:
      - subject
      - object
    description: >-
      An association between a disease and a phenotypic feature in which the
      phenotypic feature is associated with the disease in some way.
    mixins:
      - frequency quantifier
      - entity to phenotypic feature association mixin
      - disease to entity association mixin
    close_mappings:
      - dcid:DiseaseSymptomAssociation
    slot_usage:
      subject:
        range: disease
      object:
        range: phenotypic feature

  disease to disease association:
    is_a: association
    defining_slots:
      - subject
      - object
    description: >-
      An association between two diseases. Captures clinical or biological
      relationships such as comorbidity, sequela, post-infectious complication,
      shared susceptibility, or differential diagnosis. The precise relationship
      is carried by the predicate (e.g. ``associated with``, ``contributes to``,
      ``risk affected by``, ``temporally related to``); use this class whenever
      both ends of the association are diseases, rather than the more specific
      ``disease to phenotypic feature association`` (which forces the object to
      be a phenotypic feature) or a generic ``association``.
    mixins:
      - disease to entity association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: disease
        description: "the disease that is the source/context of the association"
        examples:
          - value: MONDO:0005688
            description: "campylobacteriosis (subject of: associated with Guillain-Barré syndrome as a post-infectious sequela)"
      object:
        range: disease
        description: "the related disease"
        examples:
          - value: MONDO:0016218
            description: "Guillain-Barré syndrome (object of: campylobacteriosis associated with Guillain-Barré syndrome)"
      predicate:
        subproperty_of: associated with

  case to phenotypic feature association:
    description: >-
      An association between a case (e.g. individual patient) and a phenotypic
      feature in which the individual has or has had the phenotype.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - entity to phenotypic feature association mixin
      - case to entity association mixin
    slots:
      - negated
      - onset qualifier

  case to disease association:
    is_a: association
    mixins:
      - case to entity association mixin
    description: "An association between a Case (patient) and a Disease"
    slot_usage:
      object:
        range: disease
    slots:
      - subject
      - predicate
      - object
      - onset qualifier

  case to variant association:
    is_a: association
    mixins:
      - case to entity association mixin
    description: "Association between a Case and a Genetic Variant"
    slot_usage:
      object:
        range: sequence variant
      has zygosity:
        range: zygosity
    slots:
      - subject
      - predicate
      - object
      - has zygosity

  case to gene association:
    is_a: association
    mixins:
      - case to entity association mixin
    description: "Association between a Case and a Gene (e.g., indicating a gene of interest for the case)"
    slot_usage:
      object:
        range: gene or gene product
    slots:
      - subject
      - predicate
      - object


  behavior to behavioral feature association:
    description: >-
      An association between an mixture behavior and
      a behavioral feature manifested by
      the individual exhibited or has exhibited the behavior.
    is_a: association
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: behavior
        description: >-
          behavior that is the subject of the association
      object:
        range: behavioral feature
        description: >-
          behavioral feature that is the object of the association
    mixins:
      - entity to phenotypic feature association mixin

  gene to entity association mixin:
    mixin: true
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          gene that is the subject of the association

  variant to entity association mixin:
    slots:
      - subject
      - predicate
      - object
    local_names:
      ga4gh: variant annotation
    mixin: true
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: sequence variant
        description: >-
          a sequence variant in which the allele state is associated with some other entity
        examples:
          - value: CLINVAR:38077
            description: "CLINVAR representation of NM_000059.3(BRCA2):c.7007G>A (p.Arg2336His)"
          - value: ClinGen:CA024716
            description: "chr13:g.32921033G>C (hg19) in ClinGen"

  gene to phenotypic feature association:
    description: >-
      An association between a gene or gene product and a phenotypic
      feature, where variation in the gene is correlated with the
      phenotypic feature.
    is_a: association
    slots:
      - subject form or variant qualifier
      - subject aspect qualifier
      - object direction qualifier
      - allelic requirement
    narrow_mappings:
      - dcid:DiseaseGeneAssociation
      - SIO:000983
    exact_mappings:
      - WBVocab:Gene-Phenotype-Association
    defining_slots:
      - subject
      - object
    mixins:
      - entity to phenotypic feature association mixin
      - gene to entity association mixin
    slot_usage:
      subject:
        range: gene or gene product
        description: "gene in which variation is correlated with the phenotypic feature"
        examples:
          - value: HGNC:2197
            description: "COL1A1 (Human)"
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object:
        range: phenotypic feature
      object direction qualifier:
        range: DirectionQualifierEnum
      predicate:
        range: GeneToPhenotypicFeaturePredicateEnum
    comments:
      - NCIT:R176 refers to the inverse relationship
      - for use in describing the affect that the loss of function of a gene can have on exacerbating or ameliorating a symptom/phenotype
      - if the relationship of the statement using this predicate is statistical in nature, please use `associated with likelihood` or one of its children.

  gene to disease association:
    description: >-
      An association between a gene or gene product and a disease,
      where variation in the gene is correlated with the disease.
    examples:
      - object:
          subject: NCBIGene:60  # ACTB
          predicate: biolink:associated_with
          object: MONDO:0017579  # Baraitser-Winter cerebrofrontofacial syndrome
          category: biolink:GeneToDiseaseAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: UniProtKB:P11274-1  # breakpoint cluster region protein isoform h1 (human)
          predicate: biolink:associated_with
          object: MONDO:0011996  # chronic myelogenous leukemia, BCR-ABL1 positive
          category: biolink:GeneToDiseaseAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
    is_a: association
    exact_mappings:
      - SIO:000983
    close_mappings:
      - dcid:DiseaseGeneAssociation
    defining_slots:
      - subject
      - object
    mixins:
      - gene to entity association mixin
    slots:
      - subject form or variant qualifier
      - subject aspect qualifier
      - object direction qualifier
      - allelic requirement
      - qualified predicate
      - diseases confidence score
      - gene2phenotype confidence category
    slot_usage:
      subject:
        range: gene or gene product
        description: "gene in which variation is correlated with the disease"
      subject form or variant qualifier:
        range: ChemicalOrGeneOrGeneProductFormOrVariantEnum
      subject aspect qualifier:
        range: GeneOrGeneProductOrChemicalEntityAspectEnum
      object direction qualifier:
        range: DirectionQualifierEnum
      object:
        range: disease
      predicate:
        range: GeneToDiseasePredicateEnum
    comments:
      - NCIT:R176 refers to the inverse relationship
      - for use in describing the affect that the loss of function of a gene can have on exacerbating or ameliorating a disease
      - if the relationship of the statement using this predicate is statistical in nature, please use `associated with likelihood` or one of its children.

  causal gene to disease association:
    description: >-
      An association between a gene and a disease where variation
      in the gene has been shown to have a causal role in the disease.
    is_a: association
    defining_slots:
      - subject
      - object
    slots:
      - subject form or variant qualifier
      - subject aspect qualifier
      - object direction qualifier
      - allelic requirement
      - qualified predicate
    mixins:
      - gene to entity association mixin
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          gene in which variation is shown to cause the disease.
      object:
        range: disease

  correlated gene to disease association:
    description: >-
      An association between a gene (or gene product) and a disease for which
      the gene is statistically correlated with the disease rather than
      asserted as causal. Such associations typically derive from GWAS,
      co-occurrence analyses, or other statistical methods, and are annotated
      with scores such as a z-score or a diseases confidence score.
    is_a: association
    defining_slots:
      - subject
      - object
      - predicate
    slots:
      - z score
      - diseases confidence score
      - subject form or variant qualifier
      - subject aspect qualifier
      - object direction qualifier
      - allelic requirement
      - qualified predicate
    mixins:
      - entity to disease association mixin
      - gene to entity association mixin
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          gene in which variation is shown to correlate with the disease.
      object:
        range: disease
      predicate:
        subproperty_of: correlated with
    examples:
      - object:
          subject: NCBIGene:8506  # CNTNAP1
          predicate: biolink:occurs_together_in_literature_with
          object: MONDO:0004585  # polyhydramnios
          category: biolink:CorrelatedGeneToDiseaseAssociation
          knowledge_level: text_co_occurrence
          agent_type: data_analysis_pipeline
      - object:
          subject: UniProtKB:Q2KHT3-1  # protein CLEC16A isoform h1 (human)
          predicate: biolink:occurs_together_in_literature_with
          object: MONDO:0005578  # arthritic joint disease
          category: biolink:CorrelatedGeneToDiseaseAssociation
          knowledge_level: text_co_occurrence
          agent_type: data_analysis_pipeline

  druggable gene to disease association:
    description: >-
      An association between a gene (or gene product) and a disease in which
      the gene is classified by its druggability (e.g., via the IDG/Pharos
      target development-level tiers).
    is_a: gene to disease association
    slots:
      - druggable gene category
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          gene in which variation is correlated with the disease
          in a protective manner, or if the product produced by the gene can be targeted by a small molecule and
          this leads to a protective or improving disease state.
      predicate:
        subproperty_of: target for
    defining_slots:
      - subject
      - object
      - predicate
    mixins:
      - entity to disease association mixin
      - gene to entity association mixin

  phenotypic feature to disease association:
    description: >-
      An association between a phenotypic feature (sign or symptom) and a disease,
      where the phenotypic feature is a manifestation or clinical indicator of the disease.
    is_a: association
    slot_usage:
      predicate:
        subproperty_of: associated with
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - entity to disease association mixin
      - phenotypic feature to entity association mixin

  variant to gene association:
    description: >-
      An association between a variant and a gene, where the variant has
      a genetic association with the gene (i.e. is in linkage disequilibrium)
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - variant to entity association mixin
    slot_usage:
      object:
        range: gene
      predicate:
        subproperty_of: genetically associated with

  variant to gene expression association:
    description: >-
      An association between a variant and expression of a gene (i.e. e-QTL)
    is_a: variant to gene association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - gene expression mixin
    slot_usage:
      predicate:
        subproperty_of: affects

  variant to population association:
    description: >-
      An association between a variant and a population, where the variant has
      particular frequency in the population
    is_a: association
    defining_slots:
      - subject
      - object
    mixins:
      - variant to entity association mixin
      - frequency quantifier
      - frequency qualifier mixin
    slot_usage:
      subject:
        range: sequence variant
        description: >-
          an allele that has a certain frequency in a given population
        examples:
          - value: "NC_000017.11:g.43051071A>T"
            description: >-
              17:41203088 A/C in gnomad
      object:
        range: population of individual organisms
        description: >-
          the population that is observed to have the frequency
        examples:
          - value: HANCESTRO:0010
            description: African
      has quotient:
        description: >-
          frequency of allele in population, expressed as a number with allele
          divided by number in reference population, aka allele frequency
        examples:
          - value: "0.0001666"
      has count:
        description: >-
          number in object population that carry a particular allele, aka allele count
        examples:
          - value: "4"
            description: 4 individuals in gnomad set
      has total:
        description: >-
          number all populations that carry a particular allele, aka allele number
        examples:
          - value: "24014"
            description: 24014 individuals in gnomad set

  population to population association:
    description: >-
      An association between a two populations
    is_a: association
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: population of individual organisms
        description: >-
          the population that form the subject of the association
      object:
        range: population of individual organisms
        description: >-
          the population that form the object of the association
      predicate:
         # subproperty_of: ???
        description: >-
          A relationship type that holds between the subject and object
          populations. Standard mereological relations can be used.
          E.g. subject part-of object, subject overlaps object.
          Derivation relationships can also be used

  variant to phenotypic feature association:
    description: >-
      An association between a sequence variant and a phenotypic feature, in
      which the allele state of the variant is linked to the manifestation
      of the phenotype.
    is_a: association
    defining_slots:
      - subject
      - object
    mixins:
      - variant to entity association mixin
      - entity to phenotypic feature association mixin
    slot_usage:
      subject:
        range: sequence variant
        description: >-
          a sequence variant in which the allele state is
          associated in some way with the phenotype state

  variant to disease association:
    description: >-
      An association between a sequence variant and a disease, in which the
      allele state of the variant is linked to the disease state.
    is_a: association
    comments:
      - TODO decide no how to model pathogenicity
    defining_slots:
      - subject
      - object
    mixins:
      - variant to entity association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        description: >-
          a sequence variant in which the allele state
          is associated in some way with the disease state
        examples:
          - value: CLINVAR:52241
            description: "NM_000059.3(BRCA2):c.7007G>C (p.Arg2336Pro)"
      predicate:
        description: >-
          E.g. is pathogenic for
        subproperty_of: related condition
      object:
        description: >-
          a disease that is associated with that variant
        examples:
          - value: MONDO:0016419
            description: hereditary breast cancer

  genotype to disease association:
    description: >-
      An association between a genotype and a disease, in which the genotype
      (typically a combination of alleles at one or more loci) is linked to
      the disease state.
    is_a: association
    comments:
      - TODO decide no how to model pathogenicity
    defining_slots:
      - subject
      - object
    mixins:
      - genotype to entity association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        description: >-
          a genotype that is associated in some way with a disease state
      predicate:
        description: >-
          E.g. is pathogenic for
        subproperty_of: related condition
      object:
        description: >-
          a disease that is associated with that genotype
        examples:
          - value: MONDO:0016419
            description: hereditary breast cancer

  model to disease association mixin:
    description: >-
      This mixin is used for any association class for which the subject
      (source node) plays the role of a 'model', in that it recapitulates some
      features of the disease in a way that is useful for studying the disease
      outside a patient carrying the disease
    mixin: true
    slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        description: >-
          The entity that serves as the model of the disease. This may be
          an organism, a strain of organism, a genotype or variant that exhibits
          similar features, or a gene that when mutated exhibits features of the disease
      predicate:
        subproperty_of: model of
        description: >-
          The relationship to the disease

  gene as a model of disease association:
    description: >-
      An association in which a gene (e.g., a model-organism ortholog of a
      known disease gene) serves as a model of a human disease - for example,
      because mutants of the gene recapitulate core features of the disease.
    is_a: gene to disease association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - model to disease association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          A gene that has a role in modeling the disease. This may be a model
          organism ortholog of a known disease gene, or it may be a gene whose
          mutants recapitulate core features of the disease.

  variant as a model of disease association:
    description: >-
      An association in which a sequence variant serves as a model of a
      disease, recapitulating features relevant for studying the disease
      outside of a patient who carries it.
    is_a: variant to disease association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - model to disease association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: sequence variant
        description: >-
          A variant that has a role in modeling the disease.

  genotype as a model of disease association:
    description: >-
      An association in which a genotype serves as a model of a disease,
      recapitulating features relevant for studying the disease outside of
      a patient who carries it.
    is_a: genotype to disease association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - model to disease association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: genotype
        description: >-
          A genotype that has a role in modeling the disease.

  cell line as a model of disease association:
    description: >-
      An association in which a cell line - typically derived from an
      organismal entity with a disease state - serves as a model for that
      disease in experimental settings.
    is_a: cell line to disease or phenotypic feature association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - model to disease association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: cell line
        description: >-
          A cell line derived from an organismal entity with a disease state that is used
          as a model of that disease.

  organismal entity as a model of disease association:
    description: >-
      An association in which an organismal entity (e.g., a strain or breed)
      serves as a model of a disease, either because it has a natural
      predisposition to the disease or was bred or engineered specifically
      to recapitulate it.
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    mixins:
      - model to disease association mixin
      - entity to disease association mixin
    slot_usage:
      subject:
        range: organismal entity
        description: >-
          A organismal entity (strain, breed) with a predisposition to a disease, or bred/created
          specifically to model a disease.

  organism to organism association:
    description: >-
      An association between two individual organisms (e.g., symbiosis,
      parasitism, predation, or other inter-organism relationships).
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: individual organism
      object:
        range: individual organism
        description: >-
          An association between two individual organisms.

  taxon to taxon association:
    description: >-
      An association between two organism taxa, capturing ecological or
      evolutionary relationships between the taxa (e.g., a host-pathogen
      relationship or shared habitat).
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    slot_usage:
      subject:
        range: organism taxon
      object:
        range: organism taxon
        description: >-
          An association between individuals of different taxa.

  gene has variant that contributes to disease association:
    description: >-
      A gene-to-disease association that is asserted on the grounds that the
      gene harbours a sequence variant that contributes to the disease.
      Qualifies the gene with the form or variant that underlies the
      contribution.
    is_a: gene to disease association
    defining_slots:
      - subject
      - predicate
      - object
    slots:
      - subject form or variant qualifier
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          A gene that has a role in modeling the disease. This may be
          a model organism ortholog of a known disease gene, or it may be
          a gene whose mutants recapitulate core features of the disease.
      object:
        range: disease
      predicate:
        subproperty_of: contributes to

  gene to expression site association:
    is_a: association
    defining_slots:
      - subject
      - predicate
      - object
    description: >-
      An association between a gene and a gene expression site,
      possibly qualified by stage/timing info.
    notes:
      - "TBD: introduce subclasses for distinction between wild-type and experimental conditions?"
    see_also:
      - "https://github.com/monarch-initiative/ingest-artifacts/tree/master/sources/BGee"
    slots:
      - stage qualifier
      - quantifier qualifier
      - object specialization qualifier
    slot_usage:
      subject:
        range: gene or gene product
        description: >-
          Gene or gene product positively within the specified
          anatomical entity (or subclass, i.e. cellular component) location.
      object:
        range: anatomical entity
        description: "location in which the gene is expressed"
        examples:
          - value: UBERON:0002037
            description: cerebellum
      predicate:
        description: "expression relationship"
        subproperty_of: expressed in
      stage qualifier:
        range: life stage
        description: "stage at which the gene is expressed in the site"
        examples:
          - value: UBERON:0000069
            description: larval stage
      quantifier qualifier:
        description: >-
          can be used to indicate magnitude, or also ranking

  sequence variant modulates treatment association:
    is_a: association
    description: >-
      An association between a sequence variant and a treatment or health intervention.
      The treatment object itself encompasses both the disease and the drug used.
    comments:
      - An alternate way to model the same information could be via a qualifier
    defining_slots:
      - subject
      - object
    abstract: true
    slot_usage:
      subject:
        range: sequence variant
        description: "variant that modulates the treatment of some disease"
      object:
        range: treatment
        description: "treatment whose efficacy is modulated by the subject variant"

  functional association:
    is_a: association
    description: >-
      An association between a macromolecular machine mixin (gene, gene product or
      complex of gene products) and either a molecular activity, a biological
      process or a cellular location in which a function is executed.
    slot_usage:
      subject:
        range: macromolecular machine mixin
        description: >-
          gene, product or macromolecular complex that
          has the function associated with the GO term
        examples:
          - value: ZFIN:ZDB-GENE-050417-357
            description: twist1b
      object:
        range: ontology class
        description: >-
          class describing the activity, process or
          localization of the gene product
        values_from:
          - go
        examples:
          - value: GO:0016301
            description: kinase activity
          - value: GO:0045211
            description: postsynaptic membrane

  macromolecular machine to entity association mixin:
    description: >-
      an association which has a macromolecular machine mixin as a subject
    mixin: true
    slots:
      - subject
      - predicate
      - object
      - species context qualifier
    slot_usage:
      subject:
        domain: macromolecular machine mixin

  macromolecular machine to molecular activity association:
    description: >-
      A functional association between a macromolecular machine (gene,
      gene product or complex) and a molecular activity (as represented
      in the GO molecular function branch), where the entity
      carries out the activity, or contributes to its execution.
    is_a: functional association
    mixins:
      - macromolecular machine to entity association mixin
    slot_usage:
      object:
        range: molecular activity

  macromolecular machine to biological process association:
    description: >-
      A functional association between a macromolecular machine (gene,
      gene product or complex) and a biological process or pathway
      (as represented in the GO biological process branch), where the entity
      carries out some part of the process, regulates it, or acts upstream of it.
    is_a: functional association
    mixins:
      - macromolecular machine to entity association mixin
    slot_usage:
      object:
        range: biological process

  macromolecular machine to cellular component association:
    description: >-
      A functional association between a macromolecular machine (gene,
      gene product or complex) and a cellular component (as represented
      in the GO cellular component branch), where the entity
      carries out its function in the cellular component.
    is_a: functional association
    mixins:
      - macromolecular machine to entity association mixin
    slot_usage:
      object:
        range: cellular component

  molecular activity to chemical entity association:
    is_a: association
    description: >-
      Added in response to capturing relationship between microbiome activities as measured via
      measurements of blood analytes as collected via blood and stool samples
    slot_usage:
      subject:
        range: molecular activity
      object:
        range: chemical entity

  molecular activity to molecular activity association:
    is_a: association
    description: >-
      Added in response to capturing relationship between microbiome activities as measured via
      measurements of blood analytes as collected via blood and stool samples
    slot_usage:
      subject:
        range: molecular activity
      object:
        range: molecular activity


  gene to go term association:
    description: >-
      A functional association between a gene (or gene product or
      macromolecular complex) and a Gene Ontology (GO) term describing the
      molecular function, biological process, or cellular component in which
      it participates.
    aliases: ['functional association']
    is_a: functional association
    exact_mappings:
      - WBVocab:Gene-GO-Association
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: gene
        description: >-
          gene, product or macromolecular complex that has
          the function associated with the GO term
        examples:
          - value: ZFIN:ZDB-GENE-050417-357
            description: twist1b
      object:
        range: ontology class
        description: >-
          class describing the activity, process or
          localization of the gene product
        values_from:
          - go
        examples:
          - value: GO:0016301
            description: kinase activity
    examples:
      - object:
          subject: NCBIGene:25595  # Map2
          predicate: biolink:active_in
          object: GO:0015630  # microtubule cytoskeleton
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: NCBIGene:20502  # Slc16a2
          predicate: biolink:acts_upstream_of
          object: GO:0042403  # thyroid hormone metabolic process
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: NCBIGene:308911  # Rrp8
          predicate: biolink:acts_upstream_of_negative_effect
          object: GO:1903450  # regulation of G1 to G0 transition
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: NCBIGene:101148  # Samtor
          predicate: biolink:acts_upstream_of_or_within
          object: GO:0031669  # cellular response to nutrient levels
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: NCBIGene:18072  # Nhlh2
          predicate: biolink:acts_upstream_of_or_within_positive_effect
          object: GO:0006915  # apoptotic process
          category: biolink:GeneToGoTermAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
          publications: ["PMID:17573818"]
      - object:
          subject: NCBIGene:12168  # Bmpr2
          predicate: biolink:colocalizes_with
          object: GO:0005901  # caveola
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: automated_agent
      - object:
          subject: NCBIGene:303888  # Osbpl11
          predicate: biolink:contributes_to
          object: GO:0160270  # phosphatidylserine-phosphatidylinositol-4-phosphate exchange activity
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: NCBIGene:12193  # Zfp36l2
          predicate: biolink:enables
          object: GO:0046872  # metal ion binding
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: automated_agent
      - object:
          subject: NCBIGene:258177  # Or4c117
          predicate: biolink:located_in
          object: GO:0016020  # membrane
          category: biolink:GeneToGoTermAssociation
          knowledge_level: prediction
          agent_type: automated_agent
          publications: ["PMID:14611657"]

  entity to disease association:
    description: >-
      An association between any entity and a disease, capturing
      clinical context such as approval status, research phase,
      FDA regulatory approvals, and number of cases.
    is_a: association
    exact_mappings:
    slots:
      - clinical approval status
      - max research phase
      - FDA regulatory approvals
      - number of cases
    defining_slots:
      - subject
      - object
    examples:
      - object:
          subject: CHEBI:50681  # methotrexate(2-)
          predicate: biolink:in_clinical_trials_for
          object: MONDO:0971091  # acute megakaryoblastic leukemia in adult
          category: biolink:EntityToDiseaseAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: CHEBI:9150  # simvastatin
          predicate: biolink:treats
          object: UMLS:C0520863  # Diastolic dysfunction
          category: biolink:EntityToDiseaseAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: CHEBI:28077  # rifampicin
          predicate: biolink:applied_to_treat
          object: MONDO:0005011  # Crohn disease
          category: biolink:EntityToDiseaseAssociation
          knowledge_level: observation
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: RXCUI:1367436  # 21 DAY ethinyl estradiol 0.000625 MG/HR / etonogestrel 0.005 MG/HR Vaginal System
          predicate: biolink:contraindicated_in
          object: MONDO:0004981  # atrial fibrillation
          category: biolink:EntityToDiseaseAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
          publications: ["a280f164-2833-4f37-96e3-a857c91f77f2"]

  entity to phenotypic feature association:
    description: >-
      An association between any entity and a phenotypic feature,
      capturing clinical context such as approval status, research phase,
      FDA regulatory approvals, and number of cases.
    is_a: association
    exact_mappings:
    slots:
      - clinical approval status
      - max research phase
      - FDA regulatory approvals
      - number of cases
    defining_slots:
      - subject
      - object
    examples:
      - object:
          subject: GTOPDB:13663  # ponsegromab
          predicate: biolink:in_clinical_trials_for
          object: NCIT:C146753  # Fatigue, CTCAE 5.0
          category: biolink:EntityToPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: CHEBI:6339  # etoricoxib
          predicate: biolink:treats
          object: HP:0001822  # Hallux valgus
          category: biolink:EntityToPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_agent
      - object:
          subject: CHEBI:78538  # tafamidis
          predicate: biolink:applied_to_treat
          object: MONDO:0005294  # peripheral vascular disease
          category: biolink:EntityToPhenotypicFeatureAssociation
          knowledge_level: observation
          agent_type: manual_validation_of_automated_agent
      - object:
          subject: RXCUI:617430  # amoxicillin 80 MG/ML / clavulanate 11.4 MG/ML Oral Suspension
          predicate: biolink:contraindicated_in
          object: HP:0001410  # Decreased liver function
          category: biolink:EntityToPhenotypicFeatureAssociation
          knowledge_level: knowledge_assertion
          agent_type: manual_validation_of_automated_agent
          publications:
            - "2970fe7e-9e1f-47aa-85ad-663ee15c7e06"
            - "a5fa252a-d39e-4099-a230-b665fbb97a80"
            - "b897c800-24a2-4e76-8668-498c5515c3d0"
            - "babf3b8d-f2ce-407d-9407-728c45eb19ee"
            - "d74e93e5-11c9-434e-a60c-4a4f911dd0f8"

   ## -----------------
   ## SEQUENCE FEATURES
   ## -----------------

  sequence association:
    is_a: association
    description: >-
      An association between a sequence feature and a nucleic acid entity it is localized to.

  genomic sequence localization:
    is_a: sequence association
    description: >-
      A relationship between a sequence feature and a nucleic acid entity
      it is localized to. The reference entity may be a chromosome,
      chromosome region or information entity such as a contig.
    slot_usage:
      subject:
        aliases: ['sequence feature']
        range: nucleic acid entity
      object:
        aliases: ['reference']
        range: nucleic acid entity   # typically a chromosome use monochrom
      predicate:
        subproperty_of: has sequence location
    slots:
      - start interbase coordinate
      - end interbase coordinate
      - genome build
      - strand
      - phase
    broad_mappings:
      - dcid:Chromosome
    exact_mappings:
      - dcid:GenomeAnnotation

  sequence feature relationship:
    is_a: association
    defining_slots:
      - subject
      - object
    description: >-
      For example, a particular exon is part of a particular transcript or gene
    slot_usage:
      subject:
        range: nucleic acid entity
      object:
        range: nucleic acid entity   # typically a chromosome
    exact_mappings:
      - CHADO:feature_relationship

  transcript to gene relationship:
    is_a: sequence feature relationship
    defining_slots:
      - subject
      - object
    description: >-
      A gene is a collection of transcripts
    slot_usage:
      subject:
        range: transcript
      object:
        range: gene

  gene to gene product relationship:
    is_a: sequence feature relationship
    defining_slots:
      - subject
      - object
    description: >-
      A gene is transcribed and potentially translated to a gene product
    slot_usage:
      subject:
        range: gene
      object:
        range: gene product mixin
      predicate:
        subproperty_of: has gene product

  exon to transcript relationship:
    is_a: sequence feature relationship
    defining_slots:
      - subject
      - object
    description: >-
      A transcript is formed from multiple exons
    slot_usage:
      subject:
        range: exon
      object:
        range: transcript

  chemical entity or gene or gene product regulates gene association:
    is_a: association
    description: >-
      A regulatory relationship between two genes
    slots:
      - object direction qualifier
    slot_usage:
      predicate:
        description: >-
          the direction is always from regulator to regulated
        subproperty_of: regulates
      subject:
        range: chemical entity or gene or gene product
        role: regulatory gene
      object:
        range: gene or gene product
        role: regulated gene
      object direction qualifier:
        range: DirectionQualifierEnum

  anatomical entity to anatomical entity association:
    # schema: gocam
    description: >-
      An abstract parent class for associations between two anatomical entities,
      such as part-of, develops-from, or other mereological and ontogenic relationships.
    is_a: association
    abstract: true
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: anatomical entity
      object:
        range: anatomical entity

  anatomical entity has part anatomical entity association:
     # schema: gocam
    is_a: anatomical entity to anatomical entity association
    description: >-
      A relationship between two anatomical entities where the relationship
      is mereological, i.e the two entities are related by parthood, that is,
      the subject is has the object entity as a part (the expected predicate is
      "biolink:has_part" or suitable predicate slots inheriting from it, i.e.,
      "biolink:has_plasma_membrane_part",  "biolink:has_variant_part", etc.).
      This includes relationships between cells and cellular components,
      between issues and cells, whole organisms and tissues.
    defining_slots:
      - predicate
    slot_usage:
      subject:
        range: anatomical entity
        description: >-
          the whole
      object:
        range: anatomical entity
        description: >-
          the part
      predicate:
        subproperty_of: has part

  anatomical entity part of anatomical entity association:
     # schema: gocam
    is_a: anatomical entity to anatomical entity association
    description: >-
      A relationship between two anatomical entities where the relationship
      is mereological, i.e the two entities are related by parthood, that is,
      the subject is a part of the object entity (the expected predicate is
      "biolink:part_of" or suitable predicate slots inheriting from it, i.e.,
      "biolink:plasma_membrane_part_of",  "biolink:variant_part_of", etc.).
      This includes relationships between cellular components and cells,
      between cells and tissues, tissues and whole organisms.
    defining_slots:
      - predicate
    slot_usage:
      subject:
        range: anatomical entity
        description: >-
          the part
      object:
        range: anatomical entity
        description: >-
          the whole
      predicate:
        subproperty_of: part of

  anatomical entity to anatomical entity ontogenic association:
    is_a: anatomical entity to anatomical entity association
    description: >-
      A relationship between two anatomical entities where the relationship
      is ontogenic, i.e. the two entities are related by development. A number
      of different relationship types can be used to specify the precise
      nature of the relationship.
    defining_slots:
      - predicate
    slot_usage:
      subject:
        range: anatomical entity
        description: >-
          the structure at a later time
      object:
        range: anatomical entity
        description: >-
          the structure at an earlier time
      predicate:
        subproperty_of: develops from

  chemical entity to anatomical entity association:
    is_a: association
    description: >-
      An association between a chemical entity (other than 'gene or gene product or gene family',
      for example, a metabolite) and an anatomical entity, such as a tissue or subcellular location.
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: chemical entity
      object:
        range: anatomical entity

  gene or gene product or gene family to anatomical entity association:
    is_a: association
    description: >-
      An association between a gene or gene product or gene family and an anatomical entity.
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: gene or gene product or gene family
      object:
        range: anatomical entity

  biological process or activity to anatomical entity association:
    is_a: association
    description: >-
      An association between a biological process or activity and an anatomical entity.
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: biological process or activity
      object:
        range: anatomical entity

  organism taxon to entity association:
    mixin: true
    description: >-
      An association between an organism taxon and another entity
    slots:
      - subject
      - predicate
      - object
    defining_slots:
      - subject
    slot_usage:
      subject:
        range: organism taxon
        description: >-
          organism taxon that is the subject of the association

  organism taxon to organism taxon association:
    is_a: association
    abstract: true
    mixins:
      - organism taxon to entity association
    description: >-
      A relationship between two organism taxon nodes
    defining_slots:
      - subject
      - object
    slot_usage:
      subject:
        range: organism taxon
      object:
        range: organism taxon

  organism taxon to organism taxon specialization:
    is_a: organism taxon to organism taxon association
    description: >-
      A child-parent relationship between two taxa.
      For example: Homo sapiens subclass_of Homo
    defining_slots:
      - predicate
    slot_usage:
      subject:
        range: organism taxon
        role: child taxon
        description: >-
          the more specific taxon
      object:
        range: organism taxon
        role: parent taxon
        description: >-
          the more general taxon
      predicate:
        subproperty_of: subclass of

  organism taxon to organism taxon interaction:
    is_a: organism taxon to organism taxon association
    description: >-
      An interaction relationship between two taxa. This may be a symbiotic
      relationship (encompassing mutualism and parasitism), or it may be non-symbiotic.
      Example: plague transmitted_by flea; cattle domesticated_by Homo sapiens; plague infects Homo sapiens
    defining_slots:
      - predicate
    slots:
      - associated environmental context
    slot_usage:
      subject:
        range: organism taxon
        role: interactor taxon
        description: >-
          the taxon that is the subject of the association
      object:
        range: organism taxon
        role: interactee taxon
        description: >-
          the taxon that is the subject of the association
      predicate:
        subproperty_of: interacts with
      associated environmental context:
        description: >-
          the environment in which the two taxa interact

  organism taxon to environment association:
    description: >-
      An abstract association between an organism taxon and an environmental
      context (e.g., a habitat, biome, or ecological setting) in which the
      taxon occurs.
    is_a: association
    abstract: true
    mixins:
      - organism taxon to entity association
    slot_usage:
      subject:
        range: organism taxon
        role: interactor taxon
        description: >-
          the taxon that is the subject of the association
      object:
        role: environmental context
        description: >-
          the environment in which the organism occurs
      predicate:
        description: >-
          predicate describing the relationship between the taxon and the environment


enums:

  BinaryRelationEnum:
    description: >-
      Mathematical binary relation qualifiers of a value in its context.
    permissible_values:
      less_than:
      equal_to:
      greater_than:

  ResponseEnum:
    description: >-
      A response to a treatment or intervention
    permissible_values:
      therapeutic_response:
        description: >-
          A positive response to a treatment or intervention
      negative:
        description: >-
          A negative response to a treatment or intervention

  ResponseTargetEnum:
    description: >-
      The target of a treatment or intervention
    permissible_values:
      cohort:
        description: >-
          A group of individuals that are the target of a treatment or intervention
      cell line:
        description: >-
          A cell line that is the target of a treatment or intervention
      individual:
        description: >-
          An individual that is the target of a treatment or intervention
      sample:
        description: >-
          A biological materialsample that is the target of a treatment or intervention

  ClinicalTrialStatusEnum:
    description: >
      Enumeration of clinical trial statuses indicating the recruitment state,
      availability, or regulatory status of a clinical study or intervention.
    permissible_values:
      ACTIVE_NOT_RECRUITING:
        description: The study is ongoing but not currently recruiting participants.
      APPROVED_FOR_MARKETING:
        description: The intervention has received regulatory approval for marketing.
      AVAILABLE:
        description: The intervention or data is available for use or distribution.
      COMPLETED:
        description: The study has ended normally and participants are no longer being examined or treated.
      ENROLLING_BY_INVITATION:
        description: Participants are being enrolled by invitation only.
      NO_LONGER_AVAILABLE:
        description: The intervention or data is no longer available.
      NOT_YET_RECRUITING:
        description: The study has not yet started recruiting participants.
      RECRUITING:
        description: The study is currently recruiting participants.
      SUSPENDED:
        description: The study has been temporarily halted but may resume.
      TEMPORARILY_NOT_AVAILABLE:
        description: The intervention or data is not currently available but may become available later.
      TERMINATED:
        description: The study has stopped prematurely and will not start again.
      UNKNOWN:
        description: The recruitment or availability status is unknown.
      WITHDRAWN:
        description: The study was halted before enrolling its first participant.

  ClinicalTrialAgeStageEnum:
    description: >-
      Enumeration of age stages or populations commonly used in clinical trials
      to categorize participant demographics and target populations.
    permissible_values:
      adult:
      child:
      older_adult:

  ApprovalStatusEnum:
    description: >-
      An enumeration of regulatory and development milestones for a drug or
      therapeutic, spanning discovery, preclinical research, FDA clinical trial
      phases (1-4), special review designations (e.g., fast track, breakthrough
      therapy, priority review), regular FDA approval, and post-approval
      withdrawal.
    permissible_values:
      "discovery_and_development_phase":
        description: >-
          Discovery & Development Phase. Discovery involves researchers finding new possibilities
          for medication through testing molecular compounds, noting unexpected effects from existing treatments,
          or the creation of new technology that allows novel ways of targeting medical products to sites in the body.
          Drug development occurs after researchers identify potential compounds for experiments.
      "preclinical_research_phase":
        description: >-
          Preclinical Research Phase.  Once researchers have examined the possibilities a new drug may contain,
          they must do preliminary research to determine its potential for harm (toxicity).
          This is categorized as preclinical research and can be one of two types: in vitro or in vivo.
      "fda_clinical_research_phase":
        description: >-
          Clinical Research Phase. Clinical research involves trials of the drug on people,
          and it is one of the most involved stages in the drug development and approval process.
          Clinical trials must answer specific questions and follow a protocol determined by
          the drug researcher or manufacturer.
      "fda_review_phase_4":
        description: >-
          FDA Review
      "fda_post_market_safety_review":
        description: >-
          FDA Post-Market Safety Monitoring.  The last phase of drug approval is an ongoing one
          while the drug is on the marketplace. If a developer wants to change anything about the
          drug formulation or approve it for a new use, they must apply with the FDA. The FDA also
          frequently reviews the drug’s advertising and its manufacturing facility to make sure
          everything involved in its creation and marketing is in compliance with regulations.
      "fda_clinical_research_phase_1":
        description: >-
          In the FDA Clinical Research Phase, the Clinical Research Phase 1 involves 20 – 100 study participants and
          lasts several months. This phase is used to determine the safety and dosage of the drug,
          and about 70% of these drugs move on to the next clinical research phase.
      "fda_clinical_research_phase_2":
        description: >-
          In the FDA Clinical Research Phase, the Clinical Research Phase 2 involves up to several hundred people,
          who must have the disease or condition the drug supposes to treat. This phase can last
          from a few months to two years, and its purpose is to monitor the efficacy of the drug,
          as well as note side effects that may occur.
      "fda_clinical_research_phase_3":
        description: >-
          In the FDA Clinical Research Phase, the Clinical Research Phase 3 involves 300 – 3000 volunteers
          and can last up to four years. It is used to continue monitoring the efficacy of
          the drug, as well as exploring any longer-term adverse reactions.
      "fda_clinical_research_phase_4":
        description: >-
          In the FDA Clinical Research Phase, the Clinical Research Phase 4 involves several thousands of
          volunteers who have the disease or condition and continues to monitor safety and efficacy.
          If a drug passes this phase, it goes on to FDA review.
      "fda_fast_track":
        description: >-
          Fast track is a process designed to facilitate the development, and expedite the
          review of drugs to treat serious conditions and fill an unmet medical need.
          The purpose is to get important new drugs to the patient earlier. Fast Track
          addresses a broad range of serious conditions. For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/fast-track
      "fda_breakthrough_therapy":
        description: >-
          Breakthrough Therapy designation is a process designed to expedite the
          development and review of drugs that are intended to treat a serious
          condition and preliminary clinical evidence indicates that the drug may
          demonstrate substantial improvement over available therapy on a clinically significant endpoint(s).
          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/breakthrough-therapy
      "fda_accelerated_approval":
        description: >-
          When studying a new drug, it can sometimes take many years to learn whether a drug actually
          provides a real effect on how a patient survives, feels, or functions. A positive therapeutic
          effect that is clinically meaningful in the context of a given disease is known as “clinical benefit”.
          Mindful of the fact that it may take an extended period of time to measure a drug’s intended clinical
          benefit, in 1992 FDA instituted the Accelerated Approval regulations. These regulations allowed drugs
          for serious conditions that filled an unmet medical need to be approved based on a surrogate endpoint.
          Using a surrogate endpoint enabled the FDA to approve these drugs faster.
          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/accelerated-approval
      "fda_priority_review":
        description: >-
          Prior to approval, each drug marketed in the United States must go through a detailed FDA review process.
          In 1992, under the Prescription Drug User Act (PDUFA), FDA agreed to specific goals for improving
          the drug review time and created a two-tiered system of review times – Standard Review and Priority
          Review. A Priority Review designation means FDA’s goal is to take action on an application
          within 6 months (compared to 10 months under standard review).
          For more information https://www.fda.gov/patients/fast-track-breakthrough-therapy-accelerated-approval-priority-review/priority-review
      "regular_fda_approval":
        description: >-
          Regular FDA Approval.  The last phase of drug approval is an ongoing one while the drug is on the marketplace.
          If a developer wants to change anything about the drug formulation or approve it for a new use,
          they must apply with the FDA. The FDA also frequently reviews the drug’s advertising and its
          manufacturing facility to make sure everything involved in its creation and marketing is in compliance
          with regulations.
      "post_approval_withdrawal":

  ClinicalApprovalStatusEnum:
    description: >-
      An enumeration describing whether a chemical or therapy is approved for
      use in treating a specific condition (e.g., FDA-approved for a condition,
      not approved, off-label use, or withdrawn following approval).
    permissible_values:
      approved_for_condition:
      fda_approved_for_condition:
        is_a: approved_for_condition
      not_approved_for_condition:
      post_approval_withdrawal:
        is_a: not_approved_for_condition
      off_label_use:
        is_a: not_approved_for_condition
      not_provided:

  ResearchPhaseEnum:
    description: >-
      An enumeration of research phases describing the stage of investigation
      for a drug or therapy, spanning preclinical research through clinical
      trial phases 1 through 4 (including phase 1/2 and phase 2/3
      combinations).
    permissible_values:
      pre_clinical_research_phase:
        description: >-
          Biolink 'pre_clinical_research' is the union of both the `FDA discovery and development phase` and
          `FDA preclinical research phase`. Discovery involves researchers finding new possibilities for medication
          through testing molecular compounds, noting unexpected effects from existing treatments, or the creation of
          new technology that allows novel ways of targeting medical products to sites in the body. Drug development
          occurs after researchers identify potential compounds for experiments Preclinical Research Phase.
          Once researchers have examined the possibilities a new drug may contain, they must do preliminary research
          to determine its potential for harm (toxicity). This is categorized as preclinical research and can be one of
          two types: in vitro or in vivo.
        notes:
          - >-
            DrugBank calls this 'experimental'.
      clinical_trial_phase:
        description: >-
          Clinical research involves trials of the drug on people,
          and it is one of the most involved stages in the drug development and approval process.
          Clinical trials must answer specific questions and follow a protocol determined by
          the drug researcher or manufacturer.
      clinical_trial_phase_1:
        is_a: clinical_trial_phase
        description: >-
          In the FDA Clinical Trial Phase, the Clinical Trial Phase 1 involves 20 – 100 study participants and
          lasts several months. This phase is used to determine the safety and dosage of the drug,
          and about 70% of these drugs move on to the next clinical research phase.
      clinical_trial_phase_1_to_2:
        is_a: clinical_trial_phase
        description: >-
          A study that tests the safety, side effects, and best dose of a new treatment. Phase I/II
          clinical trials also test how well a certain type of cancer or other disease responds to a
          new treatment. In the phase II part of the clinical trial, patients usually receive the
          highest dose of treatment that did not cause harmful side effects in the phase I part of
          the clinical trial. Combining phases I and II may allow research questions to be answered
          more quickly or with fewer patients. Also called phase 1/phase 2 clinical trial.
        see_also:
          - https://www.cancer.gov/publications/dictionaries/cancer-terms/def/phase-i-ii-clinical-trial
      clinical_trial_phase_2:
        is_a: clinical_trial_phase
        description: >-
          In the FDA Clinical Trial Phase, the Clinical Trial Phase 2 involves up to several hundred people,
          who must have the disease or condition the drug supposes to treat. This phase can last
          from a few months to two years, and its purpose is to monitor the efficacy of the drug,
          as well as note side effects that may occur.
      clinical_trial_phase_2_to_3:
        is_a: clinical_trial_phase
        description: >-
          A study that tests how well a new treatment works for a certain type of cancer or other
          disease and compares the new treatment with a standard treatment. Phase II/III clinical
          trials may also provide more information about the safety and side effects of the new
          treatment. Combining phases II and III may allow research questions to be answered more
          quickly or with fewer patients. Also called phase 2/phase 3 clinical trial.
        see_also:
          - https://www.cancer.gov/publications/dictionaries/cancer-terms/def/phase-ii-iii-clinical-trial
      clinical_trial_phase_3:
        is_a: clinical_trial_phase
        description: >-
          In the FDA Clinical Trial Phase, the Clinical Trial Phase 3 involves 300 – 3000 volunteers
          and can last up to four years. It is used to continue monitoring the efficacy of
          the drug, as well as exploring any longer-term adverse reactions.
      clinical_trial_phase_4:
        is_a: clinical_trial_phase
        description: >-
          In the FDA Clinical Trial Phase, the Clinical Trial Phase 4 involves several thousands of
          volunteers who have the disease or condition and continues to monitor safety and efficacy.
          If a drug passes this phase, it goes on to FDA review.
      not_provided:

  DirectionQualifierEnum:
    description: >-
      An enumeration of values that qualify a change or effect by its
      direction, i.e., whether the referenced quantity or activity is
      increased (including up-regulated) or decreased (including
      down-regulated).
    permissible_values:
      increased:
      upregulated:
        is_a: increased
        close_mappings:
          - RO:0002336
        exact_mappings:
          - RO:0002213
        narrow_mappings:
          - RO:0004032
          - RO:0004034
          - RO:0002629
      decreased:
      downregulated:
        is_a: decreased
        exact_mappings:
          - RO:0004035
          - RO:0002212
        close_mappings:
          - RO:0002335
        broad_mappings:
          - RO:0004033

  ChemicalEntityDerivativeEnum:
    description: >-
      An enumeration of relationships by which one chemical entity is derived
      from another, e.g., a metabolite produced from a parent compound.
    permissible_values:
      metabolite:

  ChemicalOrGeneOrGeneProductFormOrVariantEnum:
    description: >-
      An enumeration used as a qualifier to indicate a specific form or variant
      of a chemical, gene, or gene product involved in an association (e.g.,
      modified form, loss-of-function variant, gain-of-function variant,
      dominant-negative variant, polymorphic form, SNP form, mutant form, or
      analog form).
    permissible_values:
      genetic_variant_form:
        is_a: modified_form
      modified_form:
      loss_of_function_variant_form:
        is_a: genetic_variant_form
      non_loss_of_function_variant_form:
        is_a: genetic_variant_form
      gain_of_function_variant_form:
        is_a: non_loss_of_function_variant_form
      dominant_negative_variant_form:
        is_a: non_loss_of_function_variant_form
      polymorphic_form:
        is_a: genetic_variant_form
      snp_form:
        is_a: polymorphic_form
      mutant_form:
        is_a: genetic_variant_form
      analog_form:
        is_a: modified_form

  GeneOrGeneProductOrChemicalPartQualifierEnum:
    description: >-
      An enumeration used as a qualifier to indicate a particular structural or
      functional part of a gene, gene product, or chemical (e.g., 3' UTR, 5'
      UTR, poly-A tail, promoter, enhancer, exon, or intron).
    permissible_values:
      3_prime_utr:
      5_prime_utr:
      polya_tail:
      promoter:
      enhancer:
      exon:
      intron:

  GeneOrGeneProductOrChemicalEntityAspectEnum:
    description: >-
      An enumeration used as a qualifier to indicate the specific aspect of a
      gene, gene product, or chemical entity that is affected or measured in
      an association. Values cover activity and abundance (expression,
      synthesis, degradation, stability, localization, transport), molecular
      interactions, and a wide range of molecular modifications such as
      phosphorylation, methylation, acetylation, ubiquitination, and other
      post-translational or chemical modifications.
    permissible_values:
      activity_or_abundance:
        description: >-
          Used in cases where the specificity of the relationship can not be determined to be either activity
          or abundance.  In general, a more specific value from this enumeration should be used.
      abundance:
        is_a: activity_or_abundance
      activity:
        is_a: activity_or_abundance
      expression:
        is_a: abundance
      synthesis:
        is_a: abundance
      degradation:
      cleavage:
      hydrolysis:
        is_a: cleavage
      metabolic_processing:
      mutation_rate:
      stability:
      folding:
      localization:
      transport:
      absorption:
      aggregation:
      interaction:
      release:
      isomerization:
      secretion:
        is_a: transport
      uptake:
        is_a: transport
      splicing:
      molecular_interaction:
      guanyl_nucleotide_exchange:
        is_a: molecular_interaction
      adenyl_nucleotide_exchange:
        is_a: molecular_interaction
      molecular_modification:
      acetylation:
        is_a: molecular_modification
      acylation:
        is_a: molecular_modification
      alkylation:
        is_a: molecular_modification
      amination:
        is_a: molecular_modification
      carbamoylation:
        is_a: molecular_modification
      ethylation:
        is_a: molecular_modification
      glutathionylation:
        is_a: molecular_modification
      glycation:
        is_a: molecular_modification
      glycosylation:
        is_a: molecular_modification
      glucuronidation:
        is_a: molecular_modification
      n_linked_glycosylation:
        is_a: molecular_modification
      o_linked_glycosylation:
        is_a: molecular_modification
      hydroxylation:
        is_a: molecular_modification
      lipidation:
        is_a: molecular_modification
      farnesylation:
        is_a: molecular_modification
      geranoylation:
        is_a: molecular_modification
      myristoylation:
        is_a: molecular_modification
      palmitoylation:
        is_a: molecular_modification
      prenylation:
        is_a: molecular_modification
      methylation:
        is_a: molecular_modification
      nitrosation:
        is_a: molecular_modification
      nucleotidylation:
        is_a: molecular_modification
      phosphorylation:
        is_a: molecular_modification
      ribosylation:
        is_a: molecular_modification
      ADP-ribosylation:
        is_a: molecular_modification
      sulfation:
        is_a: molecular_modification
      sumoylation:
        is_a: molecular_modification
      ubiquitination:
        is_a: molecular_modification
      oxidation:
        is_a: molecular_modification
      reduction:
        is_a: molecular_modification
      carboxylation:
        is_a: molecular_modification

  EffectTypeEnum:
    description: >-
      An enumeration of statistical metrics and estimators used to quantify
      the magnitude and direction of an effect or association between the
      subject and object of an edge. The numeric result is stored in the
      companion 'effect size' slot.
    permissible_values:
      # --- Regression / omics coefficients ---
      regression_coefficient:
        description: >-
          The coefficient of an independent variable in a regression model,
          representing the expected change in the dependent variable per unit
          change in the predictor. Commonly reported as a beta coefficient
          in eQTL, pQTL, mQTL, and GWAS analyses.
        close_mappings:
          - STATO:0000565
      log2_fold_change:
        description: >-
          The base-2 logarithm of the ratio of a quantity (e.g. gene
          expression, protein abundance, metabolite concentration) between
          two conditions. The standard effect size in differential expression
          and differential abundance analyses across transcriptomics,
          proteomics, and metabolomics.
        close_mappings:
          - STATO:0000169
      # --- Mendelian randomization estimators ---
      wald_ratio:
        description: >-
          A single-variant Mendelian randomization estimator computed as the
          ratio of the genetic variant-outcome association to the genetic
          variant-exposure association.
      inverse_variance_weighted:
        description: >-
          A Mendelian randomization estimator that combines per-variant Wald
          ratios using inverse-variance weighting, assuming all instruments
          are valid (no horizontal pleiotropy).
      mr_egger:
        description: >-
          A Mendelian randomization estimator based on Egger regression that
          allows for directional horizontal pleiotropy by fitting an
          intercept term; a non-zero intercept indicates pleiotropic bias.
      weighted_median:
        description: >-
          A robust Mendelian randomization estimator that provides a
          consistent causal estimate when at least 50% of the instrument
          weight comes from valid variants.
      # --- Standardized mean differences ---
      standardized_mean_difference:
        description: >-
          The difference between two group means divided by a pooled standard
          deviation, used when the predictor is categorical and the outcome is
          continuous.
        close_mappings:
          - STATO:0000100
      cohens_d:
        is_a: standardized_mean_difference
        description: >-
          A standardized mean difference using the square root of the average
          of the two group variances as the denominator, with a small-sample
          correction for n < 50.
        close_mappings:
          - STATO:0000618
      hedges_g:
        is_a: standardized_mean_difference
        description: >-
          A standardized mean difference with a Gamma-function correction on
          the pooled standard deviation to reduce small-sample bias.
        close_mappings:
          - STATO:0000319
      glasss_delta:
        is_a: standardized_mean_difference
        description: >-
          A standardized mean difference using only the control group's
          standard deviation as the denominator, preferred when group
          variances differ substantially.
        close_mappings:
          - STATO:0000320
      strictly_standardized_mean_difference:
        is_a: standardized_mean_difference
        description: >-
          The ratio of the mean difference to the standard deviation of the
          difference between two groups (SSMD), widely used in high-content
          screening for hit selection and quality control.
        close_mappings:
          - STATO:0000135
      # --- Correlation coefficients ---
      correlation_coefficient:
        description: >-
          A normalized measure of association between two variables, ranging
          from -1 to +1, computed as covariance divided by the product of
          standard deviations.
        close_mappings:
          - STATO:0000142
      pearsons_r:
        is_a: correlation_coefficient
        description: >-
          A parametric correlation coefficient for two continuous, normally
          distributed variables with a linear relationship.
        close_mappings:
          - STATO:0000280
      spearmans_rho:
        is_a: correlation_coefficient
        description: >-
          A nonparametric rank correlation coefficient measuring monotonic
          dependence between two variables.
        close_mappings:
          - STATO:0000201
      kendalls_tau:
        is_a: correlation_coefficient
        description: >-
          A rank correlation coefficient based on concordant and discordant
          pairs, suitable for ordinal data.
        close_mappings:
          - STATO:0000240
      polychoric_correlation:
        is_a: correlation_coefficient
        description: >-
          A correlation coefficient estimating the association between two
          latent continuous variables from observed ordinal data.
        close_mappings:
          - STATO:0000269
      matthews_correlation_coefficient:
        is_a: correlation_coefficient
        description: >-
          A correlation-based measure of binary classification quality
          (also known as the phi coefficient), ranging from -1 to +1.
        close_mappings:
          - STATO:0000524
      goodman_kruskal_gamma:
        is_a: correlation_coefficient
        description: >-
          A rank correlation measure for ordinal or continuous variables
          based on the difference between concordant and discordant pairs,
          excluding ties.
        close_mappings:
          - STATO:0000612
      r2_linkage_disequilibrium:
        is_a: correlation_coefficient
        description: >-
          A squared correlation coefficient over two dichotomous variables
          used as a measure of linkage disequilibrium.
        close_mappings:
          - STATO:0000123
      # --- Risk / ratio measures ---
      odds_ratio:
        description: >-
          The ratio of the odds of an outcome in an exposed group to the
          odds in an unexposed group, measuring association strength between
          two binary variables.
        close_mappings:
          - STATO:0000182
      relative_risk:
        description: >-
          The ratio of event probability in an exposed group to event
          probability in an unexposed group (also called risk ratio).
        close_mappings:
          - STATO:0000245
      hazard_ratio:
        description: >-
          The ratio of hazard rates between two groups over time, commonly
          reported in survival analysis and time-to-event omics studies.
        close_mappings:
          - STATO:0000677
      # --- Variance-explained measures ---
      eta_squared:
        description: >-
          The proportion of total variance in the dependent variable
          attributable to a predictor in the sample (a biased estimator
          analogous to R-squared).
        close_mappings:
          - STATO:0000317
      omega_squared:
        description: >-
          A less biased estimator of the proportion of variance explained
          by a predictor, providing a better population-level estimate than
          eta-squared.
        close_mappings:
          - STATO:0000318
      root_mean_square_standardized_effect:
        description: >-
          The square root of the average of squared standardized effects in
          an analysis of variance context (RMSSE, Psi).
        close_mappings:
          - STATO:0000316

  StatisticalSignificanceQualifierEnum:
    description: >-
      An enumeration used as a qualifier to categorize the statistical significance
      of an association's supporting evidence into coarse bands (e.g., very strongly
      significant, strongly significant, significant, suggestive, not significant),
      conventionally anchored to alpha = 0.05. The underlying numeric value lives in
      the 'p value' and 'adjusted p value' slots, which remain authoritative.
    permissible_values:
      very_strongly_significant:
        description: >-
          A significance band denoting that the association meets the most stringent
          conventional threshold (significance statistic at or below 0.001), such that,
          under the null hypothesis of no association, an effect at least this large would
          be expected in no more than about one in a thousand comparable studies.
      strongly_significant:
        description: >-
          A significance band denoting that the association meets a stringent conventional
          threshold (significance statistic at or below 0.01).
      significant:
        description: >-
          A significance band denoting that the association meets the standard conventional
          threshold (significance statistic at or below alpha = 0.05), such that, under the
          null hypothesis, an effect at least this large would be expected in no more than
          about one in twenty comparable studies.
      suggestive:
        description: >-
          A significance band denoting a borderline result (significance statistic above
          0.05 but at or below roughly 0.10, sometimes extended to 0.20 in fields such as
          genetics) that is suggestive of, but does not conclusively support, an association.
      not_significant:
        description: >-
          A significance band denoting that the association does not meet the conventional
          threshold (significance statistic above 0.05), such that there is insufficient
          evidence to rule out the null hypothesis of no association.

  CausalMechanismQualifierEnum:
    description: >-
      An enumeration used as a qualifier to specify the causal or pharmacologic
      mechanism by which an effect is exerted in an association (e.g.,
      agonism, antagonism, inverse agonism, allosteric modulation,
      activation, inhibition, and their competitive or partial variants).
    permissible_values:
      modulation:
        description: >-
          A causal mechanism that effects the normal functioning of a protein in some way e.g., mixed agonist/antagonist or
          unclear whether action is positive or negative
      allosteric_modulation:
        is_a: modulation
        description: >-
          A modulation mechanism that occurs when a chemical exerts an effect on a protein targets via a different
          binding site than the natural ('orthosteric') ligand site.
      mixed_allosteric_modulation:
        is_a: allosteric_modulation
        description: >-
          An allosteric modulation mechanism that occurs when a chemical may exert an activating effect or an inhibitory effect
          in different conditions / contexts (e.g. concentration, receptor conformational state, signaling pathway context,
          receptor subtype, cellular environment).
      biphasic_allosteric_modulation:
        is_a: mixed_allosteric_modulation
        description: >-
          A mixed allosteric modulation mechanism that occurs when a chemical exerts an activating effect at lower concentrations,
          and an inhibitory effect at higher concentrations.
      mixed_agonism:
        is_a: modulation
        description: >-
          An modulation mechanism in which the effector acts as both an agonist (activating a receptor) and an antagonist
          (blocking a receptor) at different receptor sites.
      positive_modulation:
        is_a: modulation
        description: >-
          A modulation mechanism that positively effects the normal functioning of a target by increasing or enhancing
          its activity or abundance, or its sensitivity to other factors that do so.
      potentiation:
        is_a: positive_modulation
        description: >-
          A positive modulation mechanism in which the effector binds to and enhances or intensifies the effect of some
          other chemical or drug on its target.
      induction:
        is_a: positive_modulation
        description: >-
          A positive modulation mechanism in which the effector binds to and increases the activity/rate of an enzyme that
          processes drugs in the body.
        close_mappings:
          - DGIdb:inducer
      cofactor:
        is_a: positive_modulation
        description: >-
          A positive modulation mechanism in which the effector (usually some non-protein chemical compound or metallic ion)
          is required for a target enzyme's biological/catalytic activity.
      activation:
        is_a: positive_modulation
        description: >-
          A positive modulation mechanism in which the effector binds to and positively affects the normal functioning of its target.
        close_mappings:
          - CHEMBL.MECHANISM:activator
          - DGIdb:activator
      positive_allosteric_modulation:
        is_a: activation
        description: >-
          A positive modulation mechanism in which the effector enhances the action of the endogenous ligand of a receptor by
          binding to a site distinct from that ligand (i.e. non-competitive inhibition)
        close_mappings:
          - CHEMBL.MECHANISM:positive_allosteric_modulator
          - CHEMBL.MECHANISM:positive_modulator
          - DGIdb:positive_allosteric_modulator
        broad_mappings:
          - DGIdb:modulator
          - DGIdb:allosteric_modulator
      agonism:
        is_a: activation
        description: >-
          An activation mechanism in which the effector binds and activates a receptor to mimic the effect of an
          endogenous ligand.
        close_mappings:
          - CHEMBL.MECHANISM:agonist
          - DGIdb:agonist
        narrow_mappings:
          - CHEMBL.MECHANISM:partial_agonist
          - DGIdb:partial_agonist
      partial_agonism:
        is_a: agonism
        description: >-
          An agonism mechanism in which the effector binds to and only partially activates a receptor
          (relative to the response to a full agonist)
      biased_agonism:
        is_a: agonism
        description: >-
          An agonism mechanism in which the effector  binds to a receptor and activates certain signaling
          pathways while ignoring others, allowing it to produce a desired effect without unwanted side effects.
      antibody_agonism:
        is_a: agonism
        description: >-
          An agonism mechanism in which the effector is an antobody that binds and activates a receptor to mimic
          the effect of an endogenous ligand.
      molecular_channel_opening:
        is_a: activation
        description: >-
          An activation mechanism in which the effector binds to a molecular channel and facilitates transport of
          ions through it.
        close_mappings:
          - CHEMBL.MECHANISM:opener
      stimulation:
        is_a: activation
        description: >-
          An activation mechanism in which the effector directly or indirectly affects its target, stimulating a
          physiological response.
        close_mappings:
          - DGIdb:stimulator
          - SEMMEDDB:STIMULATES
          - DGIdb:stimulator
      guanyl_nucleotide_exchange:
        is_a: activation
        description: >-
          An activation mechanism in which the effector catalyzes the exchange of guanosine diphosphate (GDP) for
          guanosine triphosphate (GTP) in a guanine nucleotide-binding protein (G-protein).
      negative_modulation:
        is_a: modulation
        description: >-
          A modulation mechanism that negatively effects the normal functioning of a target by decreasing or impeding
          its activity or abundance, or its sensitivity to other factors that do so.
        narrow_mappings:
          - DGIdb:negative_modulator
      negative_gene_editing_modulation:
        is_a: negative_modulation
        description: >-
          A negative modulation mechanism in which the effector elicits the negative modulation of its target through
          a gene editing activity.
      gtpase_activation:
        is_a: negative_modulation
        description: >-
          An activation mechanism in which the effector accelerates the intrinsic GTPase activity of a G-protein,
          promoting the conversion of the active, GTP-bound form to the inactive, GDP-bound form, thereby terminating
          a signaling event. Note that this is a negative modulation mechanism because the target is the G-protein whose
          activity is attenuated through gtpase activation.
      atpase_activation:
        is_a: negative_modulation
        description: >-
          An activation mechanism in which the effector accelerates the intrinsic ATPase activity of a target protein,
          promoting the conversion of the active, ATP-bound form to the inactive, ADP-bound form, thereby terminating
          a signaling event. Note that this is a negative modulation mechanism because the target is the protein whose
          activity is attenuated through atpase activation.
      antisense_oligonucleotide_inhibition:
        is_a: negative_modulation
        description: >-
          A negative modulation mechanism in which an antisense oligonucleotide effector prevents translation of a complementary
          mRNA sequence through binding and targeting it for degradation. Note that while this is called "inhibition', it is not
          inhibition in the classic biochemical sense that requires a direct interaction between effector and target.
      rna_interference_inhibition:
        is_a: negative_modulation
        description: >-
          A negative modulation mechanism in which an effector small interfering RNA (siRNA) molecule finds and destroys
          messenger RNA (mRNA) with a complementary sequence, preventing a specific gene from being translated into a protein.
          Note that while this is called "inhibition', it is not inhibition in the classic biochemical sense that requires a direct
          interaction between effector and target.
      suppression:
        is_a: negative_modulation
        description: >-
          A negative modulation mechanism in which the effector directly or indirectly affects its target, suppressing a
          physiological process.
      feedback_inhibition:
        is_a: negative_modulation
        description: >-
          An negative modulation mechanism in which the end product of a metabolic pathway inhibits an enzyme early in that same pathway,
          which stops the production of the final product when it's no longer needed.
      inhibition:
        is_a: negative_modulation
        description: >-
          A negative modulation mechanism in which the effector binds to the target and negatively effects its normal function,
          e.g. prevention of enzymatic reaction or activation of downstream pathway.
        close_mappings:
          - DGIdb:inhibitor
          - SEMMEDDB:INHIBITS
        narrow_mappings:
          - DGIdb:blocker
          - DGIdb:channel_blocker
          - DGIdb:gating_inhibitor
          - CHEMBL.MECHANISM:antisense_inhibitor
          - CHEMBL.MECHANISM:blocker
          - CHEMBL.MECHANISM:inhibitor
          - CHEMBL.MECHANISM:negative_allosteric_modulator
          - CHEMBL.MECHANISM:negative_modulator
          - DGIdb:negative_modulator
      antibody_inhibition:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which an antibody effector specifically binds to and interferes with the target.
      antagonism:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which the effector binds to a receptor and prevents activation by an agonist
          through competing for the binding site.
        close_mappings:
          - DGIdb:antagonist
          - CHEMBL.MECHANISM:antagonist
        narrow_mappings:
          - CHEMBL.MECHANISM:allosteric_antagonist
      allosteric_antagonism:
        is_a: antagonism
        description: >-
          An inhibition mechanism in which the effector binds to a receptor at an allosteric site and prevents activation
          by a positive allosteric modulator at that site.
      non_competitive_antagonism:
        is_a: antagonism
        description: >-
          An inhibition mechanism in which the effector binds a site distinct from the agonist's binding site (non-orthosteric),
          or irreversibly/insurmountably inactivates the receptor - reduces the receptor’s maximal response (Emax) in a way that
          cannot be overcome by adding more agonist.
      competitive_inhibition:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which the effector binds to a target molecule (such as an enzyme) and prevents the binding
          of a substrate (or another binding partner) and vice versa.
      noncompetitive_inhibition:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which the effector binds to a target molecule (such as an enzyme) at a site other than the active
          site, in a way that reduces the activity of the target.
      negative_allosteric_modulation:
        is_a: noncompetitive_inhibition
        description: >-
          A noncompetitive inhibition mechanism in which the effector reduces or prevents the action of the endogenous ligand of a
          receptor by binding to a site distinct from that ligand, and causing a conformational change that affects ligand binding.
        close_mappings:
          - CHEMBL.MECHANISM:negative_allosteric_modulator
          - DGIdb:inhibitory_allosteric_modulator
      gating_inhibition:
        is_a: inhibition
        description: >-
          An inhibition mechanism mediated by the transition of ion channels between their open (conducting) and closed
          (non-conducting) conformational states.
      irreversible_inhibition:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which an effector permanently binds to a target, permanently disrupting its activity.
      molecular_channel_blockage:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which the effector binds to a molecular channel and prevents or reduces
          transport of ions through it.
      inverse_agonism:
        is_a: inhibition
        description: >-
          An inhibition mechanism in which the effector binds to the same receptor-binding site as an agonist and antagonizes
          its effects, often exerting the opposite effect of the agonist by suppressing spontaneous receptor signaling.
        close_mappings:
          - CHEMBL.MECHANISM:inverse_agonist
          - DGIdb:inverse_agonist
      binding:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by the direct contact between effector and target chemical or
          biomolecular entity, which form a stable physical interaction (typically non-covalent).
      covalent_binding:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by a direct covalent binding interaction between effector and target chemical or
          biomolecular entity.
      adduction:
        is_a: covalent_binding
        description: >-
          A covalent binding mechanism in which a drug-protein adduct forms by the covalent binding of electrophilic drugs or their
          reactive metabolite(s) to a target protein.
      crosslinking:
        is_a: covalent_binding
        description: >-
          A covalent binding mechanism in which an effector induces cross-linking of target proteins or nucleic acids - covalently joining them
          into a rigid structure.
      transglutamination:
        is_a: covalent_binding
        description: >-
          A covalent binding mechanism involving formation of a covalent bond between a glutamine residue and an amine as catalyzed by a transglutaminase.
      disuphide_binding:
        is_a: covalent_binding
        description: >-
          A covalent binding mechanism involving a covalent bond formed between two cysteine residues in or between proteins.
      stabilization:
        is_a: modulation
        description: >-
          A modulation mechanism in which the effector increases the conformational stability of a protein or complex.
        close_mappings:
          - CHEMBL.MECHANISM:stabiliser
      chaperone_mediated_stabilization:
        is_a: stabilization
        description: >-
      destabilization:
        is_a: modulation
        description: >-
          A modulation mechanism in which a chaperone molecule directly binds to a partially folded biosynthetic intermediate to stabilize
          the protein and allow it to complete the folding process to yield a functional protein.
      degradation:
        is_a: modulation
        description: >-
          A modulation mechanism that controls protein and cellular component levels through the regulated breakdown and recycling of molecules.
      cleavage:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector promotes degeneration of the target protein through cleaving of the peptide bonds.
      hydrolysis:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector cleaves its target through a chemical reaction where a molecule of water is used to
          break a bond.
      disruption:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector destabilizes or disrupts a protein complex, macromolecular assembly, cell membrane etc.
      opening:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector positively effects the normal functioning of an ion channel e.g., facilitates transport
          of ions through the channel.
      multitarget_modulation:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector achieves a physiological effect through simultaneous interaction with multiple gene targets.
      chelation:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector binds to a metal ion target, reducing its availability/reactivity for further interactions.
      release:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector reverses the normal functioning of a transporter, causing release of the substrate, rather than uptake
        close_mappings:
          - CHEMBL:MECHANISM:releasing_agent
      sequestration:
        is_a: modulation
        description: >-
          A modulation mechanism in which an effector binds to a substance such as a drug, toxin or metabolite and reduces its availability for
          further interactions.
      oxidoreduction:
        is_a: modulation
        description: >-
          A modulation mechanism in which in which electrons are transferred between molecules catalyzed by an oxidoreductase enzyme.
      exogenous_protein:
        is_a: modulation
        description: >-
          A modulation mechanism in which a protein from an exogenous source acts as a substitute or supplement for a specific protein which is
          absent or has reduced function in an affected target/subject.
      exogenous_gene:
        is_a: modulation
        description: >-
          A modulation mechanism in which a nucleic acid from an exogenous source acts as a substitute or supplement for a specific gene which
          is absent or has reduced function in an affected target/subject.
      transcriptional_regulation:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by through the control of target gene transcription.
      translational_regulation:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by through the control of target gene translation.
      catalytic_activity:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by through the catalytic activity of the effector on the target.
      chemical_modification:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by a protein/complex effector altering a small molecule by modifying it or
          converting it to something else.
      relocalization:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by an effector that alters the localization of a target in the cell or body.
      isomerization:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by an effector that alters the isomeric conformation of a target.
      signaling_mediated_control:
        is_a: modulation
        description: >-
          A modulation mechanism mediated by the activation or control of signaling events that influence the some aspect
          of the target entity (e.g. its activity, processing, transport, etc.).
      immune_system_modulation:
        is_a: modulation
        description: >-
          A modulation mechanism in which the actions of the effector on the immune system ultimately mediate the affects a target.
      vaccine_antigen:
        is_a: immune_system_modulation
        description: >-
          An immune system modulation mechanism in which a vaccine mediates its effect through the activation of the immune
          system against the target.
      post_transcriptional_regulation:
        is_a: modulation
        description: >-
          A modulation mechanism which controls expression of a target gene at the RNA level after a gene has been transcribed
          into messenger RNA (mRNA).
      molecular_modification:
        is_a: modulation
        description: >-
          A modulation mechanism through which an effect is mediated by the modification of a target, through addition
          of chemical moieties such phosphate groups, ubiquitin, lipids, etc., which alter its activity or cellular behavior.
      phosphorylation:
        is_a: molecular_modification
      dephosphorylation:
        is_a: molecular_modification
      neddylation:
        is_a: molecular_modification
      deneddylation:
        is_a: molecular_modification
      lipidation:
        is_a: molecular_modification
      palmitoylation:
        is_a: lipidation
      myristoylation:
        is_a: lipidation
      tyrosination:
        is_a: molecular_modification
      carboxylation:
        is_a: molecular_modification
      ubiquitination:
        is_a: molecular_modification
      monoubiquitination:
        is_a: ubiquitination
      polyubiquitination:
        is_a: ubiquitination
      deubiquitination:
        is_a: molecular_modification
      sulfation:
        is_a: molecular_modification
      reduction:
        is_a: molecular_modification
        description: >-
          A molecular modification mechanism in which an effector modifies a target substrate via a reduction reaction.
      oxidation:
        is_a: molecular_modification
        description: >-
          A molecular modification mechanism in which an effector modifies a target substrate via an oxidation reaction.
      acetylation:
        is_a: molecular_modification
      deacetylation:
        is_a: molecular_modification
      glycosylation:
        is_a: molecular_modification
      deglycosylation:
        is_a: molecular_modification
      methylation:
        is_a: molecular_modification
      trimethylation:
        is_a: methylation
      demethylation:
        is_a: molecular_modification
      sumoylation:
        is_a: molecular_modification
      desumoylation:
        is_a: molecular_modification
      ADP-ribosylation:
        is_a: molecular_modification
      de-ADP-ribosylation:
        is_a: molecular_modification
      ampylation:
        is_a: molecular_modification
        description: >-
          A molecular modification involving the addition of an adenylyl (AMP) moiety to a substrate protein residue.
      hydroxylation:
        is_a: molecular_modification
      s_nitrosylation:
        is_a: molecular_modification

  LogicalInterpretationEnum:
    description: >-
      An enumeration of logical interpretations that can be applied to a triple
      to indicate whether the relation should be read as existential on both
      sides (some-some), universal-existential (all-some), or its inverse
      (inverse all-some).
    permissible_values:
      some_some:
        description: >-
          A modifier on a triple that causes the triple to be interpreted as a some-some statement
        meaning: os:SomeSomeInterpretation
      all_some:
        description: >-
          A modifier on a triple that causes the triple to be interpreted as an all-some statement.
        meaning: os:AllSomeInterpretation
      inverse_all_some:

  ReactionDirectionEnum:
    description: >-
      An enumeration of possible directions for a biochemical reaction,
      indicating whether it proceeds left-to-right, right-to-left, is
      bidirectional (reversible), or has no net direction.
    permissible_values:
      left_to_right:
      right_to_left:
      bidirectional:
      neutral:

  ReactionSideEnum:
    description: >-
      An enumeration indicating on which side of a biochemical reaction a
      participant appears - the left-hand (reactant/substrate) side or the
      right-hand (product) side, as written.
    permissible_values:
      left:
      right:

  PhaseEnum:
    description: phase
    permissible_values:
      0:
      1:
      2:

  StrandEnum:
    description: strand
    permissible_values:
      "+":
        description: Positive
      "-":
        description: Negative
      ".":
        description: Unstranded
      "?":
        description: Unknown

  SequenceEnum:
    description: type of sequence
    permissible_values:
      "na":
        description: nucleic acid
      "aa":
        description: amino acid

  DruggableGeneCategoryEnum:
    description: >-
      An enumeration of druggability categories for gene targets as defined by
      the IDG (Illuminating the Druggable Genome) / Pharos target development
      level classification: Tclin (targets of approved drugs), Tchem (targets
      with potent bioactives), Tbio (targets with biological knowledge), and
      Tdark (poorly characterized targets).
    permissible_values:
      "tclin":
        description: >-
          These targets have activities in DrugCentral (ie. approved drugs) with known mechanism of action.
      "tbio":
        description: >-
          These targets have activities in ChEMBL, Guide to Pharmacology or DrugCentral that satisfy
          the activity thresholds detailed below.
      "tchem":
        description: >-
          These targets do not have known drug or small molecule activities that satisfy the activity
          thresholds detailed below AND satisfy one or more of the following criteria:
          target is above the cutoff criteria for the target is annotated with a
          Gene Ontology Molecular Function or Biological Process leaf term(s) with an Experimental Evidence code
      "tdark":
        description: >-
          These are targets about which virtually nothing is known. They do not have known drug or small
          molecule activities that satisfy the activity thresholds detailed below AND satisfy two or
          more of the following criteria:
          A PubMed text-mining score from Jensen Lab less than 5, greater than or equal TO 3 Gene RIFs, or
          less than or equal to 50 Antibodies available according to http://antibodypedia.com.

  DrugAvailabilityEnum:
    description: >-
      An enumeration describing how a drug or chemical entity may be obtained,
      distinguishing products that are available over the counter from those
      that require a prescription.
    permissible_values:
      "over_the_counter":
        description: >-
          chemical entity is available over the counter without a prescription.
      "prescription":
        description:
          chemical entity is available by prescription.

  DrugDeliveryEnum:
    description: >-
      An enumeration of routes by which a drug is administered or delivered to
      a patient, including inhalation, oral, transdermal absorption, and
      various forms of injection (intravenous, subcutaneous, intramuscular).
    permissible_values:
      inhalation:
      oral:
      absorption_through_the_skin:
      injection:
      intravenous_injection:
        is_a: injection
      subcutaneous_injection:
        is_a: injection
      intramuscular_injection:
        is_a: injection

  ResourceRoleEnum:
    description: >-
      The role played by the information reource in serving as a
      source for an edge in a TRAPI message. Note that a given Edge should have one
      and only one 'primary' source, and may have any number of
      'aggregator' or 'supporting data' sources.  This enumeration
      is found in Biolink Model, but is repeated here for convenience.
    permissible_values:
      "primary_knowledge_source":
      "aggregator_knowledge_source":
      "supporting_data_source":
    in_subset:
      - translator_minimal

  FDAIDAAdverseEventEnum:
    description: >-
      please consult with the FDA guidelines as proposed in this document:
      https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/cfrsearch.cfm?fr=312.32
    permissible_values:
      "life_threatening_adverse_event":
        description: >-
          An adverse event or suspected adverse reaction is considered 'life-threatening' if, in the view of either
          the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death.
          It does not include an adverse event or suspected adverse reaction that, had it occurred in a more
          severe form, might have caused death.
      "serious_adverse_event":
        description: >-
          An adverse event or suspected adverse reaction is considered 'serious' if, in the view of either the
          investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event,
          inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity
          or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth
          defect. Important medical events that may not result in death, be life-threatening, or require hospitalization
          may be considered serious when, based upon appropriate medical judgment, they may jeopardize the patient or
          subject and may require medical or surgical intervention to prevent one of the outcomes listed in this
          definition. Examples of such medical events include allergic bronchospasm requiring intensive treatment
          in an emergency room or at home, blood dyscrasias or convulsions that do not result in inpatient
          hospitalization, or the development of drug dependency or drug abuse.
      "suspected_adverse_reaction":
        description: >-
           means any adverse event for which there is a reasonable possibility that the drug caused the adverse event.
           For the purposes of IND safety reporting, 'reasonable possibility' means there is evidence to suggest a
           causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser
           degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.
      "unexpected_adverse_event":
        description: >-
          An adverse event or suspected adverse reaction is considered 'unexpected' if it is not listed in the
          investigator brochure or is not listed at the specificity or severity that has been observed; or, if an
          investigator brochure is not required or available, is not consistent with the risk information described
          in the general investigational plan or elsewhere in the current application, as amended. For example,
          under this definition, hepatic necrosis would be unexpected (by virtue of greater severity) if the
          investigator brochure referred only to elevated hepatic enzymes or hepatitis. Similarly, cerebral
          thromboembolism and cerebral vasculitis would be unexpected (by virtue of greater specificity) if the
          investigator brochure listed only cerebral vascular accidents. 'Unexpected', as used in this definition,
          also refers to adverse events or suspected adverse reactions that are mentioned in the investigator brochure
          as occurring with a class of drugs or as anticipated from the pharmacological properties of the drug, but
          are not specifically mentioned as occurring with the particular drug under investigation.
    in_subset:
      - translator_minimal

  AgentTypeEnum:
    description: >-
      An enumeration of agent types responsible for generating a statement of
      knowledge, as defined by the Translator Knowledge Level / Agent Type
      (KL/AT) standard. Values distinguish human (manual) agents from
      automated agents (including data analysis pipelines, computational
      models, text-mining agents, image-processing agents) and mixed cases
      such as manual validation of automated output.
    permissible_values:
      manual_agent:
        description: >-
          A human agent who is responsible for generating a statement of
          knowledge. The human may utilize computationally generated
          information as evidence for the resulting knowledge,
          but the human is the one who ultimately interprets/reasons with
          this evidence to produce a statement of knowledge.
      automated_agent:
        description: >-
          An automated agent, typically a software program or tool, that is
          responsible for generating a statement of knowledge. Human contribution
          to the knowledge creation process ends with the definition and coding
          of algorithms or analysis pipelines that get executed by the automated
          agent.
      data_analysis_pipeline:
        is_a: automated_agent
        description: >-
          An automated agent that executes an analysis workflow over data and
          reports the direct results of the analysis. These typically report
          statistical associations/correlations between variables in the input
          dataset, and do not interpret/infer broader conclusions from associations
          the analysis reveals in the data.
        notes:
          - >-
            If an analysis pipeline includes any rules for generating broader
            conclusions based on the dataset-specific statistical correlations
            it calculates (e.g. create a 'treats' edge when the analysis reveals a
            drug-disease correlation in the data with statistical scores that meet a
            certain threshold) - we would consider this agent to be a Computational Model
            rather than just a Data Analysis Pipeline.
      computational_model:
        is_a: automated_agent
        description: >-
          An automated agent that generates knowledge statements (typically
          predictions) based on rules/logic explicitly encoded in an algorithm
          (e.g. heuristic models, supervised classifiers), or learned from patterns
          observed in data (e.g. ML models, unsupervised classifiers).
        notes:
          - >-
            The bar is quite low relatively for what is considered to be a
            ‘computational model’ by our definition. Even agents/tools that apply
            simple rules or logic to the output of an ingest or analysis pipeline
            to allow for a stronger or more general conclusion to be stated can
            qualify an agent as a model. For example, an ingest pipeline that applies rules to its ingest of
            clinical trials data to create a 'treats' prediction edge when the
            source reports a drug to be in phase 2 or 3 trials represents a
            computational model because it is automatically drawing a stronger
            conclusion than the source reports, based on logic encoded in the ingest
            pipeline. Similarly, a data analysis pipeline that is extended with rules to
            automatically generate broader conclusions based on dataset-specific
            statistical correlations (e.g. create a 'treats' edge when the analysis
            reveals a drug-disease correlation in the data with statistical scores
            that meet a certain threshold), would also qualify as a computational
            model by our definition.
      text_mining_agent:
        is_a: automated_agent
        description: >-
          An automated agent that uses Natural Language Processing to recognize
          concepts and/or relationships in text, and report them using formally
          encoded semantics (e.g. as an edge in a knowledge graph).
        notes:
          - >-
            The original statement in the source text is typically made by a human /
            manual agent, but if a specific encoding of this knowledge is produced
            by a text-mining tool, it has an agent_type of 'text_mining_agent'.
            Examples of text mining agents include SemmedDB, and the Translator
            Text-Mining Knowledge Provider. Note that text-mining tools are prone to erroneous interpretation of
            concepts and relationships, and can fail to provide important details
            about the context in which the original knowledge was reported - so
            users should always consult the source text for a text-mined statement
            to assess its veracity and relevance.
      image_processing_agent:
        is_a: automated_agent
        description: >-
          An automated agent that processes images to generate textual statements of
          knowledge derived from the image and/or expressed in text the image
          depicts (e.g. via OCR).
      manual_validation_of_automated_agent:
        description: >-
          A human agent reviews and validates/approves the veracity of knowledge
          that is initially generated by an automated agent.
        notes:
          - >-
            This term applies when a human was only involved in evaluating the veracity
            of a knowledge statement that was generated by an automated agent. It is
            important to indicate when such manual review has occurred, because it can
            give a user more confidence in an automated statement.
      not_provided:
        description: >-
          The agent type is not provided, typically because it cannot be determined
          from available information if the agent that generated the knowledge is
          manual or automated.
    in_subset:
      - translator_minimal

  KnowledgeLevelEnum:
    description: >-
      An enumeration characterizing the type of knowledge expressed in a
      statement and the kind of evidence and reasoning that supports it, as
      defined by the Translator Knowledge Level / Agent Type (KL/AT)
      standard. Values include knowledge assertion, logical entailment,
      prediction, statistical association, text co-occurrence, direct
      observation, and not-provided.
    permissible_values:
      knowledge_assertion:
        aliases: ['assertion']
        description: >-
          A statement of purported fact that is put forth by an agent as true,
          based on assessment of direct evidence. Assertions are likely but not
          definitively true.
        notes:
          - >-
            Knowledge Assertions are supported by direct evidence deemed sufficient
            by some agent to support a confidence assertion of truth. Our certainty
            in this truth is not absolute, but is typically higher than for Predictions.
      logical_entailment:
        aliases: ['deductive_inference']
        description: >-
          A statement reporting a conclusion that follows logically from premises
          representing established facts or knowledge assertions (e.g. fingernail
          part of finger, finger part of hand --> fingernail part of hand).
        notes:
          - >-
            These statements report entailed conclusions derived through dedictive inference.
            They are not directly asserted by a source, but logically follow from statement(s)
            a source does make - and are necessarily true if their supporting premises are true.
            In practice, these will primarily be entailments based on logic encoded in ontologies.
            Examples include propagation of annotated knowledge to hierarchically-related concepts,
            across paths through a graph constructed from transitive relationships, or sets of
            relationships that support property chain inference.
      prediction:
        aliases: ['hypothesis']
        description: >-
          A statement of a possible fact based on probabilistic forms of reasoning over
          more indirect forms of evidence, that lead to more speculative conclusions.
        notes:
          - >-
            Predictions typically result from non-deductive forms of reasoning - e.g.
            inductive and deductive inference, or statistical inference where conclusions
            are drawn about a broader/global population based on data from a representative
            cohort. For example, a prediction that a drug may treat a particular disease based on its chemical
            similarity to known drugs that treat the disease, and the fact that it can inhibit proteins
            in a pathway that is associated with the disease
            As Predictions are based on weaker forms of inference and evidence, they are typically
            considered lower confidence statements as compared to Knowledge Assertions and Logical
            Entailments.
      statistical_association:
        description: >-
          A statement that reports concepts representing variables in a dataset to be statistically
          associated with each other in a particular cohort (e.g. 'Metformin Treatment (variable 1)
          is correlated with Diabetes Diagnosis (variable 2) in EHR dataset X').
        notes:
          - >-
            Such statements report the direct results of some statistical analysis. Their scope is limited
            tp the cohort/dataset interrogated in the analysis, and they do not make broader claims or draw
            more meaningful conclusions about the domain of discourse. Note however that such Statistical
            Associations can be used as evidence to support a more pointed/precise Prediction or Assertion
            of knowledge. For example, e.g. a Statistical Association between 'Metformin Prescription' and
            'Diabetes Diagnosis' in EHR records could support a Prediction that 'Metformin treats Diabetes',
            or 'Metformin causes Diabetes'. This 'treats' edge may have a knowledge_level of 'Prediction',
            but the provider could use the 'evidence_type' edge property to indicate that this prediction is
            based on a 'Statistical Association'. Because Statistical Associations directly report analysis-specific
            results, we can consider them to be inherently true statements, whose broader utility is dependent on
            subsequent generalization of the reported result to a broader population, and/or interpretation of the
            result as support for a more meaningful statements about the domain of discourse.
      text_co_occurrence:
        description: >-
          A statement reporting that mentions of two concepts in some corpus of text (e.g. the biomedical literature)
          occur together at a statistically significant frequency - suggesting that a real-world biological or clinical
          relationship may exist between the concepts.
        notes:
          - >-
            Such statements often utilize NLP/text-mining to identify concept mentions in text, but the reported statement is
            generated by a data analysis pipeline that performs calculations on mention counts and determines the strength
            of their correlation.
      observation:
        description: >-
          A statement reporting (and possibly quantifying) a phenomenon that was observed to occur -
          absent any analysis or interpretation that generates a statistical association or supports
          a broader conclusion or inference.
        notes:
          - >-
            An observation that "56362 people self-reported taking melatonin to treat migraines"
            is agnostic to whether melatonin is an effective or approved treatment - it only claims that it was
            taken for this purpose. Such observations, however, may be used as the basis for predicting that a
            drug may be efficacious against a disease.
      not_provided:
        description: >-
          The knowledge level is not provided, typically because it cannot be determined from available.
          information.
        notes:
          - >-
            This term is most often applied for text-mined edges, as NLP tools are typically not able to detect
            a specific knowledge level for the concept relationships they extract (e.g. whether the author
            was predicting or asserting a relationship, or merely observed it to occur).
    in_subset:
      - translator_minimal

  GeneToPhenotypicFeaturePredicateEnum:
    description: >-
      Enumeration of predicates permissible for use in gene to phenotypic feature associations.
      This constrains the relationship types that can be used between genes and phenotypic features.
    permissible_values:
      "biolink:causes":
      "biolink:contributes_to":
      "biolink:associated_with":
      "biolink:has_phenotype":

  GeneToDiseasePredicateEnum:
    description: >-
      Enumeration of predicates permissible for use in gene to disease associations.
      This constrains the relationship types that can be used between genes and diseases.
    permissible_values:
      "biolink:contributes_to":
      "biolink:associated_with":
      "biolink:affects":

  AssociationBasisEnum:
    description: >-
      Permissible values for the 'association basis qualifier', indicating the
      nature or basis of an association asserted using the 'associated with'
      predicate or one of its subpredicates.
    permissible_values:
      statistical:
        description: >-
          An association based on statistical dependence (i.e., non-independence),
          derived from analysis of observational or experimental data using an
          appropriate statistical method.
      functional:
        description: >-
          An association based on the participation of two biological entities in
          a common biological function, process, pathway, reaction, molecular
          complex, interaction, gene expression program, or other functional
          system. Functionally associated entities need not interact directly or
          contribute in the same direction to the shared function; they are
          related by their involvement in the same biological phenomenon.
      genetic:
        description: >-
          An association based on the relationship of two biological entities
          through inherited genetic variation. Examples include associations
          between genetic variants and phenotypes, diseases, traits, gene
          expression levels, protein abundance, or other molecular or organismal
          phenotypes. Such associations do not necessarily imply causation or
          direct biological function and are typically identified through genetic
          association studies, including genome-wide association studies (GWAS),
          phenome-wide association studies (PheWAS), and quantitative trait locus
          (QTL) mapping (e.g., eQTL and pQTL analyses).
    in_subset:
      - translator_minimal
