All File Changes
v500_preview to v500_preview2 (2026-06-08 to 2026-06-15) v500
Show details
- confs/asia.hg.conf
- lines changed 3, context: html, text, full: html, text
f75ac15d38abafacae7c01950a3c50132c8d85b0 Sun Jun 14 01:11:18 2026 -0700
Installing updated hg.conf files from UCSC servers
- confs/euro.hg.conf
- lines changed 3, context: html, text, full: html, text
f75ac15d38abafacae7c01950a3c50132c8d85b0 Sun Jun 14 01:11:18 2026 -0700
Installing updated hg.conf files from UCSC servers
- confs/rr.hg.conf
- lines changed 3, context: html, text, full: html, text
f75ac15d38abafacae7c01950a3c50132c8d85b0 Sun Jun 14 01:11:18 2026 -0700
Installing updated hg.conf files from UCSC servers
- src/aladdin/aladdin/aladdin.c
- lines changed 5, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/ameme/ameme.c
- lines changed 2, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/cgilib/haplotypes.c
- lines changed 6, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/cirm/gateway/htdocs/sspsygeneTimeline.html
- lines changed 6, context: html, text, full: html, text
69bc90811c9022638796c1ccde4f4a62b65fbd62 Mon Jun 8 11:44:55 2026 -0700
Staging column Q ADGC1_Y4_Q_## 2027Q1 UCLA milestones
- lines changed 11, context: html, text, full: html, text
94100fbd46c1b07ed9ca5021ca7800b4c6f57084 Tue Jun 9 09:31:11 2026 -0700
Aligning Broad/Sing timeline/milestones to Year3 -newer ADGC5
- lines changed 1, context: html, text, full: html, text
d11b7b685cc51f56e055a4d272b6bb22036370b5 Tue Jun 9 10:32:39 2026 -0700
Updating year4_yale spreadsheet link to the 3/24 version (previously 3/16 verision in shared drive)
- lines changed 7, context: html, text, full: html, text
3db72c6a4bcb08954558ff2b77c3701dfa20cf54 Wed Jun 10 14:18:35 2026 -0700
Adding clickable link to newest Scripps/Broad ADGC5 milestones [2026-2027]
- lines changed 6, context: html, text, full: html, text
e1be64ce7ec66239bea5cb253d100fbd32497766 Thu Jun 11 10:26:36 2026 -0700
Adding shortened versions of ADGC5 Scripps/Broad 2026Q2-2027Q1 milestones for better readability.
- lines changed 1, context: html, text, full: html, text
a38ebe7b29e3484f08837ef481d6dc9975aad597 Sun Jun 14 14:02:24 2026 -0700
correct Ktm5b -> Kdm5b gene name, typo in ADGC5's original document
- src/hg/featureBits/featureBits.c
- lines changed 3, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/gbToFaRa/gbToFaRa.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/geneBounds/motifSig/motifSig.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgConvert/hgConvert.c
- lines changed 6, context: html, text, full: html, text
f4acfa770ad691ea4bb4fc08d91d4d9d13b32a7a Fri Jun 12 08:19:18 2026 -0700
hgConvert: avoid SIGSEGV when position missing from cart
doMiddle() read the position with cartString(), which aborts via
hashMustFindVal when a request arrives with a db but no position in the
cart (e.g. a bot hitting hgConvert with no prior browsing). Set up the
cart and database first, then read the position with the assembly's
default position as a fallback, matching the pattern in hgTracks.
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgGene/altSplice.c
- lines changed 2, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgLogin/hgLogin.c
- lines changed 2, context: html, text, full: html, text
a3cc0ea56291f64c876d1d422d432e0234638059 Fri Jun 12 11:34:25 2026 -0700
Suppressing stack dump for bad returnto url in hgLogin, refs #37699
- src/hg/hgTrackUi/hgTrackUi.c
- lines changed 2, context: html, text, full: html, text
7b74ff4b43a459efaadb2dc219026d522252745e Wed Jun 10 07:09:51 2026 -0700
hgTrackUi: avoid SIGSEGV on duplicate track request not in cart
A request for a dup_-prefixed track name with no matching entry in the
cart passed a NULL dup to dupTdbFrom, causing a null dereference and a
stack dump. This is reachable without a login and was tripped by a bot
during the v499 release. errAbort with a clear message instead.
refs #37743
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgTracks/hgTracks.c
- lines changed 36, context: html, text, full: html, text
d0d3ac9414a163b759edf2b028a4b50f4057dbc3 Fri Jun 12 09:02:21 2026 -0700
hgTracks quickLift: use trash-can icon for per-track remove
QA asked for the per-track remove control in a QuickLift group to match the
trash-can icon already used to delete custom tracks, instead of the red 'x',
so the two behave consistently. Factor the trash-can SVG into a shared
printTrashIcon() helper used by both the custom-track delete and the
quickLift remove, and drop the red tint so the quickLift icon matches.
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgTracks/simpleTracks.c
- lines changed 4, context: html, text, full: html, text
bb8470a90643b057df7bbf5d0140a5b2bbf9dddd Fri Jun 12 08:44:37 2026 -0700
quickLift: load genePreds by column name, not a fixed 15-col loader
Lifting a genePred track to another assembly used genePredExtLoad15, a
positional loader that assumes the extended genePred columns. Classic
knownGene-format tables instead carry proteinID and alignID after the ten
core columns, so the loader read proteinID as the integer score field and
aborted with "invalid signed integer" (e.g. "O54946", or "" when empty).
This showed up when lifting from an assembly whose knownGene is the legacy
format, such as mm10 to mm39 or rheMac10.
Add quickLiftGenePreds(), which loads through genePredReader so the actual
set of columns in the table is honored by name (proteinID maps to name2,
score defaults), matching how the tracks load when not lifted. The three
call sites that hardcoded genePredExtLoad15 (hgTracks gene loading and two
hgc detail handlers) now use it. The chain-walking shared with quickLiftSql
is factored into quickLiftLoadChains() and quickLiftChainQueryRange().
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lines changed 14, context: html, text, full: html, text
d08b94fcff0787dd853676e631364945c4986bfe Sun Jun 14 09:21:03 2026 -0700
ading p. notation to mouseover, no redmine yet
- src/hg/hgc/hgc.c
- lines changed 8, context: html, text, full: html, text
bb8470a90643b057df7bbf5d0140a5b2bbf9dddd Fri Jun 12 08:44:37 2026 -0700
quickLift: load genePreds by column name, not a fixed 15-col loader
Lifting a genePred track to another assembly used genePredExtLoad15, a
positional loader that assumes the extended genePred columns. Classic
knownGene-format tables instead carry proteinID and alignID after the ten
core columns, so the loader read proteinID as the integer score field and
aborted with "invalid signed integer" (e.g. "O54946", or "" when empty).
This showed up when lifting from an assembly whose knownGene is the legacy
format, such as mm10 to mm39 or rheMac10.
Add quickLiftGenePreds(), which loads through genePredReader so the actual
set of columns in the table is honored by name (proteinID maps to name2,
score defaults), matching how the tracks load when not lifted. The three
call sites that hardcoded genePredExtLoad15 (hgTracks gene loading and two
hgc detail handlers) now use it. The chain-walking shared with quickLiftSql
is factored into quickLiftLoadChains() and quickLiftChainQueryRange().
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lines changed 11, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgc/mafClick.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/hgcentralTidy/hgcentralTidy.c
- lines changed 27, context: html, text, full: html, text
b628620dca257848dc6e9b18ea8e09585ecaf216 Tue Jun 9 00:07:17 2026 -0700
hgcentralTidy also needs the 64 bit sessionDb and userDb IDs refs #33554
- src/hg/htdocs/liftRequest.html
- lines changed 3, context: html, text, full: html, text
61272f4594c12ee485b70df7be66fa282e8b378f Wed Jun 10 07:27:54 2026 -0700
fixup issues from claude code review refs #31811
- src/hg/htdocs/store.html
- lines changed 2, context: html, text, full: html, text
2a2cef743a8bf6b5b38332adbcdce72d16c5da37 Sun Jun 14 17:41:42 2026 -0700
updating Linux versions tested for GBiC, refs #37723
- src/hg/htdocs/style/HGStyle.css
- lines changed 1, context: html, text, full: html, text
d0d3ac9414a163b759edf2b028a4b50f4057dbc3 Fri Jun 12 09:02:21 2026 -0700
hgTracks quickLift: use trash-can icon for per-track remove
QA asked for the per-track remove control in a QuickLift group to match the
trash-can icon already used to delete custom tracks, instead of the red 'x',
so the two behave consistently. Factor the trash-can SVG into a shared
printTrashIcon() helper used by both the custom-track delete and the
quickLift remove, and drop the red tint so the quickLift icon matches.
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/style/facetedComposite.css
- lines changed 21, context: html, text, full: html, text
6f41c6a196697c175a2cf5abcbd247ba24a2fe8e Mon Jun 15 09:22:37 2026 -0700
Loading spinner for faceted composites (the page must first do the ajax metadata
fetch, then process the result with dataTables). refs #36320
- src/hg/hubApi/tests/findGenome.README.txt
- lines changed 159, context: html, text, full: html, text
eb8aca4b2f05a4fac87c19f0015c0fdc830a2b09 Mon Jun 15 09:49:28 2026 -0700
corresponding information about the use of the findGenome.sh script
- src/hg/hubApi/tests/findGenome.sh
- lines changed 336, context: html, text, full: html, text
847b1a96e008aecae23d9f20e250c22efd10dbe1 Mon Jun 15 09:45:56 2026 -0700
useful script to test performance and accuracy of the "findGenome" functions, can be used before and after changes to verify functionality remains correct.
- src/hg/inc/quickLift.h
- lines changed 5, context: html, text, full: html, text
bb8470a90643b057df7bbf5d0140a5b2bbf9dddd Fri Jun 12 08:44:37 2026 -0700
quickLift: load genePreds by column name, not a fixed 15-col loader
Lifting a genePred track to another assembly used genePredExtLoad15, a
positional loader that assumes the extended genePred columns. Classic
knownGene-format tables instead carry proteinID and alignID after the ten
core columns, so the loader read proteinID as the integer score field and
aborted with "invalid signed integer" (e.g. "O54946", or "" when empty).
This showed up when lifting from an assembly whose knownGene is the legacy
format, such as mm10 to mm39 or rheMac10.
Add quickLiftGenePreds(), which loads through genePredReader so the actual
set of columns in the table is honored by name (proteinID maps to name2,
score defaults), matching how the tracks load when not lifted. The three
call sites that hardcoded genePredExtLoad15 (hgTracks gene loading and two
hgc detail handlers) now use it. The chain-walking shared with quickLiftSql
is factored into quickLiftLoadChains() and quickLiftChainQueryRange().
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/js/facetedComposite.js
- lines changed 16, context: html, text, full: html, text
6f41c6a196697c175a2cf5abcbd247ba24a2fe8e Mon Jun 15 09:22:37 2026 -0700
Loading spinner for faceted composites (the page must first do the ajax metadata
fetch, then process the result with dataTables). refs #36320
- src/hg/js/hgTracks.js
- lines changed 2, context: html, text, full: html, text
0f858fe7a83e59b83d3d034829ec6f9b09b20787 Tue Jun 9 19:34:44 2026 -0700
hgTracks.js was looking for a myVariants form even when one didn't exist.
This puts a guard on it. refs #33808
- src/hg/lib/assemblyList.sql
- lines changed 6, context: html, text, full: html, text
6c8386587f9dc2eb3a34db1018d8fd52361c2b4d Fri Jun 12 13:48:55 2026 -0700
better indexes on assemblyList table to improve search performance
- src/hg/lib/bedDetail.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/lib/cart.c
- lines changed 5, context: html, text, full: html, text
ca99897a163f545419d58c22e594d9608474cdb7 Tue Jun 9 19:10:23 2026 -0700
Moving sessionDb load after captcha check so bot traffic doesn't fill up sessionDb, refs #37739
- lines changed 3, context: html, text, full: html, text
325cbfe133124a17017edda28f0789217e86c61f Wed Jun 10 06:17:25 2026 -0700
just a few comments
- lines changed 15, context: html, text, full: html, text
6002bdaa995565598fecea8123804878062db7b1 Wed Jun 10 15:16:05 2026 -0700
Do sessionDb and userDb load after checking captcha so that invalid bot
traffic doesn't run up the id counts, refs #37739
- lines changed 2, context: html, text, full: html, text
596fc9e27b7266b9692723e059731fa8ff2bbd11 Fri Jun 12 11:24:40 2026 -0700
do not need the central db connection until after the captcha verification - this appears to eliminate all SQL connection for failed robot contacts
- src/hg/lib/customFactory.c
- lines changed 2, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/lib/hdb.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/lib/jksql.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/lib/qaSeq.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/lib/quickLift.c
- lines changed 77, context: html, text, full: html, text
bb8470a90643b057df7bbf5d0140a5b2bbf9dddd Fri Jun 12 08:44:37 2026 -0700
quickLift: load genePreds by column name, not a fixed 15-col loader
Lifting a genePred track to another assembly used genePredExtLoad15, a
positional loader that assumes the extended genePred columns. Classic
knownGene-format tables instead carry proteinID and alignID after the ten
core columns, so the loader read proteinID as the integer score field and
aborted with "invalid signed integer" (e.g. "O54946", or "" when empty).
This showed up when lifting from an assembly whose knownGene is the legacy
format, such as mm10 to mm39 or rheMac10.
Add quickLiftGenePreds(), which loads through genePredReader so the actual
set of columns in the table is honored by name (proteinID maps to name2,
score defaults), matching how the tracks load when not lifted. The three
call sites that hardcoded genePredExtLoad15 (hgTracks gene loading and two
hgc detail handlers) now use it. The chain-walking shared with quickLiftSql
is factored into quickLiftLoadChains() and quickLiftChainQueryRange().
refs #37535
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/doc/hg38/gnomad.txt
- lines changed 41, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- lines changed 57, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/doc/hg38/lrSv.txt
- lines changed 66, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 30, context: html, text, full: html, text
cd4cf386f217a028a89e351a736e1310f0d2a5d1 Wed Jun 10 06:04:14 2026 -0700
lrSv: document the lrSvAll merge build in the makeDoc
Add a section explaining how the combined lrSvAll track is built: the
databases.tsv config that lists the source bigBeds, how to run
lrSvMergeAll.py, that it auto-generates lrSvAll.ra, and that the HPRC row
uses the v2.1 file while the Jasmine callset is excluded, refs #36258
- lines changed 52, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/doc/hg38/masterMindGame.txt
- lines changed 26, context: html, text, full: html, text
6701d67860c32b8886b59587c9e32a4f86a8a96d Tue Jun 9 17:13:31 2026 -0700
masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38
Demonstrates the lolly track type by mapping a Mastermind board onto it:
score field is the board row, genomic position is the peg column, itemRgb is
the peg color, and the size field separates the large code pegs from the
small feedback key pegs. Guesses come from a consistent-candidate solver so
the black/white feedback is real. Included alpha-only.
- lines changed 26, context: html, text, full: html, text
736e788b252ccc94a432bef54ac83321848560b1 Wed Jun 10 06:57:07 2026 -0700
Revert "masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38"
This reverts commit 6701d67860c32b8886b59587c9e32a4f86a8a96d.
- src/hg/makeDb/doc/hg38/varFreqs.txt
- lines changed 45, context: html, text, full: html, text
af9a5b388259e680dd34bc47b2cad4ff6e3d162f Sat Jun 13 03:00:51 2026 -0700
varFreqs: pre-release polish from comprehensive sanity check.
* Sync the new combined-track shortLabels into the four description pages:
"Affected/Case Individuals" -> "Disease cohorts" and "Population + Unaffected"
-> "Population reference" (matches the trackdb shortLabels users now see).
* Add a paragraph in the supertrack Methods section describing the pooled
affectedAF / backgroundAF formulation (sum AC / sum AN) and the default_an
configuration that handles AF-only cohorts.
* Update the in-track Methods paragraphs on varFreqsAffected.html and
varFreqsBackground.html: replace "summed/maximized" with "pooled".
* Fix supertrack table downloadability column to match the underscore-prefix
convention: allofus "Yes" -> "No" (description page already says license
restricted); gregor "No" -> "Yes" (description page says VCF is on our
download server, and the gbdb path is not underscore-prefixed).
* Add a 2026-06-12 makedoc section documenting the pooled-AF rebuild, the
default_an mechanism, the new affectedAN/backgroundAN columns, the
before/after spot-check at APOE rs429358, and the build commands.
refs #36642
- src/hg/makeDb/doc/hg38/varaico.txt
- lines changed 15, context: html, text, full: html, text
3030fb4a9c489593d8286b7bb469ebda3c575ad6 Wed Jun 10 12:56:44 2026 -0700
Documenting the release 2 archive step in the Varaico makedoc and fixing a hardcoded hg38 path in the description page example, refs #37658
- src/hg/makeDb/doc/hs1/lrSv.txt
- lines changed 48, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 12, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/doc/mammalsAsmHub/mammals.orderList.tsv
- lines changed 4, context: html, text, full: html, text
b0e65cd4657431971b78d34a7451ec55eae082ed Tue Jun 9 16:22:13 2026 -0700
adding a couple per user request refs #29545
- src/hg/makeDb/gnomad/combine.v4.1.1.awk
- lines changed 117, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/gnomad/gnomadVcfBedToBigBed
- lines changed 124, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/gnomad/missenseMetrics.v4.1.1.as
- lines changed 24, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/gnomad/pliMetrics.v4.1.1.as
- lines changed 25, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/hgClonePos/hgClonePos.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/hgGoldGapGl/hgGoldGapGl.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/outside/hgSoftPromoter/hgSoftPromoter.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/outside/sanger22gtf/sanger22gtf.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/scripts/gnomadV4.1.1/buildGnomadV4.1.1BigBed.sh
- lines changed 233, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/scripts/gnomadV4.1.1/exomes.as
- lines changed 35, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/scripts/gnomadV4.1.1/genomes.as
- lines changed 35, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/scripts/gnomadV4.1.1/v4.1.1.vcfToBed.exomes.fieldList
- lines changed 64, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/scripts/gnomadV4.1.1/v4.1.1.vcfToBed.genomes.fieldList
- lines changed 68, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/scripts/lrSv/databases.tsv
- lines changed 1, context: html, text, full: html, text
644eae7700eb62343b142a44258ee91a944f4853 Tue Jun 9 15:17:03 2026 -0700
lrSv: rebuild merged lrSvAll track with HPRC v2.1 data
Repoint the HPRC entry in databases.tsv from the removed v2.0 hprc2.bb to
the new hprc2v21.bb and re-run the merge. The combined track now holds
2,359,011 variants (was 2,694,871); the drop is the smaller v2.1 HPRC
callset. Regenerated lrSvAll.ra and updated the overview table on the
container page. The HPRC Jasmine track is intentionally not part of the
merge, refs #36258
- lines changed 2, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSv1kgOntVcfToBed.py
- lines changed 9, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvAou1kCsvToBed.py
- lines changed 26, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvAprVcfToBed.py
- lines changed 9, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvChirmade101TsvToBed.py
- lines changed 23, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvColorsDbSvVcfToBed.py
- lines changed 10, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvCommon.py
- lines changed 35, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvCpc1VcfToBed.py
- lines changed 10, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvDecode.as
- lines changed 1, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvDecodeVcfToBed.py
- lines changed 32, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvGustafsonVcfToBed.py
- lines changed 22, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvHprc2Ro.as
- lines changed 21, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvHprc2RoVcfToBed.py
- lines changed 217, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 28, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/lrSv/lrSvMergeAll.py
- lines changed 1, context: html, text, full: html, text
ae2a62a18bf9750819f17f8f2237b1f7b1b9911f Sat Jun 13 10:48:41 2026 -0700
lrSv: comment out kwanhoSv and remove all searchIndex settings. refs #36258
Per ticket: hold the preliminary/unpublished Kim PD brain track (kwanhoSv) off
dev/alpha until publication (commented out; bigBed/.as/converter/makeDoc kept),
and remove the searchIndex name settings that were added by mistake. searchIndex
removed from colorsDbSv and lrSv1kLin in lrSv.ra, from lrSvAll.ra, and from the
lrSvMergeAll.py generator so future merges do not re-add it. The pending lrSvAll
rebuild will drop KimPD from databases.tsv / the merged track.
- lines changed 30, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- lines changed 3, context: html, text, full: html, text
02782ec9c99ef7f54699068afbc902e7dedccb93 Sun Jun 14 00:34:26 2026 -0700
lrSv: format the lrSvAll merged-track mouseOver as multi-line HTML. refs #36258
Replace the inline mouseOver with bold-labeled lines (Var / SV len / Ins len /
Sources / AF range / AC), in both the generated lrSvAll.ra and the
lrSvMergeAll.py generator that writes it, so a future merge regeneration
reproduces the same format.
- src/hg/makeDb/scripts/lrSv/lrSvVcfToBed.py
- lines changed 11, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- src/hg/makeDb/scripts/masterMindGame/masterMindGame.as
- lines changed 15, context: html, text, full: html, text
6701d67860c32b8886b59587c9e32a4f86a8a96d Tue Jun 9 17:13:31 2026 -0700
masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38
Demonstrates the lolly track type by mapping a Mastermind board onto it:
score field is the board row, genomic position is the peg column, itemRgb is
the peg color, and the size field separates the large code pegs from the
small feedback key pegs. Guesses come from a consistent-candidate solver so
the black/white feedback is real. Included alpha-only.
- lines changed 15, context: html, text, full: html, text
736e788b252ccc94a432bef54ac83321848560b1 Wed Jun 10 06:57:07 2026 -0700
Revert "masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38"
This reverts commit 6701d67860c32b8886b59587c9e32a4f86a8a96d.
- src/hg/makeDb/scripts/masterMindGame/masterMindGame.py
- lines changed 119, context: html, text, full: html, text
6701d67860c32b8886b59587c9e32a4f86a8a96d Tue Jun 9 17:13:31 2026 -0700
masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38
Demonstrates the lolly track type by mapping a Mastermind board onto it:
score field is the board row, genomic position is the peg column, itemRgb is
the peg color, and the size field separates the large code pegs from the
small feedback key pegs. Guesses come from a consistent-candidate solver so
the black/white feedback is real. Included alpha-only.
- lines changed 119, context: html, text, full: html, text
736e788b252ccc94a432bef54ac83321848560b1 Wed Jun 10 06:57:07 2026 -0700
Revert "masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38"
This reverts commit 6701d67860c32b8886b59587c9e32a4f86a8a96d.
- src/hg/makeDb/scripts/varFreqs/databases.tsv
- lines changed 6, context: html, text, full: html, text
6b285a53b036b309e3c7a9b61d3741731088a172 Fri Jun 12 02:35:01 2026 -0700
varFreqs: switch affectedAF/backgroundAF from max-across-cohorts to pooled
sum(AC)/sum(AN) so the rate matches the carrier count scale.
Per-arm AN is derived as round(AC/AF) when both are reported. An optional
"default_an" column was added to databases.tsv so AF-only cohorts (ABraOM,
ALFA) can synthesize a denominator from their cohort size; without it
those cohorts had been silently dropped from the pooled rate.
New affectedAN and backgroundAN columns expose the pool denominator. The
mouseOver now reads "Affected AC/AN: 33238 / 213153" so the ratio is
visible. Per-arm cohorts that ship only AC and no default_an (MGRB,
GREGoR AC_AFFECTED/UNAFFECTED/UNKNOWN, AllOfUs per-population) are still
listed in affectedCohorts/backgroundSources but contribute 0 to the
pool, preserving the invariant pool_AF <= 1.
The build pipeline is unchanged: re-run vcfToBigBed.py --split-affected
against the existing merged.annotated.vcf.gz. refs #36642
- src/hg/makeDb/scripts/varFreqs/vcfToBigBed.py
- lines changed 115, context: html, text, full: html, text
6b285a53b036b309e3c7a9b61d3741731088a172 Fri Jun 12 02:35:01 2026 -0700
varFreqs: switch affectedAF/backgroundAF from max-across-cohorts to pooled
sum(AC)/sum(AN) so the rate matches the carrier count scale.
Per-arm AN is derived as round(AC/AF) when both are reported. An optional
"default_an" column was added to databases.tsv so AF-only cohorts (ABraOM,
ALFA) can synthesize a denominator from their cohort size; without it
those cohorts had been silently dropped from the pooled rate.
New affectedAN and backgroundAN columns expose the pool denominator. The
mouseOver now reads "Affected AC/AN: 33238 / 213153" so the ratio is
visible. Per-arm cohorts that ship only AC and no default_an (MGRB,
GREGoR AC_AFFECTED/UNAFFECTED/UNKNOWN, AllOfUs per-population) are still
listed in affectedCohorts/backgroundSources but contribute 0 to the
pool, preserving the invariant pool_AF <= 1.
The build pipeline is unchanged: re-run vcfToBigBed.py --split-affected
against the existing merged.annotated.vcf.gz. refs #36642
- src/hg/makeDb/trackDb/human/aou1kSv.html
- lines changed 3, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/chirmade101Sv.html
- lines changed 3, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/decodeSv.html
- lines changed 3, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/gustafsonSv.html
- lines changed 3, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/hg38/gnomad.constraint.alpha.ra
- lines changed 221, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/gnomad.ra
- lines changed 108, context: html, text, full: html, text
ecc2331000637cbc2523653642d926935b5b83fc Sat Jun 13 00:42:03 2026 -0700
gnomAD v4.1.1 bigBed variant track for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
574399b4a7d8fc75c1745fa83564f547ddcb9e8c Sat Jun 13 00:43:54 2026 -0700
gnomAD v4.1.1 gene constraint tracks for hg38, refs #37351
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- lines changed 3, context: html, text, full: html, text
c7e37754a34c3a9406c4546225253d49b2cdf82f Sat Jun 13 01:00:41 2026 -0700
Stage gnomad v4.1.1 bigBed as release alpha, refs #37351
- src/hg/makeDb/trackDb/human/hg38/masterMindGame.ra
- lines changed 17, context: html, text, full: html, text
6701d67860c32b8886b59587c9e32a4f86a8a96d Tue Jun 9 17:13:31 2026 -0700
masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38
Demonstrates the lolly track type by mapping a Mastermind board onto it:
score field is the board row, genomic position is the peg column, itemRgb is
the peg color, and the size field separates the large code pegs from the
small feedback key pegs. Guesses come from a consistent-candidate solver so
the black/white feedback is real. Included alpha-only.
- lines changed 17, context: html, text, full: html, text
736e788b252ccc94a432bef54ac83321848560b1 Wed Jun 10 06:57:07 2026 -0700
Revert "masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38"
This reverts commit 6701d67860c32b8886b59587c9e32a4f86a8a96d.
- src/hg/makeDb/trackDb/human/hg38/trackDb.ra
- lines changed 2, context: html, text, full: html, text
6701d67860c32b8886b59587c9e32a4f86a8a96d Tue Jun 9 17:13:31 2026 -0700
masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38
Demonstrates the lolly track type by mapping a Mastermind board onto it:
score field is the board row, genomic position is the peg column, itemRgb is
the peg color, and the size field separates the large code pegs from the
small feedback key pegs. Guesses come from a consistent-candidate solver so
the black/white feedback is real. Included alpha-only.
- lines changed 2, context: html, text, full: html, text
736e788b252ccc94a432bef54ac83321848560b1 Wed Jun 10 06:57:07 2026 -0700
Revert "masterMindGame: demo bigLolly track rendering a solved game of Mastermind on hg38"
This reverts commit 6701d67860c32b8886b59587c9e32a4f86a8a96d.
- lines changed 1, context: html, text, full: html, text
29b2ebed5a2d7069b1abe68a3abcb44565b4dd90 Thu Jun 11 16:47:58 2026 -0700
Releasing ENCODE4 Regulation tracks to the RR. Set the supertrack to hide by default and updated the pennantIcon to only New red. refs #34923
- src/hg/makeDb/trackDb/human/hg38/wgEncodeReg4.ra
- lines changed 2, context: html, text, full: html, text
29b2ebed5a2d7069b1abe68a3abcb44565b4dd90 Thu Jun 11 16:47:58 2026 -0700
Releasing ENCODE4 Regulation tracks to the RR. Set the supertrack to hide by default and updated the pennantIcon to only New red. refs #34923
- src/hg/makeDb/trackDb/human/hprc2Sv.html
- lines changed 118, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- src/hg/makeDb/trackDb/human/hprc2v21Sv.html
- lines changed 108, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 6, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/lrSv.html
- lines changed 8, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 3, context: html, text, full: html, text
644eae7700eb62343b142a44258ee91a944f4853 Tue Jun 9 15:17:03 2026 -0700
lrSv: rebuild merged lrSvAll track with HPRC v2.1 data
Repoint the HPRC entry in databases.tsv from the removed v2.0 hprc2.bb to
the new hprc2v21.bb and re-run the merge. The combined track now holds
2,359,011 variants (was 2,694,871); the drop is the smaller v2.1 HPRC
callset. Regenerated lrSvAll.ra and updated the overview table on the
container page. The HPRC Jasmine track is intentionally not part of the
merge, refs #36258
- lines changed 19, context: html, text, full: html, text
c7e0e71c357fa4630ac2ee1fb0520a32d408a1e2 Sat Jun 13 09:33:29 2026 -0700
lrSv QA round 2: alpha-gate unpublished subtracks, trim labels, fill dataset blurbs. refs #36258
Add "release alpha" to hprc2JasmineSv and lrSv1kLin so the two unpublished /
do-not-release-yet subtracks stay on dev/alpha and do not graduate with the
supertrack (both are already excluded from the lrSvAll merge via databases.tsv).
Trim three longLabels to the 85-char limit: hprc2v21Sv, hprc2JasmineSv, and
lrSv1kLin.
lrSv.html: add the missing "Available Datasets" prose blurbs for Arab APR and
CPC so all 15 datasets have a paragraph (was table-row-only).
- lines changed 36, context: html, text, full: html, text
2e0addd016cfcbf61485b90d8980a8d75be622c2 Sun Jun 14 00:10:06 2026 -0700
lrSv: sync description-page counts to the deduped data; drop Kim PD from the supertrack page. refs #36258
After the QA dedup, update the SV counts cited on the description pages to the
unique (post-dedup) totals for the tracks served, while leaving the upstream
release/paper counts in the Methods sections:
decodeSv 133,886 -> 119,453 displayed
gustafsonSv 113,696 -> 113,159 displayed
chirmade101 87,183 -> 87,068 displayed
aou1k 541,049 -> 540,155 displayed
hprc2v21Sv 596,063 -> 549,649 (hg38) and 608,435 -> 541,176 (hs1), throughout
(no upstream publication), incl. recomputed nested-snarl counts
lrSv.html: update the Available Datasets table count cells to match, set the
lrSvAll merged cell to 2,317,508 (post Kim PD removal), and remove the Kim PD
Brain row, blurb and reference from the supertrack page (the track is staged on
dev/alpha only, kept out of the merge and the description, and is not released).
- src/hg/makeDb/trackDb/human/lrSv.ra
- lines changed 8, context: html, text, full: html, text
ef61e73fc416622d8557ec2439df2344a1cc80c3 Tue Jun 9 15:10:01 2026 -0700
lrSv: replace HPRC v2.0 pangenome SV track with v2.1 (hprc2v21Sv)
Drop the v2.0 wave-decomposed hprc2Sv track and add hprc2v21Sv built from
the HPRC v2.1 minigraph-cactus raw vg deconstruct VCFs (gref95.ro), on both
hg38 (GRCh38 path, 596,063 SVs) and hs1 (T2T-CHM13 path, 608,435 SVs). The
v2.1 files lack per-allele TYPE/LEN, so the new converter classifies INS/DEL
by parsimony-trimming REF/ALT and the net length change. The v2.0 build
recipe, converter and schema are kept but commented out in the makeDocs in
case wave-decomposed VCFs are released again, refs #36258
- lines changed 5, context: html, text, full: html, text
c7e0e71c357fa4630ac2ee1fb0520a32d408a1e2 Sat Jun 13 09:33:29 2026 -0700
lrSv QA round 2: alpha-gate unpublished subtracks, trim labels, fill dataset blurbs. refs #36258
Add "release alpha" to hprc2JasmineSv and lrSv1kLin so the two unpublished /
do-not-release-yet subtracks stay on dev/alpha and do not graduate with the
supertrack (both are already excluded from the lrSvAll merge via databases.tsv).
Trim three longLabels to the 85-char limit: hprc2v21Sv, hprc2JasmineSv, and
lrSv1kLin.
lrSv.html: add the missing "Available Datasets" prose blurbs for Arab APR and
CPC so all 15 datasets have a paragraph (was table-row-only).
- lines changed 2, context: html, text, full: html, text
6ec6c29454ddc661b78710d1bb6de040cafaa66d Sat Jun 13 09:39:33 2026 -0700
lrSv: remove premature per-track release tags that broke tdbQuery -strict. refs #36258
The hprc2JasmineSv and lrSv1kLin stanzas carried "release alpha", but the file
is pulled in via "include lrSv.ra alpha", and tdbQuery -check -strict rejects a
stanza-level release tag when the include line already supplies a release
override ("Release tag in stanza with include release override"). The
include-level alpha already keeps the entire supertrack on dev/alpha, so these
two unpublished subtracks do not graduate regardless. Per-track release tags
for the do-not-release subtracks should be added when the include line is later
changed past alpha.
- lines changed 39, context: html, text, full: html, text
af23c5696568feae4289008ed5606a7055def77b Sat Jun 13 09:43:01 2026 -0700
lrSv: comment out the hprc2JasmineSv stanza (test callset, not for release). refs #36258
The Jasmine-merged HPRC v2 multi-caller set is a comparison/test callset that
is not slated for release, so its trackDb stanza is commented out rather than
shipped on dev/alpha. The bigBed, autoSql, converter and makeDoc are retained
for reference. The lrSv1kLin stanza is left in place pending confirmation.
- lines changed 49, context: html, text, full: html, text
ae2a62a18bf9750819f17f8f2237b1f7b1b9911f Sat Jun 13 10:48:41 2026 -0700
lrSv: comment out kwanhoSv and remove all searchIndex settings. refs #36258
Per ticket: hold the preliminary/unpublished Kim PD brain track (kwanhoSv) off
dev/alpha until publication (commented out; bigBed/.as/converter/makeDoc kept),
and remove the searchIndex name settings that were added by mistake. searchIndex
removed from colorsDbSv and lrSv1kLin in lrSv.ra, from lrSvAll.ra, and from the
lrSvMergeAll.py generator so future merges do not re-add it. The pending lrSvAll
rebuild will drop KimPD from databases.tsv / the merged track.
- lines changed 15, context: html, text, full: html, text
f09028646c6429d692a80cc38d214e805724e7fa Sat Jun 13 10:51:38 2026 -0700
lrSv: default all subtracks to hide except lrSvAll (pack), add lrSvAll desc page. refs #36258
Set the 15 released lrSv subtracks to "visibility hide" so the supertrack opens
with only the merged overview visible; lrSvAll stays "visibility pack". Add the
missing lrSvAll.html description page (Description, Display Conventions, Methods,
Data Access, Credits) describing the position-merged combined track.
- lines changed 10, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- lines changed 55, context: html, text, full: html, text
4a1651999514d41b9ed33cbd8ee7ceee08df21eb Sat Jun 13 23:28:59 2026 -0700
removing kim
- src/hg/makeDb/trackDb/human/lrSvAll.html
- lines changed 81, context: html, text, full: html, text
f09028646c6429d692a80cc38d214e805724e7fa Sat Jun 13 10:51:38 2026 -0700
lrSv: default all subtracks to hide except lrSvAll (pack), add lrSvAll desc page. refs #36258
Set the 15 released lrSv subtracks to "visibility hide" so the supertrack opens
with only the merged overview visible; lrSvAll stays "visibility pack". Add the
missing lrSvAll.html description page (Description, Display Conventions, Methods,
Data Access, Credits) describing the position-merged combined track.
- src/hg/makeDb/trackDb/human/lrSvAll.ra
- lines changed 1, context: html, text, full: html, text
644eae7700eb62343b142a44258ee91a944f4853 Tue Jun 9 15:17:03 2026 -0700
lrSv: rebuild merged lrSvAll track with HPRC v2.1 data
Repoint the HPRC entry in databases.tsv from the removed v2.0 hprc2.bb to
the new hprc2v21.bb and re-run the merge. The combined track now holds
2,359,011 variants (was 2,694,871); the drop is the smaller v2.1 HPRC
callset. Regenerated lrSvAll.ra and updated the overview table on the
container page. The HPRC Jasmine track is intentionally not part of the
merge, refs #36258
- lines changed 1, context: html, text, full: html, text
ae2a62a18bf9750819f17f8f2237b1f7b1b9911f Sat Jun 13 10:48:41 2026 -0700
lrSv: comment out kwanhoSv and remove all searchIndex settings. refs #36258
Per ticket: hold the preliminary/unpublished Kim PD brain track (kwanhoSv) off
dev/alpha until publication (commented out; bigBed/.as/converter/makeDoc kept),
and remove the searchIndex name settings that were added by mistake. searchIndex
removed from colorsDbSv and lrSv1kLin in lrSv.ra, from lrSvAll.ra, and from the
lrSvMergeAll.py generator so future merges do not re-add it. The pending lrSvAll
rebuild will drop KimPD from databases.tsv / the merged track.
- lines changed 3, context: html, text, full: html, text
9eb4e0937782954c19d664e7d384d210bffb3b25 Sat Jun 13 16:01:42 2026 -0700
lrSv: QA fixes from Lou's review - dedup, shared color palette, deCODE/AoU cleanup
- Drop kwanhoSv (KimPD) from the lrSvAll merge in databases.tsv; it stays on
dev/alpha until published, which also removes its >5 Mb breakend artifacts
from the merged track.
- Remove searchIndex from colorsDbSv, lrSv1kLin and lrSvAll (and the merge
generator): the bigBeds were built without a name index, so by-name search
never worked.
- Single shared per-SV-type color palette in lrSvCommon.py (svColor), used by
every converter and the merge. CPX is purple everywhere (was orange in
1kgOnt/apr/cpc1, colliding with INV's orange), colorsDb DEL is 200,0,0 like
the rest, and TRA/INSDEL get their own colors.
- deCODE: drop byte-identical duplicate rows and blank the fake AC=50
placeholder (AC is now a string field, omitted from the name and mouseOver).
- AoU: numeric-entity-encode non-ASCII gene/trait text and drop duplicate rows.
- gustafson, chirmade101, hprc2v21: drop byte-identical duplicate rows.
- lrSvMergeAll.py: skip byte-identical duplicate source rows instead of summing
their allele counts, which had inflated the per-database and total AC.
refs #36258
- lines changed 1, context: html, text, full: html, text
02782ec9c99ef7f54699068afbc902e7dedccb93 Sun Jun 14 00:34:26 2026 -0700
lrSv: format the lrSvAll merged-track mouseOver as multi-line HTML. refs #36258
Replace the inline mouseOver with bold-labeled lines (Var / SV len / Ins len /
Sources / AF range / AC), in both the generated lrSvAll.ra and the
lrSvMergeAll.py generator that writes it, so a future merge regeneration
reproduces the same format.
- src/hg/makeDb/trackDb/human/trackDb.ra
- lines changed 36, context: html, text, full: html, text
4f34ad1308512a42b91b2a164e8c73d40dc18135 Wed Jun 10 12:03:40 2026 -0700
Staging the Varaico release 3 tracks, removing test tracks, and adding Updated pennantIcon to the superTrack and Varaico tracks, refs #37658
- lines changed 1, context: html, text, full: html, text
fa29b7e72d8fb2a9519bf14f1122feccfd79eca2 Thu Jun 11 04:46:21 2026 -0700
Retire mastermind track by gating it to alpha and noting retirement on the varsInPubs description page. refs #37753
The Genomenon Mastermind track no longer updates and the provider asked us to
take it down. Added release alpha to the mastermind subtrack so it stays on
dev/sandbox but is removed from beta and public for both hg38 and hg19, and
updated the varsInPubs.html bullet to note the track has been retired.
- lines changed 1, context: html, text, full: html, text
e211864299ad6f9570a6e28a1d4cc9044d85ec26 Sun Jun 14 00:13:00 2026 -0700
Silent release of the variant frequencies track, refs #36642
- src/hg/makeDb/trackDb/human/varFreqs.html
- lines changed 3, context: html, text, full: html, text
f0d9b9d7a69a43e62c52d80b18ef06ba1bf335ed Fri Jun 12 02:40:53 2026 -0700
varFreqs: add "tableBrowser off" to every subtrack whose bigDataUrl points
into an underscore-prefixed /gbdb dir (the rsync-exclusion convention for
non-redistributable cohorts). Covers varFreqsAffected, varFreqsBackground,
varFreqsArray, and genomeindia which were missing it.
Also fix the "Downloadable from UCSC" column on the supertrack page for
TOPMed, FinnGen and GenomeIndia (table said "Yes" but their gbdb paths
are underscore-prefixed, so they aren't actually downloadable from us).
refs #36642
- lines changed 45, context: html, text, full: html, text
af9a5b388259e680dd34bc47b2cad4ff6e3d162f Sat Jun 13 03:00:51 2026 -0700
varFreqs: pre-release polish from comprehensive sanity check.
* Sync the new combined-track shortLabels into the four description pages:
"Affected/Case Individuals" -> "Disease cohorts" and "Population + Unaffected"
-> "Population reference" (matches the trackdb shortLabels users now see).
* Add a paragraph in the supertrack Methods section describing the pooled
affectedAF / backgroundAF formulation (sum AC / sum AN) and the default_an
configuration that handles AF-only cohorts.
* Update the in-track Methods paragraphs on varFreqsAffected.html and
varFreqsBackground.html: replace "summed/maximized" with "pooled".
* Fix supertrack table downloadability column to match the underscore-prefix
convention: allofus "Yes" -> "No" (description page already says license
restricted); gregor "No" -> "Yes" (description page says VCF is on our
download server, and the gbdb path is not underscore-prefixed).
* Add a 2026-06-12 makedoc section documenting the pooled-AF rebuild, the
default_an mechanism, the new affectedAN/backgroundAN columns, the
before/after spot-check at APOE rs429358, and the build commands.
refs #36642
- lines changed 111, context: html, text, full: html, text
d4951d6de0335238ce124b3fb9703d82d329b1ab Sat Jun 13 06:35:27 2026 -0700
html updates to varFreqs, refs #36642
- src/hg/makeDb/trackDb/human/varFreqs.ra
- lines changed 2, context: html, text, full: html, text
dce21104b16337c132dea98bc763d74313381101 Fri Jun 12 01:05:02 2026 -0700
varFreqs: rename combined-track shortLabels per the conversation with Max
on the ticket. varFreqsAffected -> "Disease cohorts" (was "Affected/Case
Individuals"); varFreqsBackground -> "Population reference" (was
"Population + Unaffected"). longLabels unchanged. refs #36642
- lines changed 14, context: html, text, full: html, text
6b285a53b036b309e3c7a9b61d3741731088a172 Fri Jun 12 02:35:01 2026 -0700
varFreqs: switch affectedAF/backgroundAF from max-across-cohorts to pooled
sum(AC)/sum(AN) so the rate matches the carrier count scale.
Per-arm AN is derived as round(AC/AF) when both are reported. An optional
"default_an" column was added to databases.tsv so AF-only cohorts (ABraOM,
ALFA) can synthesize a denominator from their cohort size; without it
those cohorts had been silently dropped from the pooled rate.
New affectedAN and backgroundAN columns expose the pool denominator. The
mouseOver now reads "Affected AC/AN: 33238 / 213153" so the ratio is
visible. Per-arm cohorts that ship only AC and no default_an (MGRB,
GREGoR AC_AFFECTED/UNAFFECTED/UNKNOWN, AllOfUs per-population) are still
listed in affectedCohorts/backgroundSources but contribute 0 to the
pool, preserving the invariant pool_AF <= 1.
The build pipeline is unchanged: re-run vcfToBigBed.py --split-affected
against the existing merged.annotated.vcf.gz. refs #36642
- lines changed 4, context: html, text, full: html, text
f0d9b9d7a69a43e62c52d80b18ef06ba1bf335ed Fri Jun 12 02:40:53 2026 -0700
varFreqs: add "tableBrowser off" to every subtrack whose bigDataUrl points
into an underscore-prefixed /gbdb dir (the rsync-exclusion convention for
non-redistributable cohorts). Covers varFreqsAffected, varFreqsBackground,
varFreqsArray, and genomeindia which were missing it.
Also fix the "Downloadable from UCSC" column on the supertrack page for
TOPMed, FinnGen and GenomeIndia (table said "Yes" but their gbdb paths
are underscore-prefixed, so they aren't actually downloadable from us).
refs #36642
- lines changed 31, context: html, text, full: html, text
21e8af7d071bb2294f0cf682ac871c63a5a5332d Sat Jun 13 05:00:09 2026 -0700
varFreqs: reorder subtrack priorities A-Z by shortLabel.
Combined tracks keep their order: Population reference (0.1), Disease cohorts
(0.11), Genotyping Array Databases Combined (0.2). The 32 per-project
subtracks get integer priorities 1..32 sorted alphabetically by shortLabel
(case-insensitive). Adds explicit priority to the 9 subtracks that lacked
one (abraom, gasp, gaspIndel, hrc, indigenomes, kova, mgrb, npm, saudi).
refs #36642
- lines changed 1, context: html, text, full: html, text
c6c684b4d0ec1926eb07485b899b0f48496f7063 Sat Jun 13 05:30:17 2026 -0700
varFreqs: add a "New" pennantIcon to the supertrack as a placeholder
pointing to newsarch.html#TBD. Once the release news post lands, update the
anchor and tooltip with the actual date. refs #36642
- src/hg/makeDb/trackDb/human/varFreqsAffected.html
- lines changed 19, context: html, text, full: html, text
6b285a53b036b309e3c7a9b61d3741731088a172 Fri Jun 12 02:35:01 2026 -0700
varFreqs: switch affectedAF/backgroundAF from max-across-cohorts to pooled
sum(AC)/sum(AN) so the rate matches the carrier count scale.
Per-arm AN is derived as round(AC/AF) when both are reported. An optional
"default_an" column was added to databases.tsv so AF-only cohorts (ABraOM,
ALFA) can synthesize a denominator from their cohort size; without it
those cohorts had been silently dropped from the pooled rate.
New affectedAN and backgroundAN columns expose the pool denominator. The
mouseOver now reads "Affected AC/AN: 33238 / 213153" so the ratio is
visible. Per-arm cohorts that ship only AC and no default_an (MGRB,
GREGoR AC_AFFECTED/UNAFFECTED/UNKNOWN, AllOfUs per-population) are still
listed in affectedCohorts/backgroundSources but contribute 0 to the
pool, preserving the invariant pool_AF <= 1.
The build pipeline is unchanged: re-run vcfToBigBed.py --split-affected
against the existing merged.annotated.vcf.gz. refs #36642
- lines changed 7, context: html, text, full: html, text
af9a5b388259e680dd34bc47b2cad4ff6e3d162f Sat Jun 13 03:00:51 2026 -0700
varFreqs: pre-release polish from comprehensive sanity check.
* Sync the new combined-track shortLabels into the four description pages:
"Affected/Case Individuals" -> "Disease cohorts" and "Population + Unaffected"
-> "Population reference" (matches the trackdb shortLabels users now see).
* Add a paragraph in the supertrack Methods section describing the pooled
affectedAF / backgroundAF formulation (sum AC / sum AN) and the default_an
configuration that handles AF-only cohorts.
* Update the in-track Methods paragraphs on varFreqsAffected.html and
varFreqsBackground.html: replace "summed/maximized" with "pooled".
* Fix supertrack table downloadability column to match the underscore-prefix
convention: allofus "Yes" -> "No" (description page already says license
restricted); gregor "No" -> "Yes" (description page says VCF is on our
download server, and the gbdb path is not underscore-prefixed).
* Add a 2026-06-12 makedoc section documenting the pooled-AF rebuild, the
default_an mechanism, the new affectedAN/backgroundAN columns, the
before/after spot-check at APOE rs429358, and the build commands.
refs #36642
- src/hg/makeDb/trackDb/human/varFreqsArray.html
- lines changed 5, context: html, text, full: html, text
af9a5b388259e680dd34bc47b2cad4ff6e3d162f Sat Jun 13 03:00:51 2026 -0700
varFreqs: pre-release polish from comprehensive sanity check.
* Sync the new combined-track shortLabels into the four description pages:
"Affected/Case Individuals" -> "Disease cohorts" and "Population + Unaffected"
-> "Population reference" (matches the trackdb shortLabels users now see).
* Add a paragraph in the supertrack Methods section describing the pooled
affectedAF / backgroundAF formulation (sum AC / sum AN) and the default_an
configuration that handles AF-only cohorts.
* Update the in-track Methods paragraphs on varFreqsAffected.html and
varFreqsBackground.html: replace "summed/maximized" with "pooled".
* Fix supertrack table downloadability column to match the underscore-prefix
convention: allofus "Yes" -> "No" (description page already says license
restricted); gregor "No" -> "Yes" (description page says VCF is on our
download server, and the gbdb path is not underscore-prefixed).
* Add a 2026-06-12 makedoc section documenting the pooled-AF rebuild, the
default_an mechanism, the new affectedAN/backgroundAN columns, the
before/after spot-check at APOE rs429358, and the build commands.
refs #36642
- src/hg/makeDb/trackDb/human/varFreqsBackground.html
- lines changed 23, context: html, text, full: html, text
6b285a53b036b309e3c7a9b61d3741731088a172 Fri Jun 12 02:35:01 2026 -0700
varFreqs: switch affectedAF/backgroundAF from max-across-cohorts to pooled
sum(AC)/sum(AN) so the rate matches the carrier count scale.
Per-arm AN is derived as round(AC/AF) when both are reported. An optional
"default_an" column was added to databases.tsv so AF-only cohorts (ABraOM,
ALFA) can synthesize a denominator from their cohort size; without it
those cohorts had been silently dropped from the pooled rate.
New affectedAN and backgroundAN columns expose the pool denominator. The
mouseOver now reads "Affected AC/AN: 33238 / 213153" so the ratio is
visible. Per-arm cohorts that ship only AC and no default_an (MGRB,
GREGoR AC_AFFECTED/UNAFFECTED/UNKNOWN, AllOfUs per-population) are still
listed in affectedCohorts/backgroundSources but contribute 0 to the
pool, preserving the invariant pool_AF <= 1.
The build pipeline is unchanged: re-run vcfToBigBed.py --split-affected
against the existing merged.annotated.vcf.gz. refs #36642
- lines changed 6, context: html, text, full: html, text
af9a5b388259e680dd34bc47b2cad4ff6e3d162f Sat Jun 13 03:00:51 2026 -0700
varFreqs: pre-release polish from comprehensive sanity check.
* Sync the new combined-track shortLabels into the four description pages:
"Affected/Case Individuals" -> "Disease cohorts" and "Population + Unaffected"
-> "Population reference" (matches the trackdb shortLabels users now see).
* Add a paragraph in the supertrack Methods section describing the pooled
affectedAF / backgroundAF formulation (sum AC / sum AN) and the default_an
configuration that handles AF-only cohorts.
* Update the in-track Methods paragraphs on varFreqsAffected.html and
varFreqsBackground.html: replace "summed/maximized" with "pooled".
* Fix supertrack table downloadability column to match the underscore-prefix
convention: allofus "Yes" -> "No" (description page already says license
restricted); gregor "No" -> "Yes" (description page says VCF is on our
download server, and the gbdb path is not underscore-prefixed).
* Add a 2026-06-12 makedoc section documenting the pooled-AF rebuild, the
default_an mechanism, the new affectedAN/backgroundAN columns, the
before/after spot-check at APOE rs429358, and the build commands.
refs #36642
- src/hg/makeDb/trackDb/human/varaico.html
- lines changed 1, context: html, text, full: html, text
3030fb4a9c489593d8286b7bb469ebda3c575ad6 Wed Jun 10 12:56:44 2026 -0700
Documenting the release 2 archive step in the Varaico makedoc and fixing a hardcoded hg38 path in the description page example, refs #37658
- src/hg/makeDb/trackDb/human/varsInPubs.html
- lines changed 3, context: html, text, full: html, text
fa29b7e72d8fb2a9519bf14f1122feccfd79eca2 Thu Jun 11 04:46:21 2026 -0700
Retire mastermind track by gating it to alpha and noting retirement on the varsInPubs description page. refs #37753
The Genomenon Mastermind track no longer updates and the provider asked us to
take it down. Added release alpha to the mastermind subtrack so it stays on
dev/sandbox but is removed from beta and public for both hg38 and hg19, and
updated the varsInPubs.html bullet to note the track has been retired.
- src/hg/makeDb/trackDb/mouse/mm10/encode4Reg.ra
- lines changed 2, context: html, text, full: html, text
29b2ebed5a2d7069b1abe68a3abcb44565b4dd90 Thu Jun 11 16:47:58 2026 -0700
Releasing ENCODE4 Regulation tracks to the RR. Set the supertrack to hide by default and updated the pennantIcon to only New red. refs #34923
- src/hg/makeDb/trackDb/mouse/mm10/trackDb.encode3.ra
- lines changed 1, context: html, text, full: html, text
1ccc5efb8d6678d29201fa8248d7f32733864ab8 Sat Jun 13 10:53:01 2026 -0700
Setting the mm10 ENCODE3 Regulation supertrack to be on by default on the RR. refs #37729
- lines changed 1, context: html, text, full: html, text
d5a3ad4f5ea1e13e1aa62681b4728edbdfe450ee Sun Jun 14 09:19:26 2026 -0700
Changing the mm10 ENCODE3 Regulation supertrack back to hidden by default, refs #37729
- src/hg/makeDb/trackDb/mouse/mm10/trackDb.ra
- lines changed 1, context: html, text, full: html, text
29b2ebed5a2d7069b1abe68a3abcb44565b4dd90 Thu Jun 11 16:47:58 2026 -0700
Releasing ENCODE4 Regulation tracks to the RR. Set the supertrack to hide by default and updated the pennantIcon to only New red. refs #34923
- src/hg/makeDb/trackDb/relatedTracks.ra
- lines changed 6, context: html, text, full: html, text
d4951d6de0335238ce124b3fb9703d82d329b1ab Sat Jun 13 06:35:27 2026 -0700
html updates to varFreqs, refs #36642
- src/hg/mouseStuff/libScan/libScan.c
- lines changed 3, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/nci60/stanToBedAndExpRecs.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/ratStuff/mafAddQRows/mafAddQRows.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/ratStuff/mafsInRegion/mafsInRegion.c
- lines changed 8, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/recycleDb/bedUp/bedUp.c
- lines changed 2, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/splitFaIntoContigs/splitFaIntoContigs.c
- lines changed 2, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/trfBig/trfBig.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/hg/utils/automation/kegAlign.json.ga
- lines changed 64, context: html, text, full: html, text
31734e42148b0358ee38a154aa343e2d1c0b258f Thu Jun 11 17:20:55 2026 -0700
kegAlign updated to accept scoring matrix refs #31811
- src/hg/utils/otto/genArk/addAssemblyList.sh
- lines changed 10, context: html, text, full: html, text
01f8a6872a8d3679c29e63adac60c59f6a86c0c9 Fri Jun 12 15:14:45 2026 -0700
correctly reloading assemblyList table with new indexes and no interference with the running system
- src/hg/utils/otto/otto.crontab
- lines changed 1, context: html, text, full: html, text
6e13fa20c66e496bcd2200d52235e093bd26d240 Sat Jun 13 22:41:40 2026 -0700
explicity use a read-only kent mirror script
- src/hg/utils/otto/readOnlyKentMirror
- lines changed 32, context: html, text, full: html, text
95364ad664672b64da007a4fc25b0c51e9f23a30 Sat Jun 13 22:40:07 2026 -0700
script to keep otto source tree up to date
- lines changed 19, context: html, text, full: html, text
12b69accc1d28a01e01c1cf7444d3b97e752aa82 Sat Jun 13 22:55:19 2026 -0700
correct typo error and check for all error condition exits
- src/hg/utils/otto/sandboxupdate
- lines changed 41, context: html, text, full: html, text
13d2aa231f56c354b17528b8d72c541b1f98b2e6 Fri Jun 12 15:30:36 2026 -0700
existing script in the otto user account HOME/bin/
- lines changed 26, context: html, text, full: html, text
3b97fd6c57d705abd88608cc5b277d264dae31ef Fri Jun 12 15:50:57 2026 -0700
correct fetch update of the otto user sandbox
- lines changed 26, context: html, text, full: html, text
0b81e64efebcdb9ce7dc37f00868010ddcf70d56 Sat Jun 13 22:46:52 2026 -0700
restore the original meaning of this script
- lines changed 7, context: html, text, full: html, text
a5d8d437fd8a70311ca85fb0f9ce8b27fbe1c459 Sat Jun 13 22:58:10 2026 -0700
correct email address for error message
- src/hg/utils/otto/userRequests/asmRequestWatch.sh
- lines changed 133, context: html, text, full: html, text
87aafb03635a2e1ea4821bb1a2e41b640c867799 Mon Jun 8 13:11:17 2026 -0700
initial script for assembly watch refs #31811
- lines changed 46, context: html, text, full: html, text
7133bbf60ed53ab306628d72050c9379ee74a9f1 Mon Jun 8 14:23:43 2026 -0700
watch for an assembly build to have begun refs #31811
- lines changed 28, context: html, text, full: html, text
9ffda9e5b601497b1ddcda75d5bbf377c1156713 Mon Jun 8 14:32:29 2026 -0700
watch for a build to have completed refs #31811
- lines changed 110, context: html, text, full: html, text
c54bbc1b2596adbb4bf4fcd278a531224c1d4624 Mon Jun 8 15:23:59 2026 -0700
add checking for the files to go through the system refs #31811
- lines changed 10, context: html, text, full: html, text
90297a90d259da8b7e7d48e7bf8600994e6a09a6 Wed Jun 10 07:23:05 2026 -0700
minor fixups per claude code review refs #31811
- lines changed 1, context: html, text, full: html, text
862b3b53dd2a3e4011560f989ac1c18310d4ffc4 Thu Jun 11 15:55:44 2026 -0700
better email subject construction refs #31811
- src/hg/utils/otto/userRequests/ottoLib.py
- lines changed 18, context: html, text, full: html, text
bbbd8958d58ef4d08410683f00b476095fda53cc Fri Jun 12 16:05:30 2026 -0700
improved source tree update refs #31811
- src/hg/utils/otto/userRequests/ottoRequestView.cgi
- lines changed 28, context: html, text, full: html, text
b8e0ec67d7da42dbdd9837bb11833cdc6b761b31 Mon Jun 8 14:50:45 2026 -0700
eliminate the checkIp and reset STATUS_NAMES to liftStatus refs #31811
- lines changed 20, context: html, text, full: html, text
77f91b38ab166f2adfefbdff3c2cbd50c2591cd0 Mon Jun 8 15:21:14 2026 -0700
correct status labels to differeniate liftOver vs. assembly status refs #31811
- lines changed 6, context: html, text, full: html, text
90297a90d259da8b7e7d48e7bf8600994e6a09a6 Wed Jun 10 07:23:05 2026 -0700
minor fixups per claude code review refs #31811
- lines changed 1, context: html, text, full: html, text
8d11236cb4e555b9cbd549b86a097e7817682e49 Sat Jun 13 23:05:30 2026 -0700
grammer correction per claude code review refs #31811
- src/hg/utils/otto/userRequests/ottoRequestWatch.sh
- lines changed 3, context: html, text, full: html, text
862b3b53dd2a3e4011560f989ac1c18310d4ffc4 Thu Jun 11 15:55:44 2026 -0700
better email subject construction refs #31811
- lines changed 2, context: html, text, full: html, text
e14c4963bf3ad0f67e9ecf82a081acae159d821b Sat Jun 13 23:03:16 2026 -0700
restore the galaxy cleanup step refs #31811
- src/inc/common.h
- lines changed 10, context: html, text, full: html, text
b628620dca257848dc6e9b18ea8e09585ecaf216 Tue Jun 9 00:07:17 2026 -0700
hgcentralTidy also needs the 64 bit sessionDb and userDb IDs refs #33554
- lines changed 1, context: html, text, full: html, text
5437603957fb22ab9ffb254c2978c2a02439b2e9 Wed Jun 10 07:14:01 2026 -0700
fixup comments per claud code review refs #33554
- src/inc/common.mk
- lines changed 1, context: html, text, full: html, text
a4ac71abc9e7bc32f98fd7c60ff8a48cba1ff056 Fri Jun 12 10:51:15 2026 -0700
common.mk: default COPT to -O3 instead of -O -g
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lines changed 1, context: html, text, full: html, text
a7d7f0965efb3593fa74de84e7d9265dd8d0b05a Fri Jun 12 11:02:29 2026 -0700
Revert "common.mk: default COPT to -O3 instead of -O -g"
This reverts commit a4ac71abc9e7bc32f98fd7c60ff8a48cba1ff056.
- lines changed 1, context: html, text, full: html, text
556a70d62db277decca5aeda7ca157d35b73188b Fri Jun 12 12:11:03 2026 -0700
common.mk: default COPT to -O3 instead of -O -g
Re-apply now that the -O3 build warnings are fixed (this was reverted in
a7d7f0965ef because the fixes had not landed yet). -O3 renders the
bigSpeedTest1 hgTracks session about 1.5x faster than -O -g.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lines changed 6, context: html, text, full: html, text
37ea1c69ef1e3101a3fea67043162744ea57666d Fri Jun 12 14:10:17 2026 -0700
common.mk: add -fno-strict-aliasing
The tree has long-standing type-punning idioms that violate strict aliasing,
notably the dlList sentinel trick in lib/dlist.c (which overlays struct dlNode
on struct dlList). These were harmless under the old -O -g (-O1) default
because GCC does not enable -fstrict-aliasing until -O2. With the -O3 default
they get miscompiled: blat, which uses dlList for stitching, silently produced
fragmented alignments and failed blat/test until -fno-strict-aliasing was added.
dlist is unlikely to be the only such violation, so disable the optimization
tree-wide rather than patch individual idioms.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/inc/errAbort.h
- lines changed 12, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/jkOwnLib/crudeali.c
- lines changed 5, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/bamFile.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/basicBed.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/common.c
- lines changed 8, context: html, text, full: html, text
b628620dca257848dc6e9b18ea8e09585ecaf216 Tue Jun 9 00:07:17 2026 -0700
hgcentralTidy also needs the 64 bit sessionDb and userDb IDs refs #33554
- lines changed 2, context: html, text, full: html, text
5437603957fb22ab9ffb254c2978c2a02439b2e9 Wed Jun 10 07:14:01 2026 -0700
fixup comments per claud code review refs #33554
- src/lib/htmshell.c
- lines changed 1, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/obscure.c
- lines changed 39, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/tests/mmHashTest.c
- lines changed 1, context: html, text, full: html, text
dd59061711dca60f7fe8f430411b8c5eb7559d4a Fri Jun 12 14:48:21 2026 -0700
lib/tests: fix -O3 format-overflow in mmHashTest
Put the fprintf in the else of the NULL guard so -Wformat-overflow (which
runs before the noreturn-based pruning) sees the value is non-null. Same
pattern as the earlier sanger22gtf/bottleneck fixes.
This surfaced only now because make clean does not clean most test
directories, so the test programs kept reusing stale -O -g objects until a
forced rebuild recompiled them at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/lib/wormdna.c
- lines changed 2, context: html, text, full: html, text
fb50a1cca3a117bb964c43196671142484b13bf9 Fri Jun 12 12:10:47 2026 -0700
lib jkOwnLib hg/lib: fix warnings exposed by -O3 build
At -O3 GCC does more inlining and interprocedural range analysis, which
surfaces several warnings that -O -g never triggered. With -Werror these
break the build, so fix them ahead of switching the default to -O3.
- bamFile.c: move setenv() into the else of its NULL guard so it is not
reachable with a NULL argument (-Wnonnull, seen via inlining of bamFetch).
- basicBed.c, wormdna.c, bedDetail.c, customFactory.c, hdb.c, qaSeq.c:
replace strncpy() with safecpy() where the result must be terminated
(-Wstringop-truncation).
- htmshell.c: use memcpy() for the intentional exact-length, non-terminated
copy (-Wstringop-truncation).
- obscure.c: compute the comma groups in sprintLongWithCommas() with % 1000
so the compiler can see each %03lld argument is bounded (-Wformat-overflow).
- crudeali.c: do the endian type-pun through a union so strict-aliasing
analysis no longer reports the value as uninitialized (-Wuninitialized).
- jksql.c: wrap a possibly-NULL database name in naForNull() before passing
it to %s (-Wformat-overflow).
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/submodules/submoduleSetup
- lines changed 8, context: html, text, full: html, text
e617d8fcfd4f783bfe7e3b569c620532ab43858d Wed Jun 10 01:32:09 2026 -0700
fix #37741 Source zip (jksrc.zip) build broken: htslib submodule not included by git archive
- src/userApps/fetchKentSource.sh
- lines changed 10, context: html, text, full: html, text
edb6fc7755da47df33f2dce4af4fd0017385b7fc Thu Jun 11 12:55:46 2026 -0700
hacking in the submodules for the htslib no redmine
- src/utils/faSplit/faSplit.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- src/utils/qa/weeklybld/coBranch.csh
- lines changed 7, context: html, text, full: html, text
e617d8fcfd4f783bfe7e3b569c620532ab43858d Wed Jun 10 01:32:09 2026 -0700
fix #37741 Source zip (jksrc.zip) build broken: htslib submodule not included by git archive
- src/utils/qa/weeklybld/makeZip.csh
- lines changed 50, context: html, text, full: html, text
e617d8fcfd4f783bfe7e3b569c620532ab43858d Wed Jun 10 01:32:09 2026 -0700
fix #37741 Source zip (jksrc.zip) build broken: htslib submodule not included by git archive
- src/weblet/bottleneck/bottleneck.c
- lines changed 1, context: html, text, full: html, text
f57fc11d951807e19b20b5960e735fa50eaea279 Fri Jun 12 13:10:00 2026 -0700
Fix more warnings exposed by -O3 build across hg utils and errAbort
Continuation of the -O3 cleanup: a full clean rebuild surfaced warnings in
many programs whose objects had not been recompiled before. Most are the same
mechanical patterns as the first batch (strncpy -> safecpy/memcpy, sprintf ->
safef), plus a few that needed more thought:
- errAbort.h: mark errAbort/vaErrAbort/errnoAbort/noWarnAbort as noreturn.
They provably never return (longjmp or exit; the existing "to make compiler
happy" exit(-1) in noWarnAbort confirms the intent), and this lets GCC prune
the impossible null paths after an errAbort guard, fixing false-positive
null-deref / overread warnings in mafAddIRows, mafAddIRowsStream and
phyloPlace with no source change to those files.
- altSplice.c (hgGene): real one-element stack buffer overflow. makeGrayShades
writes shadesOfGray[maxShade+1], but the caller declared shadesOfGray[9] with
maxShade=8. Grow the array to [10] (maxShade stays 8); behavior unchanged.
- hgc.c bedPrintPos: ~60 callers pass a track-specific struct cast to
(struct bed *) and read only its bed-compatible leading fields. At -O3
-Warray-bounds flags the casts because the real object is smaller than
struct bed; the reads are safe by the bed-layout convention, so suppress
-Warray-bounds around just that function.
- mafsInRegion.c: chromFromSrc returns strchr(src,'.')+1, which GCC mis-sizes
as a 0-byte region when handed to strcmp via sameString/differentString;
suppress the false-positive -Wstringop-overread around extractMafs.
- sanger22gtf.c, bottleneck.c: put the printf/fprintf in the else of the
NULL guard so -Wformat-overflow (which runs before the noreturn-based
pruning) can see the argument is non-null.
safecpy/memcpy/safef conversions: basicBed already done earlier; here
haplotypes (memcpy of the original pointer pun), gbToFaRa, motifSig,
hgClonePos, featureBits, libScan, hgGoldGapGl, hgSoftPromoter, mafClick,
mafAddQRows, hgc.c, stanToBedAndExpRecs, bedUp, faSplit, trfBig,
splitFaIntoContigs, aladdin, ameme.
A full clean tree now builds with no warnings at -O3.
refs #37761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- lines changed: 4960
- files changed: 204