Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance organs endpoint to support polyhierarchical organization of organs #130

Open
AlanSimmons opened this issue Sep 6, 2024 · 3 comments · Fixed by #132
Open

Enhance organs endpoint to support polyhierarchical organization of organs #130

AlanSimmons opened this issue Sep 6, 2024 · 3 comments · Fixed by #132
Assignees
Labels
enhancement New feature or request HuBMAP/SenNet

Comments

@AlanSimmons
Copy link
Contributor

Statement of problem

Data are often associated with organs at a high level of specificity--e.g., with the left lung. It should be possible to organize data by organ hierarchically. In addition, the hierarchy will vary based on use case.

Known use cases

HuBMAP:

  • datasets associated with samples that are registered to organs with specified laterality--e.g., left lung.
  • counts and faceted searches need to organize by organ without regard to laterality--e.g.,
    • Organ
      • Lung
        • Left Lung
        • Right Lung

Background

The UBKG encodes organs using codes from HuBMAP and SenNet. The HuBMAP and SenNet codes are cross-referenced to codes from UBERON and FMA. For example, "Lung (Left)" has code HUBMAP:C030066, which is cross-referenced to UBERON:0002168.

Because the UBKG contains codes and relationships from both UBERON and FMA, it is possible to use existing anatomical hierarchies to categorize organs. For example, in UBERON, "Left Lung" (UBERON:0002168) is a "Lung" (UBERON:0002048).

Solution Architecture

It is already possible to exploit existing UBERON and FMA relationships to organize organs, at least with respect to laterality. At a minimum, the existing organs endpoint can be enhanced to show the immediate "parent" for each designated organ--e.g., the "parent" for Left Lung is Lung.

It may be necessary to curate one or more hierarchies with explicit relationships between anatomical concepts. This would be possible by means of custom ETLs of essentially mini-ontologies. If this is the case, then the organs endpoint could be parameterized to select a specific hierarchy.

@AlanSimmons
Copy link
Contributor Author

AlanSimmons commented Sep 9, 2024

Update: changes to UBKG

The UBKG now has:

  • A new entity type: Organ Category

The full set of Organ Categories includes:

  • All Organ entities without laterality
  • New Organ Categories for organs with laterality

Each Organ Category has a cross-reference to an UBERON code. The UBERON codes for all Organ Categories except for Tonsil come from the HuBMAP Organs page.

Example

Lung (organ with laterality)

  • Lung is an Organ Category
  • Left Lung isa Lung

@AlanSimmons
Copy link
Contributor Author

Update: change to organs endpoint

The endpoint now returns two new values:

  • category
  • laterality

e.g.
Image

@AlanSimmons AlanSimmons linked a pull request Sep 13, 2024 that will close this issue
@AlanSimmons
Copy link
Contributor Author

Waiting for Oct 10 thaw of environment freeze related to HuBMAP Hackathon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request HuBMAP/SenNet
Development

Successfully merging a pull request may close this issue.

1 participant