Repository navigation
OncoPrint copy number: a cell shows its kind with the most calls - #215
Merged
Merged
Conversation
A merged row or a patient column can hold several copy-number calls. The portal counts them by kind — driver amplification, VUS amplification, driver deep deletion, VUS deep deletion, each apart (DataUtils fillGeneticTrackDatum) — and shows and sorts by the kind with the most calls: its render priorities tie for amplification and deep deletion and are missing for the driver kinds, so every comparison in selectDisplayValue comes down to the count. The cell's copy number is a driver only when that kind is. Ours OR'd every call into the cell, so it kept both glyphs, drew and sorted the amplification, and called the copy number a driver if any call was. In the warehouse 40,845 patient–gene pairs in 28 studies hold both an amplification and a deep deletion; in 563 the deletions outnumber the amplifications. Ours alone, recorded in PORTAL-PARITY: on equal counts the portal takes the first call's kind, in an order we do not have; ours takes a driver before a VUS, then an amplification. A driver call that loses on count still makes the column driver-altered for the gutter's driver %. Tests from a case table of the legacy source, written by an agent that did not see the change (test/oncoprint-cna-calls.test.ts, python/tests/test_cna_calls.py: engine, browser re-sort, drawing, Python), seen failing first; the staircase audit's D8 and D9, marked todo for this, now pass. Three planted bugs caught, and the same three by hand in Python. npm test 4256 pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q3ezTZRWoR5xpTndPddHAe
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A merged row or a patient column can hold several copy-number calls. The portal shows, and sorts by, the kind with the most calls. Ours kept every call: it drew and sorted by the amplification, and called the copy number a driver if any call was a driver.
Case table (legacy: DataUtils.ts
fillGeneticTrackDatum161-243,selectDisplayValue126-158)The portal counts calls in four separate kinds:
amp,amp_rec,homdelandhomdel_rec, where_recmarks a driver.cnaRenderPrioritygives amp and homdel the same priority (0) and has no entry for the_reckinds, so every comparison falls through to the count.Ours, recorded in PORTAL-PARITY:
Warehouse. 40,845 patient–gene pairs in 28 studies hold both an amplification and a deep deletion. In 563 of them the deletions outnumber the amplifications.
Tests and planted bugs
test/oncoprint-cna-calls.test.tsandpython/tests/test_cna_calls.py. They failed before the change.cna-fewest-callscna-driver-and-vus-counted-togethercna-losing-driver-droppednpm test: 4,256 pass. The Python unittest suite passes.🤖 Generated with Claude Code
https://claude.ai/code/session_01Q3ezTZRWoR5xpTndPddHAe