Store genes internally as Ensembl IDs

Description

While users should still be allowed to enter genes using the gene symbol, they should be stored internally using Ensembl IDs.

Specifically:

  • User can enter genes using any type of ID

  • If they select something from the dropdown, we save the ensembl ID as the underlying ID

  • If they don't select anything from the dropdown, we server-side search for exact matches. If one match is found, we store the ensembl ID as the underlying ID. If none are found, we store the user-entered text as the underlying ID.

  • On page visualization, we include the ensembl ID in a hidden field and show the gene symbol instead (like we do with phenotypes/HPO terms). If there is no gene symbol, but the ID matches "^ENSG[0-9]+$", then we display it as a valid ID. If it doesn't match, we display it as a non-standard/invalid ID.

Environment

None

Status

Assignee

Alina Gvo

Reporter

Sasha Andjic

Labels

None

External issue ID

None

External issue ID

None

Sprint

None

Fix versions

Priority

Medium
Configure