File Changes for lrnassar
switch to commits view, user indexv503_base to v504_preview (2026-08-31 to 2026-09-07) v504
Show details
- src/hg/hgBlat/hgBlat.c
- lines changed 7, context: html, text, full: html, text
994528edb7d89068f371fef6d8a5fc72566f7334 Fri Sep 4 13:35:16 2026 -0700
Adding an opt-in "Keep only last search" checkbox to the new BLAT search form. refs #36292
Behind a new hg.conf setting, blatOnlyLatestCheckbox (default off, documented in ex.hg.conf).
When checked, each new BLAT search removes the user's earlier BLAT result tracks in hgc's
buildBigPsl (cart variable blatOnlyLatest, remembered per browser in localStorage); unchecked
keeps the current accumulate behavior, so site defaults are unchanged. Deletion requires both
the hg.conf setting and the cart variable, so a stale cart cannot delete tracks where the
feature is off. Independent of, and coexists with, the blatOldTracks hg.conf setting.
- lines changed 9, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- lines changed 15, context: html, text, full: html, text
7a69a5535f1f66f23f5b1329ecbe508983ea01fa Fri Sep 4 14:44:10 2026 -0700
BLAT classic form: announce the new-page switch date via hg.conf, fix stale input limits. refs #37996
New hg.conf setting blatNewFormSwitchDate (documented in ex.hg.conf): when set, the classic
form's banner announces "We will be updating this BLAT page on <date>" with an opt-in link,
a feedback mailto, and a pointer to the news announcement; unset keeps the previous
"We are testing" banner. The date lives in hg.conf so a schedule slip is a config change,
not a build patch. Also corrects the classic form's stated input limits (25,000/50,000 bases,
stale since 2013) to the enforced 75,000 per sequence and 187,500 combined.
- lines changed 7, context: html, text, full: html, text
a9c71c94309db1f28fc29cbb2d9c062e79c7201f Fri Sep 4 14:58:18 2026 -0700
BLAT dated banner: make the news announcement URL an hg.conf setting. refs #37996
blatNewFormNewsUrl, defaulting to the news archive page, so the banner can point at the
announcement's anchor once it is published without a CGI rebuild. Documented in ex.hg.conf.
- src/hg/hgc/hgc.c
- lines changed 23, context: html, text, full: html, text
994528edb7d89068f371fef6d8a5fc72566f7334 Fri Sep 4 13:35:16 2026 -0700
Adding an opt-in "Keep only last search" checkbox to the new BLAT search form. refs #36292
Behind a new hg.conf setting, blatOnlyLatestCheckbox (default off, documented in ex.hg.conf).
When checked, each new BLAT search removes the user's earlier BLAT result tracks in hgc's
buildBigPsl (cart variable blatOnlyLatest, remembered per browser in localStorage); unchecked
keeps the current accumulate behavior, so site defaults are unchanged. Deletion requires both
the hg.conf setting and the cart variable, so a stale cart cannot delete tracks where the
feature is off. Independent of, and coexists with, the blatOldTracks hg.conf setting.
- lines changed 12, context: html, text, full: html, text
5915dcd2939889c51c286d540a60abef615fab77 Fri Sep 4 13:43:35 2026 -0700
Fix new BLAT result tracks starting hidden due to stale cart visibility variables. refs #38086
Custom track ids are deterministic from the track name, so a re-created same-named BLAT
result track inherited the visibility of a previously hidden and since-deleted one (the
variable outlives the track). Seen with I'm feeling lucky: the user lands on hgTracks and
the new result track is invisible. buildBigPsl now clears any stale visibility variable
for the tracks it creates, after every block that can set hide.
- lines changed 8, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- src/hg/htdocs/goldenPath/help/hgTracksHelp.html
- lines changed 11, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- src/hg/htdocs/goldenPath/newsarch.html
- lines changed 80, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/htdocs/images/mouseDevTimecourse.png
- lines changed 0, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/htdocs/indexNews.html
- lines changed 11, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/htdocs/style/hgBlat.css
- lines changed 16, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- src/hg/js/hgBlat.js
- lines changed 35, context: html, text, full: html, text
994528edb7d89068f371fef6d8a5fc72566f7334 Fri Sep 4 13:35:16 2026 -0700
Adding an opt-in "Keep only last search" checkbox to the new BLAT search form. refs #36292
Behind a new hg.conf setting, blatOnlyLatestCheckbox (default off, documented in ex.hg.conf).
When checked, each new BLAT search removes the user's earlier BLAT result tracks in hgc's
buildBigPsl (cart variable blatOnlyLatest, remembered per browser in localStorage); unchecked
keeps the current accumulate behavior, so site defaults are unchanged. Deletion requires both
the hg.conf setting and the cart variable, so a stale cart cannot delete tracks where the
feature is off. Independent of, and coexists with, the blatOldTracks hg.conf setting.
- lines changed 56, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- lines changed 5, context: html, text, full: html, text
8b20ca320b01a4d283273fc4c0358a29319b2548 Fri Sep 4 15:02:46 2026 -0700
New BLAT form banner: welcome wording with a link to the news announcement. refs #37996
Replaces "We are testing a new BLAT search page" with "Welcome to our new BLAT page",
linking to the announcement's agreed anchor (goldenPath/newsarch.html#newBLAT); keeps the
persistent opt-out link to the classic form and the feedback mailto.
- lines changed 8, context: html, text, full: html, text
3a3d2f00ba0408f55f02a8ef265dd4fc153a163b Fri Sep 4 15:06:35 2026 -0700
New BLAT results banner: same welcome wording as the search form's banner. refs #37996
- src/hg/js/topLinks.js
- lines changed 7, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- src/hg/js/utils.js
- lines changed 8, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- src/hg/lib/hgHgvs.c
- lines changed 9, context: html, text, full: html, text
71bb7711b1374deea53e3dd4fa91fd4da8f21042 Fri Sep 4 17:52:53 2026 -0700
Fall back to the RefSeq Historical protein table when an NP_ accession is a deprecated version.
getProteinSeq read only ncbiRefSeqPepTable, so an HGVS protein term naming a
superseded NP_ failed validation and the search fell through to a whole-gene
match, or to nothing. getCdnaSeq has had the equivalent historical fallback for
years; this gives the protein path the same one, guarded by hTableExists so it
degrades cleanly where the new table is not loaded yet. refs #38248
- lines changed 4, context: html, text, full: html, text
4c1caa46a5cd5bb553e81373872a2b0fcbd618ae Fri Sep 4 17:53:17 2026 -0700
Pick the newest deprecated transcript when mapping an HGVS protein term.
Several deprecated transcript versions can share one protein version, and the
lookup took whichever row came back first. Sort by length before value so that
.10 beats .9 rather than losing a string comparison. refs #38248
- src/hg/logCrawl/dbTrackAndSearchUsage/generateUsageStats.py
- lines changed 36, context: html, text, full: html, text
4395aff08f55db6aea215e9717ceed746054840b Wed Sep 2 15:34:32 2026 -0700
Fix and extend the monthly usage stats cron. refs #38232
Adds the GenArk and hubSpace reporting asked for in the ticket, and fixes several
things that were quietly producing wrong numbers.
New in the report: a summed GenArk row in the database usage table, a section
ranking the top GenArk assemblies, and a closing section listing hubSpace usage
with one row per user. The non-public hub list now drops GenArk and curated hubs,
keeps only each hubSpace user's busiest hub, and reports track collections and
ENCODE search hubs as one summed line each - previously a single person uploading
a couple of hundred hubs took over most of the list.
Fixes in generateUsageStats.py: a missing space meant db= was never passed to
hgTracks, so every assembly was reported with hg38's default tracks. Only the
first ~800 byte block of hgTracks' track list was read, so hg38 was analysed with
40 of its 91 defaults. Hub backed databases are now skipped, since hub ids differ
between hgcentrals and their track names could never match the logs.
Fixes in assemblyStatsCron.py: hgTracks was run from the wrong directory and died
before logging anything, so the default track list was parsed out of timestamps
and CGI_TIME lines - the "non-default track usage" section was really listing
default tracks. The startup cleanup was deleting the hubStatus file that
genome-asia copies over each month, which dropped asia-only hubs from the counts
from February 2025 onward. The report label was computed as today minus 30 days,
so the March run labelled itself January and overwrote it, and no February report
has ever been published. Hub lookups no longer stop at the first 20 hubs, and are
resolved by streaming each mirror's hubStatus once instead of grepping a 341MB
file per hub.
Counts for hubs are now keyed on the resolved hub URL rather than the track name,
so unrelated hubs sharing a common track name are no longer added together. This
moves some numbers: CADD reads 280 rather than 293, because three separate CADD
download URLs were previously summed into one figure.
Table columns, headers included, are now aligned in the emailed output. Warnings
about an unreachable mirror or a missing asia file appear in the report body
instead of a stderr stream that the cron discards.
- lines changed 5, context: html, text, full: html, text
32515a6797b6e68daa3aa94c663760216b24dd67 Thu Sep 3 13:30:26 2026 -0700
Usage stats cron fixes from code review. refs #38232
Apply the same db mismatch guard to assemblyStatsCron.py that generateUsageStats.py
already had. Both files ask hgTracks for one assembly's default tracks and parse the
answer off stderr, but only one of them checked that hgTracks answered about the
assembly it was asked about. Without it, a repeat of the db= bug this ticket fixed
would quietly fill the default track filter with another assembly's tracks and say
nothing.
Drop any database name that does not look like one before interpolating it into a
shell command. The trimmed logs only ever carry real assembly names, so this is
defence in depth rather than a live hole.
Fix a comment in resolveHub that still described the lastOkTime fallback, which was
replaced by mirror order earlier in this ticket.
No change to the report. The row counts for the database usage and non-public hub
tables were cut from 15 to 10 in the previous commit, which its message did not
mention; that was intentional, to make room for the new GenArk and hubSpace sections.
- src/hg/makeDb/doc/hg38/lrSv.txt
- lines changed 72, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/doc/hg38/ncbiRefSeq.txt
- lines changed 29, context: html, text, full: html, text
c8c1b1a9adac6dfa7a869326ca3f774a724a50db Fri Sep 4 17:51:48 2026 -0700
Document the RefSeq Historical protein table build and add a reminder to the notifier.
The historical rna.gbff we already download carries a /translation for every
coding record, and gbProcess has a -pepFa flag that writes them out, so this is
one extra pass over a file we have rather than a new download. Adds the build
steps to the RS_2024_08 makedoc section, and two lines to the weekly notifier so
the next refresh does not leave the protein table behind. refs #38248
- src/hg/makeDb/doc/hs1/lrSv.txt
- lines changed 7, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/scripts/lrSv/lrSv1kLin1218.as
- lines changed 1, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/scripts/lrSv/lrSv1kLin1218VcfToBed.py
- lines changed 15, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/trackDb/human/lrSv.html
- lines changed 10, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/trackDb/human/lrSv.ra
- lines changed 7, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/trackDb/human/lrSvAll.html
- lines changed 19, context: html, text, full: html, text
b687dd9018670941ce30f8a4582d6597c5a974d8 Tue Sep 1 14:57:43 2026 -0700
lrSv1kLin: fix 2bp insertion span, drop dead numConsolidated field, refresh lrSvAll merge. refs #38099
The Lin 1218 VCFs set INFO/END = POS+1 on insertions, and the converter took
chromEnd from END, so every insertion was drawn 2bp wide with svLen 2 instead
of the 1bp anchor base. That contradicted the track's own description page and
the coordinate convention in the makeDoc, and it kept 107,980 Lin insertions
from merging in lrSvAll. Insertions now clamp chromEnd to the anchor; deletions
are unchanged and still verify span == |SVLEN| against the source VCFs.
Dropped numConsolidated from the converter and the .as: the NumConsolidated
INFO key is declared in the VCF header but never appears on a data line, so the
column was 0 on all 1.2M rows and added a meaningless line to every detail page.
Rebuilt lin1218 on hg38 and hs1 (item counts and variant names unchanged) and
re-ran the merge: lrSvAll 2,963,093 -> 2,855,267 rows as the duplicate insertion
rows collapse.
Bumped seven filter.svLen/insLen maxima in lrSv.ra that were short of the data
after the August deletion narrowing, three of them only visible on hs1.
lrSvAll.html said the 1000 Genomes linear set was not in the merge, which is no
longer true, and gave no warning that sourceCount double-counts because Lin1218
already absorbs HPRC, HGSVC3 and both 1KG ONT callsets. Corrected the merge key
description and refreshed ten stale cells in the lrSv.html summary table.
- src/hg/makeDb/trackDb/human/trackDb.ra
- lines changed 10, context: html, text, full: html, text
115c6d24a46472bd44400f1fe9b38541364138ad Fri Sep 4 17:53:17 2026 -0700
Add a search rule so a deprecated versioned NP_ accession resolves to RefSeq Historical.
A superseded protein accession was answered by hgFixed.refLink, which stores
accessions without versions, so NP_000005.2 and NP_000005.3 returned the same
gene. The new rule looks the accession up in ncbiRefSeqLinkHistorical and jumps
to the deprecated transcript instead. It excludes accessions that are still
current so their searches are untouched, and is semiShortCircuit so it replaces
the version-blind answer rather than adding a second result. refs #38248
- src/hg/makeDb/trackDb/mouse/mm10/mouseDevTimecourse.ra
- lines changed 1, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/makeDb/trackDb/mouse/mm10/trackDb.ra
- lines changed 2, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/makeDb/trackDb/mouse/mm39/mouseDevTimecourse.ra
- lines changed 1, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/makeDb/trackDb/mouse/mm39/trackDb.ra
- lines changed 1, context: html, text, full: html, text
afdd5daeb07ccef3df67165f6d10e7abd4db21ff Thu Sep 3 14:12:39 2026 -0700
Release the ENCODE Expression tracks for mm10 and mm39. refs #37001
Drop the alpha,beta release tags from all three include lines, so the container
and the bigWig signal composite now ship to beta and public. Verified with
tdbQuery -strict at all three release levels: no errors, and the tracks are
visible at each one (320 on mm10, 3 on mm39).
Point the pennantIcon at the news archive post and give it the release date:
newsarch.html#090426 "Released Sep. 4, 2026", matching the convention used by
the other released tracks. The liftOver pennants on the mm39 subtracks are
unchanged.
Add the Sep. 4 news announcement to newsarch.html and a matching entry to
indexNews.html, dropping the oldest front-page item to stay at the six-item
limit. The announcement links to the session at
genome.ucsc.edu/s/Lou/ENCODEexpression and includes a screenshot of Gap43,
whose expression rises through development and is highest in the four neural
tissues.
Add the screenshot image, which was previously untracked.
- src/hg/utils/otto/refSeqHistorical/checkRefSeqHistoricalUpdate.sh
- lines changed 2, context: html, text, full: html, text
c8c1b1a9adac6dfa7a869326ca3f774a724a50db Fri Sep 4 17:51:48 2026 -0700
Document the RefSeq Historical protein table build and add a reminder to the notifier.
The historical rna.gbff we already download carries a /translation for every
coding record, and gbProcess has a -pepFa flag that writes them out, so this is
one extra pass over a file we have rather than a new download. Adds the build
steps to the RS_2024_08 makedoc section, and two lines to the weekly notifier so
the next refresh does not leave the protein table behind. refs #38248
- src/product/ex.hg.conf
- lines changed 6, context: html, text, full: html, text
994528edb7d89068f371fef6d8a5fc72566f7334 Fri Sep 4 13:35:16 2026 -0700
Adding an opt-in "Keep only last search" checkbox to the new BLAT search form. refs #36292
Behind a new hg.conf setting, blatOnlyLatestCheckbox (default off, documented in ex.hg.conf).
When checked, each new BLAT search removes the user's earlier BLAT result tracks in hgc's
buildBigPsl (cart variable blatOnlyLatest, remembered per browser in localStorage); unchecked
keeps the current accumulate behavior, so site defaults are unchanged. Deletion requires both
the hg.conf setting and the cart variable, so a stale cart cannot delete tracks where the
feature is off. Independent of, and coexists with, the blatOldTracks hg.conf setting.
- lines changed 6, context: html, text, full: html, text
cc23b76a1f2c7dc6a29c227661bfb0ce4d20eb54 Fri Sep 4 13:43:48 2026 -0700
BLAT page polish from QA: Load example button, corrected input limits, wording fixes. refs #37996
Load example is a chip-style button with a mouseover instead of a hyperlink. Removed the
Show input limits modal; corrected the limits in hgTracksHelp.html, stale since 2013 (DNA is
75,000 bases per sequence and 187,500 combined, protein and translated 10,000 and 25,000),
added a #blatLimits anchor and pointed the two over-limit BLAT warnings and the form at it.
Genome selector: section title Target assembly, type-to-search hint in the dropdown,
Shortcuts: label, input and Query type select sized to match. Similar tools sidebar uses
house-style hyphens and corrects the findMotif name and description. Share and rename text
now states link lifetimes accurately (snapshot links last years, only sessions are
permanent). Alignment page buttons match .gbPill, summary strip spacing fixed, New BLAT
search button demoted from primary. Documents blatResultsGroup in ex.hg.conf.
- lines changed 5, context: html, text, full: html, text
7a69a5535f1f66f23f5b1329ecbe508983ea01fa Fri Sep 4 14:44:10 2026 -0700
BLAT classic form: announce the new-page switch date via hg.conf, fix stale input limits. refs #37996
New hg.conf setting blatNewFormSwitchDate (documented in ex.hg.conf): when set, the classic
form's banner announces "We will be updating this BLAT page on <date>" with an opt-in link,
a feedback mailto, and a pointer to the news announcement; unset keeps the previous
"We are testing" banner. The date lives in hg.conf so a schedule slip is a config change,
not a build patch. Also corrects the classic form's stated input limits (25,000/50,000 bases,
stale since 2013) to the enforced 75,000 per sequence and 187,500 combined.
- lines changed 4, context: html, text, full: html, text
a9c71c94309db1f28fc29cbb2d9c062e79c7201f Fri Sep 4 14:58:18 2026 -0700
BLAT dated banner: make the news announcement URL an hg.conf setting. refs #37996
blatNewFormNewsUrl, defaulting to the news archive page, so the banner can point at the
announcement's anchor once it is published without a CGI rebuild. Documented in ex.hg.conf.
- src/utils/codeReviewAi.py
- lines changed 48, context: html, text, full: html, text
696f5424e3ce2c3ec88589d0836a3acc9b894d8b Mon Aug 31 12:14:05 2026 -0700
Stop the daily code review emailing approved digests whose OVERALL STATUS line the model omitted. refs #38020
Since the 38020 fix landed, the model dropped the OVERALL STATUS block in about
one digest in six, nearly always alongside the optional sections the prompt
invites it to omit, and the fail-open email decision mailed every one of those
as a possible FEEDBACK even when every per-commit verdict said APPROVED.
Two changes. The prompt now says OVERALL STATUS is not one of the omittable
sections and a review without it gets emailed. And when the status line is
still unreadable, the per-commit Verdict lines now decide instead of sending
unconditionally - but only on a full accounting: exactly one readable verdict
per commit reviewed and every one APPROVED. A missing or extra verdict, or any
FEEDBACK, still sends, so a real review can still never be dropped. Replayed
against all 129 digests since 6 Aug: 17 of the 21 phantom emails stop, the 4
that carried real per-commit FEEDBACK still send, and nothing that skipped
before sends now.
- src/utils/qa/assemblyStatsCron.py
- lines changed 689, context: html, text, full: html, text
4395aff08f55db6aea215e9717ceed746054840b Wed Sep 2 15:34:32 2026 -0700
Fix and extend the monthly usage stats cron. refs #38232
Adds the GenArk and hubSpace reporting asked for in the ticket, and fixes several
things that were quietly producing wrong numbers.
New in the report: a summed GenArk row in the database usage table, a section
ranking the top GenArk assemblies, and a closing section listing hubSpace usage
with one row per user. The non-public hub list now drops GenArk and curated hubs,
keeps only each hubSpace user's busiest hub, and reports track collections and
ENCODE search hubs as one summed line each - previously a single person uploading
a couple of hundred hubs took over most of the list.
Fixes in generateUsageStats.py: a missing space meant db= was never passed to
hgTracks, so every assembly was reported with hg38's default tracks. Only the
first ~800 byte block of hgTracks' track list was read, so hg38 was analysed with
40 of its 91 defaults. Hub backed databases are now skipped, since hub ids differ
between hgcentrals and their track names could never match the logs.
Fixes in assemblyStatsCron.py: hgTracks was run from the wrong directory and died
before logging anything, so the default track list was parsed out of timestamps
and CGI_TIME lines - the "non-default track usage" section was really listing
default tracks. The startup cleanup was deleting the hubStatus file that
genome-asia copies over each month, which dropped asia-only hubs from the counts
from February 2025 onward. The report label was computed as today minus 30 days,
so the March run labelled itself January and overwrote it, and no February report
has ever been published. Hub lookups no longer stop at the first 20 hubs, and are
resolved by streaming each mirror's hubStatus once instead of grepping a 341MB
file per hub.
Counts for hubs are now keyed on the resolved hub URL rather than the track name,
so unrelated hubs sharing a common track name are no longer added together. This
moves some numbers: CADD reads 280 rather than 293, because three separate CADD
download URLs were previously summed into one figure.
Table columns, headers included, are now aligned in the emailed output. Warnings
about an unreachable mirror or a missing asia file appear in the report body
instead of a stderr stream that the cron discards.
- lines changed 17, context: html, text, full: html, text
32515a6797b6e68daa3aa94c663760216b24dd67 Thu Sep 3 13:30:26 2026 -0700
Usage stats cron fixes from code review. refs #38232
Apply the same db mismatch guard to assemblyStatsCron.py that generateUsageStats.py
already had. Both files ask hgTracks for one assembly's default tracks and parse the
answer off stderr, but only one of them checked that hgTracks answered about the
assembly it was asked about. Without it, a repeat of the db= bug this ticket fixed
would quietly fill the default track filter with another assembly's tracks and say
nothing.
Drop any database name that does not look like one before interpolating it into a
shell command. The trimmed logs only ever carry real assembly names, so this is
defence in depth rather than a live hole.
Fix a comment in resolveHub that still described the lastOkTime fallback, which was
replaced by mirror order earlier in this ticket.
No change to the report. The row counts for the database usage and non-public hub
tables were cut from 15 to 10 in the previous commit, which its message did not
mention; that was intentional, to make room for the new GenArk and hubSpace sections.
switch to commits view, user index