Skip to content

KANBAN-838: Allow structured, post-composed phenotype annotations.#306

Closed
gouttegd wants to merge 1 commit intoalliance-genome:mainfrom
gouttegd:new-phenotype-annotation-model
Closed

KANBAN-838: Allow structured, post-composed phenotype annotations.#306
gouttegd wants to merge 1 commit intoalliance-genome:mainfrom
gouttegd:new-phenotype-annotation-model

Conversation

@gouttegd
Copy link
Copy Markdown
Contributor

This PR tentatively implements the proposition discussed in the Disease WG on 2025/10/29.

Briefly, it replaces the phenotype_terms slot of the PhenotypeAnnotation class (which can only be used to describe a phenotype using a list of phenotype terms) by a new slot tentatively called structured_phenotype_annotation_object, which is expected to hold an instance of a new class called StructuredPhenotype.

A StructuredPhenotype allows to describe a phenotype using a combination of 4 types of ontological terms, in 4 distinct slots:

  • terms from phenotype ontologies (phenotype_terms slot);
  • terms from anatomical ontologies (affected_location slot);
  • terms from developmental stages ontologies (affected_stage slot);
  • additional terms ("qualifiers") from phenotype ontologies (qualifiers slot).

--
The PR currently does not address the need for arbitrary complex post-composed expressions, such as those seemingly used by ZFIN (e.g. https://zfin.org/action/phenotype/statement/676864772, https://zfin.org/action/phenotype/statement/676876203). The StructuredPhenotype class could probably be extended to accommodate those, but this will require further discussion in the Disease WG.

This commit implements the proposition discussed in the Disease WG on
2025/10/29.

Briefly, it replaces the `phenotype_terms` slot of the
PhenotypeAnnotation class (which can only be used to describe a
phenotype using a list of phenotype terms) by a new slot tentatively
called `structured_phenotype_annotation_object`, which is expected to
hold an instance of a new class called `StructuredPhenotype`.

A StructuredPhenotype allows to describe a phenotype using a combination
of 4 types of ontological terms, in 4 distinct slots:

* terms from phenotype ontologies (`phenotype_terms` slot);
* terms from anatomical ontologies (`affected_location` slot);
* terms from developmental stages ontologies (`affected_stage` slot);
* additional terms ("qualifiers") from phenotype ontologies
  (`qualifiers` slot).
@chris-grove chris-grove self-requested a review November 11, 2025 15:27
@chris-grove chris-grove changed the title Allow structured, post-composed phenotype annotations. KANBAN-838: Allow structured, post-composed phenotype annotations. Nov 11, 2025
@gouttegd
Copy link
Copy Markdown
Contributor Author

Superseded by #307, made from a local branch rather than a remote branch.

@gouttegd gouttegd closed this Nov 12, 2025
@gouttegd gouttegd deleted the new-phenotype-annotation-model branch November 12, 2025 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant