-
Notifications
You must be signed in to change notification settings - Fork 10
Use of Ontologies
PhenoPackets make use of ontologies to provide controlled descriptions and identification of diseases, phenotypes, tissues, etc.
An ontology consists of Classes
that represent some grouping of
things. For example, in a phenotype ontology, we may have a class that
represents the phenotype muscular dystrophy
.
Classes are typically identified by an identifier or URIs (see
Identifiers for more details). These are typically meaningless;
for example in HPO the class with identifier HP:0003560 denotes the phenotype muscular dystrophy
.
It is important to understand that each Class immutably maps to a meaning, not to a name.
The use of any one particular ontology is not mandated, but we do provide recommendations. For example, for human phenotypes, we recommend the use of HPO.
As a general rule, we recommend the use of an ontology from the OBO Library that has an open license.
In some cases, database identifiers for resources such as disease databases can be treated as ontology classes.
Because the ontologies we recommend using have the property of immutable meanings, it is sufficient to reference the ontology class Id/URI. The classes are not versioned independent of the meanings.
However, it can be useful to record to version of the ontology in the header of the phenopacket, for example:
TODO
For most purposes, it is sufficient to specify a single ontology class to describe any one thing. For example, in a patient with muscular dystrophy, the class HP:0003560 may be sufficient.
However, we often need to refine a description beyond what is offered in the ontology. The simplest example of this is refining a phenotype with a description of the onset of the phenotype.
The PXF schema provides the onset
tag to refine phenotypes, for example:
phenotype:
types:
- id: HP:0003560
label: Muscular dystrophy
onset:
types:
- id: HP:0003584
label: Late onset
TODO: additional info