Fix Open button for bulk dataset - #9
Conversation
| // and `clonotypeKey` for bulk; match either so the viewer-trigger button | ||
| // attaches in both regimes (the scores column is single-keyed on it). | ||
| const found = first?.spec.axesSpec.find( | ||
| (a) => a.name === "pl7.app/vdj/scClonotypeKey" || a.name === "pl7.app/vdj/clonotypeKey", |
There was a problem hiding this comment.
Damn, it was this easy of a fix 😭
There was a problem hiding this comment.
Code Review
This pull request fixes the "Open" button for bulk datasets by updating the axis ID lookup to match both single-cell (scClonotypeKey) and bulk (clonotypeKey) clonotype-key axes. However, the reviewer noted that bulk dataset support remains incomplete because the enrichment columns in scoresTable still rely on findOnScClonotype, which is hardcoded to search only for scClonotypeKey. This will cause enrichment data to be missing for bulk datasets.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Greptile Summary
This PR fixes the "Open" viewer-trigger button for bulk datasets by extending the
clonotypeAxisIdoutput to match bothpl7.app/vdj/scClonotypeKey(single-cell) andpl7.app/vdj/clonotypeKey(bulk) axis names. A changeset entry documents the patch release.clonotypeAxisIdoutput now searches for either clonotype-key axis name so the viewer button correctly attaches to the right column in both single-cell and bulk tables.Confidence Score: 3/5
The Open button fix is correct and targeted, but the same single-cell-only axis name is still used when joining enrichment columns into the bulk table — merging as-is will leave labels, cluster IDs, and CDR-H3 length absent for bulk datasets.
The
clonotypeAxisIdchange correctly unblocks the viewer button for bulk data. However,SC_CLONOTYPE_AXIS/findOnScClonotypestill only searchesscClonotypeKey, so every enrichment join inscoresTablesilently returns nothing for bulk datasets. The fix is half-complete relative to the goal of bulk support.model/src/index.ts — specifically the SC_CLONOTYPE_AXIS constant and findOnScClonotype usages around lines 101–158.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[scoresData PColumns] --> B{cols empty?} B -- yes --> C[return undefined] B -- no --> D[first = cols 0] D --> E{axesSpec.find} E -- scClonotypeKey --> F[single-cell match] E -- clonotypeKey --> G[bulk match NEW] E -- neither --> H[return undefined] F --> I[getAxisId] G --> I I --> J[clonotypeAxisId output] J --> K[Viewer-trigger Open button attaches to this table column] subgraph scoresTable enrichment lookup L[SC_CLONOTYPE_AXIS scClonotypeKey only] --> M[findOnScClonotype] M --> N[label / cdrh3Length / cluster columns] N -- bulk datasets --> O[no match — clonotypeKey not searched] endComments Outside Diff (1)
model/src/index.ts, line 101-109 (link)SC_CLONOTYPE_AXISstill hardcoded toscClonotypeKey— bulk enrichment won't joinfindOnScClonotypepassesSC_CLONOTYPE_AXIS(name"pl7.app/vdj/scClonotypeKey") tofindDataWithCompatibleSpec, so for bulk datasets whose enrichment columns are keyed on"pl7.app/vdj/clonotypeKey", none of the enrichment calls (label,cdrh3Length, cluster columns) inscoresTablewill find a match. The Open button will now attach correctly (fixed in this PR), but the enrichment columns will always be absent in the bulk table.Prompt To Fix With AI
Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "Fix Open button for bulk dataset" | Re-trigger Greptile