KANBAN-838: Allow structured, post-composed phenotype annotations (alternative model).#308
Open
KANBAN-838: Allow structured, post-composed phenotype annotations (alternative model).#308
Conversation
This commit amends the PhenotypeAnnotation class by adding two slots:
`affected_entity` and `qualifier`.
`affected_entity` represents any entity that is affected by the
phenotype that is being described. It can be an anatomical structure, a
developmental stage, or a biological process. The slot has a dual
purpose:
1. It can refine a phenotype that is otherwise described in
`phenotype_terms`, by indicating which organ, stage, or process is
affected by a phenotype.
2. It can describe a phenotype on its own (with `phenotype_terms` left
empty), if the main characteristic of the phenotype is that it
affects a particular organ, stage, or process (this is especially the
case for some FlyBase-style phenotype annotations).
`qualifier` is used to further refine ("qualify") a phenotype that is
otherwise described either by `phenotype_terms` or by `affected_entity`.
It must contain at the very least an ontological term from either PATO
or one of the phenotype ontologies (for the phenotype ontologies that
have "modifier" terms). It may also contain a `related_entity`, which
describes an additional entity (in the same sense as `affected_entity`)
that is linked to the phenotype through the qualifier term. This slot is
especially intended to allow representing ZFIN-style "Entity+Qualifier"
(EQ) phenotype statements.
Some phenotype may need to be described by a qualifier that is a simple "tag" (coming from a dedicated vocabulary) rather than an ontology term. For that, we add an additional `qualifier_tag` slot to the PhenotypeQualifier class.
sbello
reviewed
Dec 10, 2025
sbello
reviewed
Dec 10, 2025
Contributor
|
Need to add XPO to list of phenotype ontologies in this section |
MP, HP, and ZP would not be used to refine the description of a phenotype and therefore don't need to be listed in the allowed sources for `qualifier_term`. Conversely, XPO needs to be added as an allowed source for `phenotype_terms`. Also relax the comment stating that only terms from the GO process branch should be used in the `AffectedEntity.process` slot, because terms from the molecular function branch might be used there as well (and so arguably the name `process` is not ideal, but I'll leave the question of its eventual renaming to others).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements an alternative proposition to #307 (to be discussed in the upcoming Disease WG).
It amends the PhenotypeAnnotation class by adding two slots:
affected_entityandqualifier.affected_entityrepresents any entity that is affected by the phenotype that is being described. It can be an anatomical structure, a developmental stage, or a biological process. The slot has a dual purpose:It can refine a phenotype that is otherwise described in
phenotype_terms, by indicating which organ, stage, or process is affected by a phenotype.It can describe a phenotype on its own (with
phenotype_termsleft empty), if the main characteristic of the phenotype is that it affects a particular organ, stage, or process (this is especially the case for some FlyBase-style phenotype annotations).qualifieris used to further refine ("qualify") a phenotype that is otherwise described either byphenotype_termsor byaffected_entity. It must contain at the very least an ontological term from either PATO or one of the phenotype ontologies (for the phenotype ontologies that have "modifier" terms). It may also contain arelated_entity, which describes an additional entity (in the same sense asaffected_entity) that is linked to the phenotype through the qualifier term. This slot is especially intended to allow representing ZFIN-style "Entity+Qualifier" (EQ) phenotype statements.