d8900846fdae9183808ccd57864191ee48fca00e chmalee Fri Jun 5 10:07:25 2026 -0700 myVariants: fix item display and HGVS gene-track lookup on GenArk hubs, refs #33808 Co-Authored-By: Claude Opus 4.8 diff --git src/hg/hgTracks/myVariantsTrack.c src/hg/hgTracks/myVariantsTrack.c index ca51d61da38..43689c6f078 100644 --- src/hg/hgTracks/myVariantsTrack.c +++ src/hg/hgTracks/myVariantsTrack.c @@ -539,30 +539,40 @@ dyStringFree(&alterSql); } else { struct dyString *alterSql = sqlDyStringCreate( "ALTER TABLE %s ADD COLUMN %s varchar(255) DEFAULT NULL", tableName, cfName); sqlUpdate(conn, dyStringContents(alterSql)); dyStringFree(&alterSql); } } slPairAdd(&item->customFields, cfName, cloneString(cfValue)); } slReverse(&item->customFields); } +/* Store the assembly's native sequence name so items match the chromName the + * display query uses (GenArk hubs key on the accession, e.g. NC_044602.1, not the + * chr1 display alias). */ +if (isNotEmpty(item->chrom)) + { + char *nativeChrom = hgOfficialChromName(item->db, item->chrom); + if (isNotEmpty(nativeChrom)) + item->chrom = nativeChrom; + } + /* Add item to database. */ myVariantsSaveToDb(conn, item, tableName, 0); /* Refresh the on-disk myVariants ctfile and point mvCtfile_ at it. */ char *ctFile = myVariantsWriteCtFile(userName, database, cart); if (isNotEmpty(ctFile)) { char varName[256]; safef(varName, sizeof varName, MYVARIANTS_FILE_VAR_PREFIX "%s", database); cartSetString(cart, varName, ctFile); freeMem(ctFile); } /* Output new item coordinates for JavaScript to use for navigation */ jsInlineF("// START newItemPos\n");