/upheno

The Unified Phenotype Ontology (uPheno) integrates multiple phenotype ontologies into a unified cross-species phenotype ontology.

Primary LanguageMakefileCreative Commons Zero v1.0 UniversalCC0-1.0

Build Status

This repository contains common files ontologies and workflows shared between multiple phenotype ontologies.

See the wiki for additional documentation

Inter-ontology Closest Matches

See mappings/README.md for explanation of fields

Background

Many databases use their own ontology geared towards their species of interest or an area of interest. The purpose of this repository is to provide a mechanism for integrating these together into a unified phenotype ontology. We do this primarily through OWL Axiomatization and OWL Reasoning.

This approach takes advantages of the fact that phenotype ontologies typically follow a compositional structure. If each contributing ontology makes the semantics of this composition transparent through OWL Axioms then a reasoner can piece the ontologies together and find the overarching classification.

For example, if a phenotype ontology A contains a class for limb size, and also provides an OWL axiom that maps onto a decomposed form, for example:

  • A:limb size equivalentTo pato:size and inheres in some limb

And if phenotype ontology B has a class short forelimb, with axiom:

  • B:short forelimb equivalentTo pato:short and inheres in some forelimb

Then a reasoner can infer that B:short forelimb is a subclass of A:limb size

The OWL Axioms we use follow a design pattern called EQ or Entity-Quality descriptions.

Furthermore, if a database C provides a row for a genotype described compositionally, the placement of these phenotypes can also be inferred.

For background on the original formulation, see:

C J Mungall, Georgios Gkoutos, Cynthia Smith, Melissa Haendel, Suzanna Lewis, Michael Ashburner (2010) Integrating phenotype ontologies across multiple species Genome Biology 11 (1)

Exploring uPheno

The Monarch website uses uPheno to group data from multiple species. See for example: https://monarchinitiative.org/phenotype/MP:0003631

You can also query this using Monarch SciGraph services: https://scigraph-ontology.monarchinitiative.org/scigraph/docs/

To understand the mechanics of how uPheno works, we recommend opening the OWL in Protege and exploring with a fast reasoner such as Elk running

The remainder of these docs assumes some familiarity with Protege/OWL

We provide various modules:

  • mammal.owl
  • vertebrate.owl
  • metazoa.owl

Contributing Ontologies

  • mp* - mouse // mammal.owl
  • hp* - human // mammal.owl
  • zp - zebrafish** // vertebrate.owl
  • wbphenotype - C elegans // metazoa.owl
  • dpo* - Drosophila // metazoa.owl
  • fypo* - Fission Yeast // eukaryote.owl

* -- this ontology provides their own OWL axiomatization ** -- separately generated ontology

External Imports Modules

The OWL axiomatization depends on a number of external ontologies, including

  • pato
  • uberon
  • cl
  • species-specific AOs
  • go
  • chebi

Many of these are large, so we create import modules in the upheno ontology purl space

See the imports directory

PURLs

This ontology has the OBO PURL upheno

A redirect at obolibrary.org maps

History

Previously we had various things on:

This was split across multiple github repos

Design patterns

The design patterns are grouped into three higher level groupings:

  1. anatomical entity (anatomical entities (Uberon), cells (CL))
  2. cellular component (from GO)
  3. chemical entity (includes chemicals (CHEBI), proteins (PRO))

Current structure of uPheno 1:

  1. mp-hp-kboom.owl: OBSOLETE
  2. mp-hp.ow: OBSOLETE
  3. upheno_root_alignments.owl: OBSOLETE

Current uPheno structure

  1. upheno.owl (TODO needs to be obsoleted):
    1. metazoa.owl
      1. Worm
        1. OBO:uberon/bridge/cl-bridge-to-wbbt.owl
        2. OBO:uberon/bridge/uberon-bridge-to-wbbt.owl
        3. OBO:wbphenotype/wbphenotype-full.owl
      2. Fly
        1. OBO:uberon/bridge/cl-bridge-to-fbbt.owl
        2. OBO:uberon/bridge/uberon-bridge-to-fbbt.owl
        3. OBO:dpo.owl
        4. OBO:upheno/dpo/dpo-bridge.owl
        5. OBO:upheno/imports/fbbt_phenotype.owl
      3. OBO:upheno/vertebrate.owl
        1. Zebrafish:
        2. OBO:zp.owl
        3. OBO:uberon/bridge/cl-bridge-to-zfa.owl
        4. OBO:uberon/bridge/uberon-bridge-to-zfa.owl
        5. OBO:upheno/imports/zfa_import.owl
        6. OBO:vt.owl (<- this currently points to uPheno, made ticket to change that)
        7. upheno internal:
          1. OBO:upheno/imports/uberon_import.owl
          2. OBO:upheno/mammal.owl
            1. OBO:mp.owl
            2. OBO:hp.owl
            3. upheno internal:
              1. OBO:upheno/hp-mp/mp_hp-align-equiv.owl (REMOVED)
              2. OBO:upheno/upheno_root_alignments.owl (covered, root terms under uPheno:"Phenotype")
              3. OBO:upheno/imports/go_phenotype.owl (TODO)
              4. OBO:upheno/imports/mpath_phenotype.owl (TODO)
              5. OBO:upheno/imports/nbo_phenotype.owl (TODO)
              6. OBO:upheno/imports/uberon_phenotype.owl (TODO)