Skip to content

create unique id for genes#420

Merged
meganrm merged 6 commits intomainfrom
fix/non-unique-genes
Feb 11, 2026
Merged

create unique id for genes#420
meganrm merged 6 commits intomainfrom
fix/non-unique-genes

Conversation

@meganrm
Copy link
Collaborator

@meganrm meganrm commented Feb 10, 2026

Problem

a number of genes have the same gene symbol but are visualizing different structures

Solution

I made a unique identifier. I tried other methods of automatically creating a unique ID, but struggled to figure out a good solution that worked for all of them. Since this is probably not going to be an ongoing problem I think it's an ok solution. If we were planning on making a lot of new cell lines, I would want to create checks to make sure the id is actually unique.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

Steps to Verify:

  • add link to preview here
  • add link to admin preview here (and verify it loads)

@meganrm meganrm requested a review from Copilot February 10, 2026 22:25
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 a unique geneId to disambiguate gene entries that share the same symbol, and updates CMS/Gatsby linking so cell line genetic modifications reference that unique identifier.

Changes:

  • Add required geneId field to gene-name content and switch Netlify CMS slugs/value fields to use it.
  • Update Gatsby schema customization and mappings so genetic_modifications.gene links by geneId rather than symbol.
  • Update existing gene-name and cell-line markdown content to populate and reference geneId values.

Reviewed changes

Copilot reviewed 120 out of 120 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
static/admin/config.yml Add geneId field and update CMS relations/slugging to rely on geneId.
src/templates/normal-catalog.tsx Extend GraphQL query to include id and fields.slug.
src/templates/gene-name.tsx Extend GraphQL query to include fields.slug.
src/pages/gene-names/ubtf.md Add geneId frontmatter.
src/pages/gene-names/tuba1b.md Add geneId frontmatter.
src/pages/gene-names/ttn.md Add geneId frontmatter.
src/pages/gene-names/tomm20.md Add geneId frontmatter.
src/pages/gene-names/tnni1.md Add geneId frontmatter.
src/pages/gene-names/tjp1.md Add geneId frontmatter.
src/pages/gene-names/tfam.md Add geneId frontmatter.
src/pages/gene-names/terf2.md Add geneId frontmatter.
src/pages/gene-names/st6gal1.md Add geneId frontmatter.
src/pages/gene-names/sox2.md Add geneId frontmatter.
src/pages/gene-names/son.md Add geneId frontmatter.
src/pages/gene-names/smc1a.md Add geneId frontmatter.
src/pages/gene-names/slc25a17.md Add geneId frontmatter.
src/pages/gene-names/sec61b.md Add geneId frontmatter.
src/pages/gene-names/rab5a.md Add geneId frontmatter.
src/pages/gene-names/pxn.md Add geneId frontmatter.
src/pages/gene-names/polr2a.md Add geneId frontmatter.
src/pages/gene-names/pcna.md Add geneId frontmatter.
src/pages/gene-names/nup153.md Add geneId frontmatter.
src/pages/gene-names/npm1.md Add geneId frontmatter.
src/pages/gene-names/myl7.md Add geneId frontmatter.
src/pages/gene-names/myl2.md Add geneId frontmatter.
src/pages/gene-names/myh7.md Add geneId frontmatter.
src/pages/gene-names/myh3.md Add geneId frontmatter.
src/pages/gene-names/myh10.md Add geneId frontmatter.
src/pages/gene-names/map1lc3b.md Add geneId frontmatter.
src/pages/gene-names/lmnb1.md Add geneId frontmatter.
src/pages/gene-names/lmna.md Add geneId frontmatter.
src/pages/gene-names/lamp1.md Add geneId frontmatter.
src/pages/gene-names/hist1h2bj.md Add geneId frontmatter.
src/pages/gene-names/gja1.md Add geneId frontmatter.
src/pages/gene-names/g3bp1.md Add geneId frontmatter.
src/pages/gene-names/fus.md Add geneId frontmatter.
src/pages/gene-names/fbl.md Add geneId frontmatter.
src/pages/gene-names/ezh2.md Add geneId frontmatter.
src/pages/gene-names/eomes.md Add geneId frontmatter.
src/pages/gene-names/dsp.md Add geneId frontmatter.
src/pages/gene-names/dmd.md Add geneId frontmatter.
src/pages/gene-names/dcp1a.md Add geneId frontmatter.
src/pages/gene-names/ctnnb1.md Add geneId frontmatter.
src/pages/gene-names/ctcf.md Add geneId frontmatter.
src/pages/gene-names/clybl-dcas9-krab.md Add geneId frontmatter.
src/pages/gene-names/clybl safe harbor.md Add geneId frontmatter.
src/pages/gene-names/cetn2.md Add geneId frontmatter.
src/pages/gene-names/cdh5.md Add geneId frontmatter.
src/pages/gene-names/cdh1.md Add geneId frontmatter.
src/pages/gene-names/cbx1.md Add geneId frontmatter.
src/pages/gene-names/atp2a2.md Add geneId frontmatter.
src/pages/gene-names/actn2.md Add geneId frontmatter.
src/pages/gene-names/actb.md Add geneId frontmatter.
src/pages/gene-names/aavs1-mitochondrial.md Add geneId frontmatter.
src/pages/gene-names/aavs1-megfp.md Add new gene-name entry with geneId.
src/pages/gene-names/aavs1-caax.md Add geneId frontmatter.
src/pages/cell-line/AICS-99-20/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-96-74/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-95-18/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-94-24/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-93-25/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-90-391/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-89-61/index.md Update multiple genetic_modifications.gene entries to use geneId.
src/pages/cell-line/AICS-88-83/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-87-31/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-86-147/index.md Update multiple genetic_modifications.gene entries to use geneId.
src/pages/cell-line/AICS-84-18/index.md Update multiple genetic_modifications.gene entries to use geneId.
src/pages/cell-line/AICS-83-5/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-83-124/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-82-1/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-80-69/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-78-79/index.md Update multiple genetic_modifications.gene entries to use geneId.
src/pages/cell-line/AICS-75-85/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-74-26/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-70-in-progress/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-69-88/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-68-9/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-63-96/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-61-36/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-60-27/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-59-36/index.md Update multiple genetic_modifications.gene entries to use geneId.
src/pages/cell-line/AICS-58-67/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-57-50/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-54-91/index.md Update genetic_modifications.gene to use geneId (AAVS1 variant).
src/pages/cell-line/AICS-53-16/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-52-3/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-5-50/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-48-39/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-46-51/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-40-35/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-40-13/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-37-172/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-36-6/index.md Use geneId for AAVS1 entry and reformat YAML content.
src/pages/cell-line/AICS-36-28/index.md Use geneId for AAVS1 entry and reformat YAML content.
src/pages/cell-line/AICS-34-62/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-33-115/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-32-19/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-31-35/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-30-22/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-25-44/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-25-1/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-24-80/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-23-20/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-22-37/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-17-65/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-16-184/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-14-6/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-13-210/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-126-68/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-126-41/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-122-77/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-120-204/index.md Update multiple genetic_modifications.gene entries to use geneId (incl AAVS1 variant).
src/pages/cell-line/AICS-12-105/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-114-35/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-114-32/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-11-27/index.md Update genetic_modifications.gene to use geneId.
src/pages/cell-line/AICS-102-330/index.md Update genetic_modifications.gene to use geneId (AAVS1 variant).
src/pages/cell-line/AICS-10-55/index.md Update genetic_modifications.gene to use geneId.
gatsby-node.js Update @link to join genes by frontmatter.geneId and reformat strings.
gatsby-config.js Update Gatsby field mapping to target new gene identifier.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

