Skip to content

Add additional case associations to represent phenopackets#1558

Merged
kevinschaper merged 8 commits intomasterfrom
more-phenopacket-associations
May 15, 2025
Merged

Add additional case associations to represent phenopackets#1558
kevinschaper merged 8 commits intomasterfrom
more-phenopacket-associations

Conversation

@kevinschaper
Copy link
Collaborator

@kevinschaper kevinschaper commented Mar 17, 2025

Draft PR with @iQuxLE to represent phenopackets in biolink for Monarch KG

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces additional association types and properties to support phenopacket representation in the Monarch KG biolink model. Key changes include:

  • New association classes for case to disease, case to variant, and case to gene.
  • Addition of a biological sex slot and new qualifiers mixins.
  • Updates to slot definitions and mixins for consistency across association definitions.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/biolink_model/schema/biolink_model.yaml Adds new case association classes with explicit subject, predicate, and object slots
biolink-model.yaml Introduces the "has biological sex" slot and new association definitions with adjusted slot usage and mixin updates
Comments suppressed due to low confidence (1)

biolink-model.yaml:10834

  • Confirm that the removal of the 'entity to disease association mixin' from the 'behavior to behavioral feature association' block is intentional and consistent with the overall association design.
-      - entity to disease association mixin

@iQuxLE iQuxLE marked this pull request as ready for review May 12, 2025 22:25
@kevinschaper
Copy link
Collaborator Author

This is odd, the check dependencies job is installing linkml 1.9.1, but the poetry.lock is still at 1.8.7.

mixins:
- case to entity association mixin
description: "An association between a Case (patient) and a Disease"
slot_usage:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should subject be restricted with range: case ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is already described in case to entity association mixin so it should be fine

- qualified predicate
- disease context qualifier

entity to feature or variant qualifiers mixin:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you give me a short description in this PR on why mixins are needed here?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used mixins to follow the established pattern seen in case to phenotypic feature association -> entity to phenotypic feature association mixin -> entity to feature or disease qualifiers mixin to ensure consistent semantics across the new case associations.

This keeps the pattern consistent throughout the model while improving readability by avoiding duplication and keeping the focus on the core purpose of each new association type.

@kevinschaper kevinschaper merged commit f6b54ac into master May 15, 2025
6 checks passed
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.

4 participants