meganrm and others added 4 commits February 10, 2026 14:28
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@netlify
Copy link

netlify bot commented Feb 10, 2026

Deploy Preview for cell-catalog ready!

Name Link
🔨 Latest commit 250f14a
🔍 Latest deploy log https://app.netlify.com/projects/cell-catalog/deploys/698bb060e3c7c800082771fe
😎 Deploy Preview https://deploy-preview-420--cell-catalog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@meganrm meganrm requested a review from Copilot February 10, 2026 22:32
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

Copilot reviewed 120 out of 120 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@meganrm meganrm requested review from interim17 and rugeli February 10, 2026 22:33
@netlify
Copy link

netlify bot commented Feb 10, 2026

Deploy Preview for cell-catalog ready!

Name Link
🔨 Latest commit 037d21d
🔍 Latest deploy log https://app.netlify.com/projects/cell-catalog/deploys/698cf1f1c44a260008abe516
😎 Deploy Preview https://deploy-preview-420--cell-catalog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@interim17 interim17 left a comment

Choose a reason for hiding this comment

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

Read through this and it seems reasonable, approving. I'm reviewing without running the code because I'm afk. Can circle back to run if desired.

@@ -1,5 +1,6 @@
---
templateKey: gene-name
geneId: "clybl-safe-harbor"
symbol: CLYBL safe harbor
name: citramalyl-CoA lyase safe harbor
protein: dCas9-KRAB
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit(preventative): should we rename this file to "src/pages/gene-names/clybl-safe-harbor.md" to keep filenames slugified and consistent?

Comment on lines +908 to +915
- {
label: "Gene ID",
name: "geneId",
widget: "string",
required: true,
hint: "Unique identifier for this gene entry. If the gene symbol is unique, you can use that as the gene ID. Otherwise, you can create a unique ID (lowercase no spaces) using a combination of the gene symbol and other relevant information (e.g., species, isoform).",
pattern: ["^[a-z0-9-]+$", "Must be lowercase, using only letters, numbers, and hyphens (no spaces)."]
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Good idea to add gene id, love the regex validation and error msg!

Copy link
Collaborator

@rugeli rugeli left a comment

Choose a reason for hiding this comment

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

Built locally and played around with the preview site, gene related display and search&filter work well!

@meganrm meganrm merged commit 26027a4 into main Feb 11, 2026
7 checks passed
@meganrm meganrm deleted the fix/non-unique-genes branch February 11, 2026 21:21
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.

3 participants