All File Changes
v504_base to v505_preview (2026-09-21 to 2026-10-05) v505
Show details
- confs/hgwbeta.hg.conf
- lines changed 10, context: html, text, full: html, text
9b01cd88c13e54301f06f7ae447f5cf071961a61 Sun Sep 27 01:11:16 2026 -0700
Installing updated hg.conf files from UCSC servers
- lines changed 42, context: html, text, full: html, text
e095dfb2c98560a92e59e9956c3a7ca215073378 Sun Oct 4 01:11:15 2026 -0700
Installing updated hg.conf files from UCSC servers
- confs/hgwdev.hg.conf
- lines changed 5, context: html, text, full: html, text
2450d99ee7e6173eff5045678d0c3d60463ff508 Sat Sep 26 21:48:03 2026 -0700
hgwdev hg.conf: turn on showGenbankDownload, the GenBank output in the track download dialog, refs #38433
- lines changed 12, context: html, text, full: html, text
9b01cd88c13e54301f06f7ae447f5cf071961a61 Sun Sep 27 01:11:16 2026 -0700
Installing updated hg.conf files from UCSC servers
- lines changed 2, context: html, text, full: html, text
e095dfb2c98560a92e59e9956c3a7ca215073378 Sun Oct 4 01:11:15 2026 -0700
Installing updated hg.conf files from UCSC servers
- src/hg/cgilib/cartJson.c
- lines changed 5, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- src/hg/cgilib/tests/expected/bedItemRgbTest
- lines changed 1, context: html, text, full: html, text
5f6b4fa86cd975502de93a57756260ea22f15a22 Thu Oct 1 09:45:34 2026 -0700
bedItemRgbTest: the on run sets alwaysItemRgb on by name, refs #36212, #38185
The on conf only included ~/.hg.conf and relied on the default. A developer whose
conf chain turns alwaysItemRgb off got it off in both runs, and the test failed.
- src/hg/cgilib/tests/makefile
- lines changed 2, context: html, text, full: html, text
5f6b4fa86cd975502de93a57756260ea22f15a22 Thu Oct 1 09:45:34 2026 -0700
bedItemRgbTest: the on run sets alwaysItemRgb on by name, refs #36212, #38185
The on conf only included ~/.hg.conf and relied on the default. A developer whose
conf chain turns alwaysItemRgb off got it off in both runs, and the test failed.
- src/hg/hgGateway/hgGateway.c
- lines changed 13, context: html, text, full: html, text
81a04805893ab59c954464ac449abe65da05ac7f Mon Sep 21 16:28:30 2026 -0700
highlight NCBI "reference" assemblies in the search result and hg.conf gated with hgGateway.showRefBadge=on default is off refs #38401
- lines changed 8, context: html, text, full: html, text
7b3bd7a453e354dc0d4003bc7c65b073866f16f4 Tue Sep 29 13:35:06 2026 -0700
hgGateway: read a hub assembly's description the way other hub pages are read, refs #38430
- src/hg/hgGeneGraph/hgGeneGraph
- lines changed 17, context: html, text, full: html, text
d27769317be7f92e199f69d75b10a7421eecf770 Sat Sep 26 21:57:15 2026 -0700
hgGeneGraph: require a form submission and a checked answer to file a feedback report
- lines changed 14, context: html, text, full: html, text
b6f15357f432f1c218fabcb0d53777322e357c00 Tue Sep 29 15:43:57 2026 -0700
hgGeneGraph: bind the feedback-form arithmetic check to its target and a real secret
Reuses a per-render hash instead of a fixed public constant, and ties it to
the specific gene pair rather than just the answer, refs #38399
- src/hg/hgHubConnect/tests/makefile
- lines changed 2, context: html, text, full: html, text
a3dbceed952bbbfbd67e73148714bb3a828a0ec8 Mon Sep 21 15:24:52 2026 -0700
Add some uiTests for hubspace, mostly checking that file metadata editing works when a hub.txt is in a batch. This test does not actually test uploading anything, refs #38398
- src/hg/hgHubConnect/tests/pages/hgHubConnect.js
- lines changed 130, context: html, text, full: html, text
a3dbceed952bbbfbd67e73148714bb3a828a0ec8 Mon Sep 21 15:24:52 2026 -0700
Add some uiTests for hubspace, mostly checking that file metadata editing works when a hub.txt is in a batch. This test does not actually test uploading anything, refs #38398
- src/hg/hgHubConnect/tests/t01-hubTxtGenome.js
- lines changed 80, context: html, text, full: html, text
a3dbceed952bbbfbd67e73148714bb3a828a0ec8 Mon Sep 21 15:24:52 2026 -0700
Add some uiTests for hubspace, mostly checking that file metadata editing works when a hub.txt is in a batch. This test does not actually test uploading anything, refs #38398
- src/hg/hgLogin/hgLogin.c
- lines changed 16, context: html, text, full: html, text
e3d5f0b1474ba392a87b2f65dc9701db3e88bfa2 Sat Sep 26 21:54:08 2026 -0700
hgLogin: require POST and a per-page token to change the pending-signup address
- lines changed 4, context: html, text, full: html, text
b9bd7488e55a3124bb617290eccee4b544ce8600 Sun Sep 27 16:03:24 2026 -0700
Updating hgLogin's change-recovery-email description wording: adding GitHub and CILogon and dropping ORCID from the sign-in options it names, and matching existing "sign-in options" phrasing instead of "buttons", refs #38197
- src/hg/hgSession/hgSession.c
- lines changed 5, context: html, text, full: html, text
8c0ef9e7b8633c0994cdaf8030d9c49c8b402016 Sat Sep 26 21:53:54 2026 -0700
cart/hgSession: fix the session-load notice to always name the session actually loaded
- lines changed 18, context: html, text, full: html, text
8afc792afaf50aab2d6b83a33ba41b47dbf1df4a Tue Sep 29 15:51:16 2026 -0700
hgSession: also clear the pending session-load marker before a local-file save
The named-session save path already did this; the "save as local file"
export path did not, so the marker (and the session name/owner it points
at) could ride along into an exported file and resurface on re-import,
refs #38399
- lines changed 22, context: html, text, full: html, text
35c5facfb9e64030b6eeb70aadd2026bd9296c21 Wed Sep 30 17:11:59 2026 -0700
hgSession: a Save request without the share flag or the name no longer ends in a stack dump, refs #38456
doNewSession() read the session name with cartString() and the share flag with
cartBoolean(), and both abort when the variable is missing. The Save form always
sends both, so only a hand-made request reached this. doReSaveSession() read the
name the same way, and outDefaultTracks() read db the same way, which a brand-new
cart does not have.
The name and db now have defaults, and a missing name gets the existing "without a
name" message. For the share flag the code asks the request, not the cart, because
the cart keeps hgS_newSessionShare on purpose. When the request carries neither the
flag nor the checkbox's shadow, an existing session keeps its own sharing level and a
new one is saved private.
- src/hg/hgSession/tests/makefile
- lines changed 3, context: html, text, full: html, text
384180e37487b4818cf7a98ca43479dda0bb282d Wed Sep 30 18:11:33 2026 -0700
backupParseTest, mallocTopPadTest: the off run sets its gate off by name, refs #38185, #38225
Each off conf only included ~/.hg.conf. A developer whose conf chain reaches one
that sets the gated variable got the gate on in both runs, and the test failed.
- src/hg/hgTablesTest/hgTablesTest.c
- lines changed 37, context: html, text, full: html, text
d48a1f1935917a45b20ae782f4a0ab53da13e6a9 Tue Sep 15 12:53:04 2026 -0700
hgTablesTest: skip an oversized page instead of dying inside the allocator, refs #38359
A dense file-backed track can hand back hundreds of megabytes for a single
five-megabyte test region. hg38 hgdp returned 602MB, which took carefulAlloc
past its 500MB ceiling, and carefulAlloc exits the process where it stands
rather than errAborting, on the grounds that errAbort itself allocates. So the
run ended with one line on stderr, nothing in the log, and every table still to
come forfeited. The arm in quickSubmit meant to catch exactly this and name the
track had never once run.
htmlPage now takes an optional ceiling on the response it will read into memory.
Past it the fetch frees what it has read and errAborts naming the url, which the
robot's errCatch turns back into an ordinary return of no page. The ceiling
defaults to none, which leaves hgNearTest, hgBlatTest and htmlCheck exactly as
they were. hgTablesTest sets it to 100MB, a fifth of the allocator ceiling: the
dyString roughly doubles as it grows and the old buffer is still live while the
new one fills, and the parsed page then sits alongside its text.
An oversized page is logged and skipped, not counted as an error. A track that
answers a 5Mb region with 600MB is one this robot cannot test, which is the same
situation the row count screen already catches before submitting; counting it
would put a failure in every weekly run and leave the summary as useless a gate
as the one that never failed.
The log is line buffered now as well. Finding out that a run died partway
through is what this robot is for, and a block of buffered lines lost on the way
out is part of how the old failure left no trace of which track it was on.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/hgTrackUi/hgTrackUi.c
- lines changed 1, context: html, text, full: html, text
6256dc2c93839878b3faef3ee64214d0abcd6d4e Tue Sep 22 11:32:49 2026 -0700
used sameOk instead of sameString to protect agaisnt NULL dereference
- lines changed 16, context: html, text, full: html, text
b5af24c744cd0f5571634a863c34f208bbd0a199 Wed Sep 23 11:15:40 2026 -0700
hgTrackUi: better error when a faceted composite's metadata file is refused, refs #29344
The 400 error now says which URL was refused and for which track, and
that a hub's metaDataUrl or colorSettingsUrl has to point inside the
hub's directory. facetedComposite.js now shows that text instead of
just "HTTP Status: 400".
Also in facetedComposite.js: facet values with a count of zero are
hidden, unless they are checked, and there is a new "Clear all filters"
button that unchecks all facets and empties the search boxes.
- lines changed 12, context: html, text, full: html, text
b3a26a6aff3896d7577be7f42ce94a7d841c91c7 Wed Sep 23 16:41:09 2026 -0700
hgTrackUi: let a faceted composite load its metadata from any curated hub copy, refs #29344
Each sandbox attaches its own copy of a curated hub like hs1
(/gbdb/hs1/hubs/<curatedHubPrefix>/hub.txt), so a link to another
sandbox's copy arrived on other servers with that hub missing from the
cart, and the metadata file was refused. Now any copy in the curated
directory from dbDb is accepted. A hub that is not in the cart is
checked by its URL in hubStatus only, without fetching it.
- src/hg/hgTracks/bigBedTrack.c
- lines changed 58, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 58, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 18, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- src/hg/hgTracks/chainTrack.c
- lines changed 13, context: html, text, full: html, text
2727d941e00bc74cc9fe53851ccc16172965646d Tue Sep 29 22:35:07 2026 -0700
a track name too long caused a buffer overflow, claude advice here fixes this problem, track to test is in GenArk assembly GCA_020740595.1 in the "LiftOver Ring-tailed lemur (2021-11-04) minimap2 Lift Over Chained Alignments" track refs #34360
- src/hg/hgTracks/halSnakeTrack.c
- lines changed 2, context: html, text, full: html, text
2727d941e00bc74cc9fe53851ccc16172965646d Tue Sep 29 22:35:07 2026 -0700
a track name too long caused a buffer overflow, claude advice here fixes this problem, track to test is in GenArk assembly GCA_020740595.1 in the "LiftOver Ring-tailed lemur (2021-11-04) minimap2 Lift Over Chained Alignments" track refs #34360
- src/hg/hgTracks/hgTracks.c
- lines changed 10, context: html, text, full: html, text
18125243f8a0d219285fe081ed3f1eb8cd558ff2 Sat Sep 26 17:59:16 2026 -0700
hgTracks: GenBank as a fourth format in the "Download Current Track Data" dialog
The file holds the DNA of the region in view plus the selected track items
as a GenBank feature table, so a region opens in the sequence editors people
already use: SnapGene, Benchling, ApE and the rest. Blocks become join()
locations, thickStart..thickEnd a CDS for the types that really carry a gene
model, and an item running off the edge of the view gets the partial markers.
Written in javascript beside the existing JSON/CSV/TSV converters, because
the dialog is entirely client side: it adds one getData/sequence call to the
getData/track call it already makes.
Behind showGenbankDownload in hg.conf, default off, registered as a release
gate in hgConfCatalog.py. Wiggle-type tracks have no GenBank equivalent and
are greyed out while the format is selected, and the region is capped at
100 Mbp because the web browser has to build the whole file in memory.
The dialog itself is reworked at the same time, for every format: the output
format comes first, then the file name, the track list and the check-all
buttons; it uses the page's font size and normal-height buttons instead of
jquery-ui's smaller ones; and the position sits on its own line with the
strand the Reverse button is showing. hgTracks.c adds organism and
scientificName to jsonForClient, which the GenBank header needs.
refs #38433
- lines changed 6, context: html, text, full: html, text
e061eee76c1c9e8c8161f99379273aa0d1146c1f Sat Sep 26 21:52:35 2026 -0700
hgTracks: quickLifted superTracks keep their own bare-name visibility
A quickLifted superTrack's cart visibility var should always be read under
its own (undecorated) name, the same as its source assembly used, even when
the target assembly happens to have a native superTrack of the same name.
- lines changed 55, context: html, text, full: html, text
92c5b9ee733e28d68fbb180b26d175b46776a27e Sat Sep 26 21:59:16 2026 -0700
hgTracks: fix hub genome dropdown's db-field collision, add real labels and position lookup
The groupDropdown "Genomes:" select shared name='db' with TrackForm's own
hidden db field, so submitting any button in the form (e.g. Hide all) sent
two values for db and the hub's own genome silently won it. Give the select
its own id instead, and switch genomes via an onchange handler that sets
the real db field and resubmits.
Also label each option via hOrganism()/hFreezeFromDb() (the same lookup
hgTracks already uses for the page title), so native UCSC assemblies get a
readable label too, not just GenArk-style hub genomes; and reset position
to the target genome's own default position via hDbDb() before resubmitting,
since a coordinate from the current assembly usually doesn't exist in the
next one.
refs #38434
- lines changed 9, context: html, text, full: html, text
dba11b63364870388011d5f04c6563ed440eb2a1 Thu Sep 24 13:49:56 2026 -0700
quickLift: a container set back to show no longer stays hidden on the target, refs #38198
When hgTracks arrives from a lift (hideTracks), it read a quickLifted
superTrack's state from the cart. It copied the source's bare cart value, such
as wgEncodeReg4, to hub_NNN_wgEncodeReg4 and then removed the bare one. That
had two effects. A container hidden before one lift kept the stored hide after
every later lift. This happened because hgTracks prunes a container value that
equals its default, so a container set back to show left nothing to carry
over. Visiting the target also deleted the source's own setting.
The cart read was added for #37535, when the lifted stanza still ended with
the source's "superTrack on hide". #37969 removed that line, so the stanza is
now correct. On a lift the stanza decides again: any hub_ value for the
container is dropped, and the source's value is left alone.
Also write "visibility show" for the container rather than "visibility hide".
walkTree passed "tvShow" to hTvFromString, which does not know that string and
returns hide.
With this change, a container hidden on the source keeps its earlier stanza on
the target, the same as a hidden track.
- lines changed 1, context: html, text, full: html, text
32eec44ad3147d1c9912002e586662d199f78974 Tue Sep 29 15:33:05 2026 -0700
labelTrackAsDensityWindowSize fires on winTooBigDoWiggle, which compares
the window width against maxWindowCoverage and never looks at a count, so
"too many items" named the wrong cause: evaSnp sets maxWindowCoverage 250000
alongside maxItems 1000000, so a 400 kb window holding a single variant
claimed there were too many items to draw. Say "window too large" instead.
Caught in code review of 07f0635. refs #38407
- lines changed 11, context: html, text, full: html, text
6743564c0d16d85e588d5a9d80097e4690b91666 Tue Sep 29 15:37:43 2026 -0700
hgTracks: tell the user when a track download is incomplete or still being prepared, and put the GenBank size limit under hg.conf
Four things in the "Download Current Track Data" dialog, all of them about a
download that quietly does the wrong thing.
The api stops at a limit on how many items it will return and says so with
maxItemsLimit in the reply, which the dialog ignored. Worse, a truncated reply
carries two extra top level fields, maxItemsLimit and dataDownloadUrl, and the
CSV/TSV converter took every top level field it did not recognise for a track:
the string one was iterated one character per row, and the conversion threw
before writing anything. A truncated CSV or TSV download therefore produced no
file and no message at all. A track's value is always the array of its rows, so
that is now the test for what is a track, rather than a list of field names that
the api will keep outgrowing. All formats now say plainly that the file is
incomplete, and the GenBank file carries the same warning in its COMMENT block,
where it outlives the dialog.
Nothing showed that anything was happening between the click and the browser's
download, which is one second for two tracks and four for twenty, on a 20 kb
region. The Download button now goes disabled with a line beside it while the
file is prepared. It is in the button pane rather than the dialog body because
the body scrolls once the track list is long.
The GenBank region limit drops from 100 Mbp to 25 Mbp. 50 Mbp of chr1 with 24
tracks answers with 340 MB of track json and 50 MB of sequence, which the web
browser parses, copies into the file text and copies again into the Blob, so the
tab needs several times the region in memory. The limit is now the hg.conf
setting maxGenbankRegion, registered in hgConfCatalog.py as a knob: the ceiling
belongs to the machine and its users. It is read only when showGenbankDownload
is on, and a value that is not a positive number falls back to the default
rather than aborting the CGI.
refs #38433
- lines changed 35, context: html, text, full: html, text
1a9c722ad341c178dc418034e51a1d015507db9b Fri Oct 2 20:23:47 2026 -0700
Let superTracks nest inside superTracks. refs #38460
A superTrack given a parent used to pass tdbQuery -check -strict and then be
dropped at load, with no warning: the browser reported the outer folder as not
found. Seven places each looked exactly one level up the parent chain, which is
what trackDb.h means by "Folders are superTracks. Currently only one level deep".
trackDbSuperMarkup skipped any track that was itself a superTrack when
resolving parent, so the link was never made
rFindTrack looked "to the sky" one level, so the outer super could
not be found by name
addChildRefsToParents only walked tdbList, which excludes superTracks, so an
inner super never reached its parent's children list
findSuperTrack matched tdb->parent->track only, so hgTrackUi could not
find the outer folder of a hub assembly
flatten rescued the immediate super parent only, so the outer one
was never written to the table
polishSupers polished the immediate parent only, so the outer super
reached the write with a NULL shortLabel and segfaulted
groupTrackListAddSuper made a track for one super above a member
setSuperTrackHasVisibleMembers marked one level visible
Each now walks the chain. The group list still shows only the outermost folder,
since superTrack members are not listed there; the inner folders appear on its
page with their own controls, as members always have.
Walking the chain makes a parent loop fatal where it used to be harmless, so
trackDbSuperMarkup now checks that the supertracks form a tree once every link
is set, and breaks a loop at the supertrack that closes it, naming that track.
Verified by planting a loop: before, hgTrackDb spun in trackDbSetting and had to
be killed; now it warns and loads. The same hazard in composite parents is
untouched and filed as #38471.
Regression: trackDb built with this and with the released hgTrackDb is
byte-identical on mm39 (20377 rows) and, on a tree with no nesting, on hg38
(55629) and hs1 (782). With a nested trackDb the only difference on hg38 is the
one rescued container row. hgTracks on hg38 renders the same 32 rows and the
same 10 supertrack controls as dev, and the wgEncodeReg member list is
unchanged.
Note for whoever deploys this: trackDbToTxt also has to be rebuilt. It writes
the curated hub trackDb.txt from the table, and a released one emits a member
whose parent stanza is missing, which breaks the hub.
- lines changed 35, context: html, text, full: html, text
314d1a9a41231220ae79fc971758da141c21f233 Fri Oct 2 21:36:10 2026 -0700
Revert the superTrack nesting fix on master; it lives on superTrackNesting. refs #38460
Taken off master with its only consumer, the TSS trackDb change reverted in the
previous commit. It is a library change every CGI links, in trackDbCustom.c,
hdb.c, hubConnect.c and hgTracks.c, and nothing on master needs it until the TSS
tracks nest again.
Kept on the superTrackNesting branch with its regression evidence. Note for
whoever lands it: trackDbToTxt has to be rebuilt too, or the curated hub it
writes names a parent stanza it did not emit.
- lines changed 35, context: html, text, full: html, text
93a3129444064c4d19b4cb49e24b6de4bd0e06a6 Fri Oct 2 21:41:15 2026 -0700
Restore the superTrack nesting fix. refs #38460
Taking this off master was over-cautious. It is wanted on its own: #38460 is a
real bug, a superTrack given a parent passes tdbQuery -check -strict and is then
silently dropped at load, and the fix should get into a release rather than wait
on a trackDb change that uses it.
Nothing on master nests yet, and the fix is behaviour-identical where nothing
does: trackDb built with it and with the released hgTrackDb is byte-identical on
hg38, hs1 and mm39, and hgTracks renders the same rows and supertrack controls
as dev.
The TSS trackDb change that uses this stays reverted, on superTrackNesting, until
this ships. Whoever releases it: trackDbToTxt has to be rebuilt too, or the
curated hub it writes names a parent stanza it did not emit.
- src/hg/hgTracks/imageV2.c
- lines changed 30, context: html, text, full: html, text
2cdae04ddc1e46cdfc2e5e8cf479cbbbb616ad10 Tue Sep 22 15:55:10 2026 -0700
htmlSanitize tooltips before printing them into the page, refs #38226
- src/hg/hgTracks/simpleTracks.c
- lines changed 13, context: html, text, full: html, text
2cdae04ddc1e46cdfc2e5e8cf479cbbbb616ad10 Tue Sep 22 15:55:10 2026 -0700
htmlSanitize tooltips before printing them into the page, refs #38226
- src/hg/hgTracks/vcfTrack.c
- lines changed 167, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 167, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 323, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- lines changed 9, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- lines changed 15, context: html, text, full: html, text
7bf9ad5d27f838f39326f49e9670da152f51e1c6 Wed Sep 30 15:02:37 2026 -0700
vcfTabix tracks: trackDb setting maxItems now also sets the maximum number of VCF records loaded for the window, overriding the hg.conf setting vcfMaxItems (default 10000), refs #37306
- src/hg/hgTracks/wigMafTrack.c
- lines changed 9, context: html, text, full: html, text
0ef19267989fe032759da765ca5475bebf2803bd Thu Sep 24 17:13:21 2026 -0700
hgTracks: no codon translation on a quickLifted maf track at base level, refs #38249
The base-level view opened its connections for codon translation on the reference
assembly and read the frames table there. For a lifted track both belong to the other
assembly. When the reference is a hub assembly such as hs1 there is no database of that
name, and the page aborted. A lifted maf now shows bases without codon translation.
- lines changed 1, context: html, text, full: html, text
8de67388be9a67cb94ba95615b7643b4ddc385da Thu Sep 24 17:48:19 2026 -0700
quickLift: give a lifted maf block the reference's own bases, refs #38249
Inside a chain block the two assemblies run in step but need not agree base for base, and
the first row of a lifted block still carried the other assembly's letters. The details
page showed hg19's base in the human row of a block lifted onto hg38. quickLiftMafs now
reads the reference sequence once over the span of the lifted blocks and writes it into
that row, leaving the gaps where they are.
The lifted blocks are also sorted by position now. On a chain that turns the alignment
over they came back last to first, and the details page listed them in that order.
- src/hg/hgTracks/wigTrack.c
- lines changed 1, context: html, text, full: html, text
e3084c1bf7cea3aa7f2bbe90d298adbae603b5e2 Fri Oct 2 09:33:46 2026 -0700
hgTracks: keep the fraction when negateValues swaps a pixel's min and max, refs #38462
preDrawWindowFunction swapped min and max through an int, so the old min
lost its fraction on the way into the new max. With mean+whiskers the top
whisker, and the autoscale upper limit, were then drawn at a whole number.
- src/hg/hgc/hgc.c
- lines changed 54, context: html, text, full: html, text
4decf5fbe82051b2d5aff9cabce3feae9dfafae1 Sat Sep 26 18:48:55 2026 -0700
uniprot: stop declaring the alignments as amino acid coordinates, and show them properly
The bigPsl seqType field describes the coordinates, not the letters stored beside
them, and the UniProt query side is in bases: these proteins reach the genome
through transcripts, so a query runs three bases to a residue. Declaring amino
acids made pslFromBigPsl divide the block sizes by three and leave the query
coordinates alone, so every reader got an alignment measured in two units at once.
That fed a heap overflow in the alignment page, drew blocks short in hgTracks, and
loaded sub-codon blocks as size 0, which aborted pslTransMap and took down the
lifted SwissProt track (#38249).
pslProtFromNaLike() converts such a psl to one counted in residues. Blocks are
trimmed to whole codons, and a residue whose codon straddles an exon junction sits
in two places in the genome at once, so it gets no column and the page says how
many are missing rather than dropping them silently: 0.9% of residues, though 87%
of alignments have at least one. A bigPsl also keeps the reference strand where a
psl reads the query strand, so minus-strand items arrived claiming the protein was
reversed and were rendered as reverse complemented nucleotide ambiguity codes;
pslRc moves them to the convention blat uses, query forward and the strand on the
target.
Checked on hg38 against the translated genome: 210,416 residues over both strands,
99.86% identical, the remainder real protein-vs-reference variation. All 29 items
of a test region render the stored protein at the right residues. Files already
published still say amino acid and must keep working until they are rebuilt, so the
conversion also requires the blocks to measure the target the way the target is
measured; verified that separates the two shapes on 3000 records each way, and that
all 29 render without crashing in the old format, where they now say plainly that
the coordinates and the sequence do not match.
refs #38300
- src/hg/hgc/mafClick.c
- lines changed 2, context: html, text, full: html, text
8de67388be9a67cb94ba95615b7643b4ddc385da Thu Sep 24 17:48:19 2026 -0700
quickLift: give a lifted maf block the reference's own bases, refs #38249
Inside a chain block the two assemblies run in step but need not agree base for base, and
the first row of a lifted block still carried the other assembly's letters. The details
page showed hg19's base in the human row of a block lifted onto hg38. quickLiftMafs now
reads the reference sequence once over the span of the lifted blocks and writes it into
that row, leaving the gaps where they are.
The lifted blocks are also sorted by position now. On a chain that turns the alignment
over they came back last to first, and the details page listed them in that order.
- src/hg/htdocs/FAQ/FAQblat.html
- lines changed 1, context: html, text, full: html, text
09360ed5d9de0f031b6f62924852b533c8fda23a Sat Sep 26 18:45:33 2026 -0700
Fixing typo in zip name, no refs
- src/hg/htdocs/FAQ/FAQdownloads.html
- lines changed 3, context: html, text, full: html, text
fa272dac584b8d450211f426b50c5e9e6de114c8 Tue Sep 22 08:40:34 2026 -0700
New FAQ page on regulation and cis-regulatory tracks, refs #24610
Adds FAQ/FAQregulation.html, the page requested in this ticket since 2019:
where to find transcription factor binding site data, and how the various
cis-regulatory tracks relate to each other.
The page is organized around the measured vs predicted distinction, which is
what most of the mailing list questions turn on, and then covers which TFBS
tracks to use, what to do when a factor is in none of them, loading ENCODE
portal data through the portal's own Visualize button, promoters, enhancers,
cCREs, restricting to a cell type, and working outward from a gene. It ends
with a summary table of 16 tracks.
Assembly coverage is given per track and every assembly name is a link to
that track's description page on that assembly, since coverage varies a lot
(mm39 carries only three of these tracks, and TFBS Conserved was never built
for hg38).
Also adds the category to FAQ/index.html and a cross-link from the promoter
sequence question in FAQ/FAQdownloads.html.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/FAQ/FAQregulation.html
- lines changed 521, context: html, text, full: html, text
fa272dac584b8d450211f426b50c5e9e6de114c8 Tue Sep 22 08:40:34 2026 -0700
New FAQ page on regulation and cis-regulatory tracks, refs #24610
Adds FAQ/FAQregulation.html, the page requested in this ticket since 2019:
where to find transcription factor binding site data, and how the various
cis-regulatory tracks relate to each other.
The page is organized around the measured vs predicted distinction, which is
what most of the mailing list questions turn on, and then covers which TFBS
tracks to use, what to do when a factor is in none of them, loading ENCODE
portal data through the portal's own Visualize button, promoters, enhancers,
cCREs, restricting to a cell type, and working outward from a gene. It ends
with a summary table of 16 tracks.
Assembly coverage is given per track and every assembly name is a link to
that track's description page on that assembly, since coverage varies a lot
(mm39 carries only three of these tracks, and TFBS Conserved was never built
for hg38).
Also adds the category to FAQ/index.html and a cross-link from the promoter
sequence question in FAQ/FAQdownloads.html.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 151, context: html, text, full: html, text
5fd99d465a31d5bd38320ac85ff1969ab9515014 Wed Sep 23 15:44:06 2026 -0700
Regulation FAQ: correct assembly coverage, add variant effect section, refs #24610
Corrections found by checking the page against our own release announcements,
which I should have done before the first commit:
- ENCODE4 Regulation is on mm10 as well as hg38. The track symbol differs by
assembly (wgEncodeReg4 on hg38, encode4Reg on mm10), so a search by name
missed it.
- JASPAR 2026 covers hg38, mm39, danRer11, galGal6, dm6, ce11, ci3 and
sacCer3. hg19 and mm10 stop at JASPAR 2024. The page had implied all ten
were 2026. Also notes that the track holds several releases as subtracks,
so the version depends on which one is turned on.
- TFBS Conserved is on hg17 as well as hg18 and hg19.
- ENCODE4 replaced ENCODE3 as the default in July 2026 and ENCODE3 is kept
for archival use. Said in the text and marked in the summary table.
- The cell type section described the old subtrack list for the large
collections, which now use the faceted interface.
- Dropped "composite" and "superTrack", which users should not see.
New section on what a single variant does to regulation, covering MPRAVarDB
for variants that were actually tested in a reporter assay, and AlphaGenome
and PromoterAI for predictions. These live under Phenotype and Disease
Associations rather than Regulation, which is worth saying since that is
where a reader would otherwise fail to find them.
Links to goldenPath/help/hgRegMotifHelp.html from the motif definition and
from the JASPAR entry, and the definition now matches the wording there.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 45, context: html, text, full: html, text
4fa04b06c8c9e1627bb6bedef9e78a02fc4ceb60 Sat Sep 26 16:25:41 2026 -0700
minor tewaks to wording; removing oreganno refs; removing params from hgTracks links so they use users cart, refs #24610
- lines changed 2, context: html, text, full: html, text
9687a91909838021ee4ca314e2a29c0cccd845c8 Sat Sep 26 16:32:35 2026 -0700
commenting out the section about loading ENCODE files as CTs, refs #24610
- lines changed 4, context: html, text, full: html, text
3814d8eec23ed1c9f539f669383099eb605dbbcd Sat Sep 26 18:18:00 2026 -0700
Regulation FAQ: link hgCustom as well as the custom track help, refs #24610
- lines changed 260, context: html, text, full: html, text
b3aef6de6abdf2356bf7d4a64fd5d857726eea6b Sun Oct 4 09:57:49 2026 -0700
Regulation FAQ: cis-regulation background and six interpretive questions
Max asked for a short introduction to cis-regulation, and Lou noted that the
page leaned towards listing datasets rather than explaining how to read them.
This covers both.
A new opening question walks through the kinds of evidence the Browser carries
for regulation: open chromatin, histone marks, DNA methylation, transcription
factor binding, conservation and physical contact. It is adapted from Max's
draft, trimmed where it repeated the sections below it. The top of the page now
says when the track list was last checked, and CADD 1.7 goes ahead of
AlphaGenome among the variant scores, since it has been stable for years.
Six questions are new, each one chosen because people keep asking it on the
genome list: why a motif turns up across a whole gene, what a GeneHancer arc
does and does not claim, what the scores and grey shading mean (which differs
from track to track), whether signal heights can be compared (ENCODE4
auto-scales and ENCODE3 does not, which nothing else documents), what an empty
region means, and what to do when your tissue was never assayed.
The three "Which tracks show ..." headings become "How do I find ...", which is
the form the other FAQ pages use. The Single-cell ATAC-seq row leaves the
summary table because singleCellSignalsPeaks is still release alpha and those
links error anywhere but hgwdev; the row is kept in a comment to restore when
the track is released.
refs #24610
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/FAQ/index.html
- lines changed 1, context: html, text, full: html, text
fa272dac584b8d450211f426b50c5e9e6de114c8 Tue Sep 22 08:40:34 2026 -0700
New FAQ page on regulation and cis-regulatory tracks, refs #24610
Adds FAQ/FAQregulation.html, the page requested in this ticket since 2019:
where to find transcription factor binding site data, and how the various
cis-regulatory tracks relate to each other.
The page is organized around the measured vs predicted distinction, which is
what most of the mailing list questions turn on, and then covers which TFBS
tracks to use, what to do when a factor is in none of them, loading ENCODE
portal data through the portal's own Visualize button, promoters, enhancers,
cCREs, restricting to a cell type, and working outward from a gene. It ends
with a summary table of 16 tracks.
Assembly coverage is given per track and every assembly name is a link to
that track's description page on that assembly, since coverage varies a lot
(mm39 carries only three of these tracks, and TFBS Conserved was never built
for hg38).
Also adds the category to FAQ/index.html and a cross-link from the promoter
sequence question in FAQ/FAQdownloads.html.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 10, context: html, text, full: html, text
4d3e56eaa15bfc5d19ee528c03777244d9e1033b Thu Oct 1 15:27:35 2026 -0700
Add a mailing list search box to the FAQ and Search page
The page already linked to the genome mailing list archive, but a link out
to Google Groups is easy to miss next to the four search boxes in the same
column, and you still have to start the search once you get there. This adds
a box alongside the others that hands the query to the group's own search.
refs #38438
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/apple-touch-icon.png
- lines changed 0, context: html, text, full: html, text
de9c4a994c80701abb407a64634cfc4f419a4e67 Tue Sep 29 13:13:27 2026 -0700
New Genome Browser favicon designs for dev, beta and RR, now 16x16 plus 32x32 instead of 16x16 only. Each host still serves a hand-placed copy of its own faviconDev/Beta/RR.ico as favicon.ico, which is not in the tree. Also adds apple-touch-icon.png, which iOS already requests and was getting a 404 for; it is the same on every host, so it is committed under its real name. refs #36625
- src/hg/htdocs/contacts.html
- lines changed 2, context: html, text, full: html, text
dbc8dc013509561c1a9612491c0c84358c1db182 Tue Sep 29 17:26:25 2026 -0700
Home page and contacts page search box did nothing when the text matched a position regex (chr1:1000000-1001000, BED-style, single base): searchBarClick only navigated in the non-position branch, after the hgSearch getChromName lookup. Now a position goes straight to hgTracks, as hgSearch.js already does. Broken since 258a0a679dd. refs #38449
- src/hg/htdocs/faviconBeta.ico
- lines changed 0, context: html, text, full: html, text
de9c4a994c80701abb407a64634cfc4f419a4e67 Tue Sep 29 13:13:27 2026 -0700
New Genome Browser favicon designs for dev, beta and RR, now 16x16 plus 32x32 instead of 16x16 only. Each host still serves a hand-placed copy of its own faviconDev/Beta/RR.ico as favicon.ico, which is not in the tree. Also adds apple-touch-icon.png, which iOS already requests and was getting a 404 for; it is the same on every host, so it is committed under its real name. refs #36625
- src/hg/htdocs/faviconDev.ico
- lines changed 0, context: html, text, full: html, text
de9c4a994c80701abb407a64634cfc4f419a4e67 Tue Sep 29 13:13:27 2026 -0700
New Genome Browser favicon designs for dev, beta and RR, now 16x16 plus 32x32 instead of 16x16 only. Each host still serves a hand-placed copy of its own faviconDev/Beta/RR.ico as favicon.ico, which is not in the tree. Also adds apple-touch-icon.png, which iOS already requests and was getting a 404 for; it is the same on every host, so it is committed under its real name. refs #36625
- lines changed 0, context: html, text, full: html, text
b6447cadc83582018d1241b1d3336e844b8b086e Tue Sep 29 13:26:29 2026 -0700
Lighten the new dev favicon from #B54A4A to #DA7C25, halfway to the old helix's yellow-orange strand. refs #36625
- src/hg/htdocs/faviconRR.ico
- lines changed 0, context: html, text, full: html, text
de9c4a994c80701abb407a64634cfc4f419a4e67 Tue Sep 29 13:13:27 2026 -0700
New Genome Browser favicon designs for dev, beta and RR, now 16x16 plus 32x32 instead of 16x16 only. Each host still serves a hand-placed copy of its own faviconDev/Beta/RR.ico as favicon.ico, which is not in the tree. Also adds apple-touch-icon.png, which iOS already requests and was getting a 404 for; it is the same on every host, so it is committed under its real name. refs #36625
- src/hg/htdocs/goldenPath/help/api.html
- lines changed 1, context: html, text, full: html, text
795eb665503d576544d47e863b6a4d30df48b568 Sat Sep 26 18:48:11 2026 -0700
point three help pages at public hosts instead of genome-test, refs #37641
- lines changed 78, context: html, text, full: html, text
619d7563efb2f65ce421d9e40cb1965584ef1d78 Sun Oct 4 05:51:58 2026 -0700
api.html: document the /blat endpoint (query types, apiKey, parameters, limits, output formats), refs #36315
- src/hg/htdocs/goldenPath/help/assemblyHubHelp.html
- lines changed 252, context: html, text, full: html, text
a8900aeeb2ac10fba9a4c772f270d15c54279b87 Sat Sep 26 18:55:12 2026 -0700
rewrite the example assembly hub sections around GenArk instead of genome-test, refs #37641
- lines changed 96, context: html, text, full: html, text
215d7a575ff21f96f5bf8d3d4a3d20f95bd1d95a Sat Sep 26 19:57:36 2026 -0700
assembly hub docs: fix broken twoBit and BLAT examples, correct mirror IPs, lead with the short hub URL, document hubCheck, refs #37641
- lines changed 2, context: html, text, full: html, text
63c0f6234dbcc0c3fdc9bc2d0e673c8313bd6443 Sun Sep 27 11:57:25 2026 -0700
two minor fixes from automated CR, #37641
- src/hg/htdocs/goldenPath/help/barChart.html
- lines changed 94, context: html, text, full: html, text
2353ec21c6649e1de33b43bd1b3b304603ac71f1 Thu Oct 1 15:31:50 2026 -0700
Document how to set the order of the bars on a barChart track, refs #37619
Adds a "Setting the order of the bars" section to the barChart format page.
It explains that the order is a property of the data file rather than of the
display, that barChartBars, barChartCategoryUrl, barChartColors and the
barChartStatsUrl rows are all positional and have to move together, and then
gives three recipes: barChartReorder on a barChart file, the same wrapped in
bigBedToBed and bedToBigBed for a bigBarChart, and expMatrixToBarchartBed
--groupOrderFile for anyone who is still at the matrix stage and can get the
order right the first time.
The barChartBars entry in trackDbLibrary.shtml gains a line saying the labels
are positional, with a link to the new section.
Also corrects the bedToBigBed command in Example 4 to pass -sort.
expMatrixToBarchartBed writes its rows in item-name order, since it joins on
name, so bedToBigBed rejects the file as unsorted as soon as the two orders
disagree. The example has always worked on the three-row file we host, whose
rows happen to be in position order already, and fails on real data.
Checked the claims against the code rather than against the existing prose:
barChartTrack.c walks expScores and the category list in step at increasing x
with no sort anywhere, createCategs numbers the categories in label order,
facetedTableSelectOffsets hands back the stats row index as the expScores
offset, and getSampleValsFromFile matches samples to categories by name, which
is why the matrix and sample files need no changes. Every command and both
example orderings were run against the files already published under
goldenPath/help/examples/barChart.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/goldenPath/help/bigPsl.html
- lines changed 6, context: html, text, full: html, text
4d43b746e730f4cf9df40e70d715e75b33ed6fca Tue Sep 22 14:43:59 2026 -0700
Explain the bigPsl o-prefixed field names on the help page, refs #37155
The autoSql field comments now name the PSL field each o-prefixed field
corresponds to, but nothing on the page said what the o fields are or why
they are named after chromosomes when the aligned sequence is usually a
transcript or protein. Add a paragraph under the schema block.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/htdocs/goldenPath/help/hgTracksHelp.html
- lines changed 6, context: html, text, full: html, text
795eb665503d576544d47e863b6a4d30df48b568 Sat Sep 26 18:48:11 2026 -0700
point three help pages at public hosts instead of genome-test, refs #37641
- src/hg/htdocs/goldenPath/help/hic.html
- lines changed 3, context: html, text, full: html, text
795eb665503d576544d47e863b6a4d30df48b568 Sat Sep 26 18:48:11 2026 -0700
point three help pages at public hosts instead of genome-test, refs #37641
- src/hg/htdocs/goldenPath/help/hubQuickStartAssembly.html
- lines changed 5, context: html, text, full: html, text
a8900aeeb2ac10fba9a4c772f270d15c54279b87 Sat Sep 26 18:55:12 2026 -0700
rewrite the example assembly hub sections around GenArk instead of genome-test, refs #37641
- lines changed 53, context: html, text, full: html, text
215d7a575ff21f96f5bf8d3d4a3d20f95bd1d95a Sat Sep 26 19:57:36 2026 -0700
assembly hub docs: fix broken twoBit and BLAT examples, correct mirror IPs, lead with the short hub URL, document hubCheck, refs #37641
- src/hg/htdocs/goldenPath/help/trackDb/changes.html
- lines changed 8, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- lines changed 14, context: html, text, full: html, text
d19b85083618569a8b3400a8d17a3d2028ef223d Tue Sep 29 15:38:31 2026 -0700
The itemRgb doc said a color setting "in the same stanza" loses to an explicit itemRgb on, which is narrower than bedItemRgb() behaves: both settings go through trackDbSetting(), which walks the parent chain, and the two lookups are independent, so a parent's itemRgb on beats a color set on the child itself. Reworded that and the matching colorFields sentence, and added the changes.html row this should have had. Caught by CR of 64adf565f28. refs #36212
- lines changed 8, context: html, text, full: html, text
6aca098fdf7765a7122271fdcc18d5ddfe468edc Sun Oct 4 09:59:09 2026 -0700
trackDb docs: maxItems now also sets the VCF record limit of vcfTabix tracks, refs #37306
- src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html
- lines changed 7, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 7, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 3, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- src/hg/htdocs/goldenPath/help/trackDb/trackDbHub.v3.html
- lines changed 3, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- src/hg/htdocs/goldenPath/help/trackDb/trackDbLibrary.shtml
- lines changed 38, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 38, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 11, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- lines changed 9, context: html, text, full: html, text
d19b85083618569a8b3400a8d17a3d2028ef223d Tue Sep 29 15:38:31 2026 -0700
The itemRgb doc said a color setting "in the same stanza" loses to an explicit itemRgb on, which is narrower than bedItemRgb() behaves: both settings go through trackDbSetting(), which walks the parent chain, and the two lookups are independent, so a parent's itemRgb on beats a color set on the child itself. Reworded that and the matching colorFields sentence, and added the changes.html row this should have had. Caught by CR of 64adf565f28. refs #36212
- lines changed 11, context: html, text, full: html, text
38fc33c4bbf6c8b960af709cb17a2467d6b6cac2 Tue Sep 29 15:40:59 2026 -0700
The description page variables section claimed shell and awk examples were safe from substitution, which is wrong twice over: parseVarNameMaybe accepts a bare $db as readily as ${db}, so an example using $db or $track as its own shell variable gets the value put in, and $$ still collapses to a single $. Say that instead, and document $$ as the way to write a literal dollar. The section also renders on trackDbDoc.html, which is the native trackDb doc, where "other trackDb settings are not available" is false, so it is now scoped to a hub's description page. Caught in code review of 8d05f42. refs #38283
- lines changed 5, context: html, text, full: html, text
2353ec21c6649e1de33b43bd1b3b304603ac71f1 Thu Oct 1 15:31:50 2026 -0700
Document how to set the order of the bars on a barChart track, refs #37619
Adds a "Setting the order of the bars" section to the barChart format page.
It explains that the order is a property of the data file rather than of the
display, that barChartBars, barChartCategoryUrl, barChartColors and the
barChartStatsUrl rows are all positional and have to move together, and then
gives three recipes: barChartReorder on a barChart file, the same wrapped in
bigBedToBed and bedToBigBed for a bigBarChart, and expMatrixToBarchartBed
--groupOrderFile for anyone who is still at the matrix stage and can get the
order right the first time.
The barChartBars entry in trackDbLibrary.shtml gains a line saying the labels
are positional, with a link to the new section.
Also corrects the bedToBigBed command in Example 4 to pass -sort.
expMatrixToBarchartBed writes its rows in item-name order, since it joins on
name, so bedToBigBed rejects the file as unsorted as soon as the two orders
disagree. The example has always worked on the three-row file we host, whose
rows happen to be in position order already, and fails on real data.
Checked the claims against the code rather than against the existing prose:
barChartTrack.c walks expScores and the category list in step at increasing x
with no sort anywhere, createCategs numbers the categories in label order,
facetedTableSelectOffsets hands back the stats row index as the expScores
offset, and getSampleValsFromFile matches samples to categories by name, which
is why the matrix and sample files need no changes. Every command and both
example orderings were run against the files already published under
goldenPath/help/examples/barChart.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 7, context: html, text, full: html, text
6aca098fdf7765a7122271fdcc18d5ddfe468edc Sun Oct 4 09:59:09 2026 -0700
trackDb docs: maxItems now also sets the VCF record limit of vcfTabix tracks, refs #37306
- src/hg/htdocs/goldenPath/help/trackDb/trackDbSettings.yaml
- lines changed 7, context: html, text, full: html, text
d19b85083618569a8b3400a8d17a3d2028ef223d Tue Sep 29 15:38:31 2026 -0700
The itemRgb doc said a color setting "in the same stanza" loses to an explicit itemRgb on, which is narrower than bedItemRgb() behaves: both settings go through trackDbSetting(), which walks the parent chain, and the two lookups are independent, so a parent's itemRgb on beats a color set on the child itself. Reworded that and the matching colorFields sentence, and added the changes.html row this should have had. Caught by CR of 64adf565f28. refs #36212
- lines changed 28, context: html, text, full: html, text
38fc33c4bbf6c8b960af709cb17a2467d6b6cac2 Tue Sep 29 15:40:59 2026 -0700
The description page variables section claimed shell and awk examples were safe from substitution, which is wrong twice over: parseVarNameMaybe accepts a bare $db as readily as ${db}, so an example using $db or $track as its own shell variable gets the value put in, and $$ still collapses to a single $. Say that instead, and document $$ as the way to write a literal dollar. The section also renders on trackDbDoc.html, which is the native trackDb doc, where "other trackDb settings are not available" is false, so it is now scoped to a hub's description page. Caught in code review of 8d05f42. refs #38283
- src/hg/htdocs/goldenPath/newsarch.html
- lines changed 58, context: html, text, full: html, text
79b493d56edd2ffdafebdd20bc69528b3bdfee0a Mon Sep 28 15:54:54 2026 -0700
News announcement for the redesigned BLAT search and results pages, with the
matching indexNews.html item. The entry carries two anchors: #100726 for the
usual date form and #newBLAT, which the blatNewFormNewsUrl hg.conf setting on
the BLAT banner points at. The banner announces the switch to the new pages
on October 28. refs #37996
- src/hg/htdocs/inc/dataApi.html
- lines changed 42, context: html, text, full: html, text
1225a489c7de73798ed0051d2141d876a3969486 Sat Sep 26 18:55:01 2026 -0700
remove orphaned inc/dataApi.html, superseded by goldenPath/help/api.html, refs #37641
- src/hg/htdocs/inc/hgSearch.html
- lines changed 6, context: html, text, full: html, text
33a544e0b5f35f7e629290d4d0e74d56b1279f39 Fri Sep 25 13:41:13 2026 -0700
hgSearch: fix sidebar collapsing when a result has a long unbroken match string, refs #38285
- src/hg/htdocs/index.html
- lines changed 2, context: html, text, full: html, text
dbc8dc013509561c1a9612491c0c84358c1db182 Tue Sep 29 17:26:25 2026 -0700
Home page and contacts page search box did nothing when the text matched a position regex (chr1:1000000-1001000, BED-style, single base): searchBarClick only navigated in the non-position branch, after the hgSearch getChromName lookup. Now a position goes straight to hgTracks, as hgSearch.js already does. Broken since 258a0a679dd. refs #38449
- src/hg/htdocs/indexNews.html
- lines changed 11, context: html, text, full: html, text
79b493d56edd2ffdafebdd20bc69528b3bdfee0a Mon Sep 28 15:54:54 2026 -0700
News announcement for the redesigned BLAT search and results pages, with the
matching indexNews.html item. The entry carries two anchors: #100726 for the
usual date form and #newBLAT, which the blatNewFormNewsUrl hg.conf setting on
the BLAT banner points at. The banner announces the switch to the new pages
on October 28. refs #37996
- src/hg/hubApi/apiUtils.c
- lines changed 4, context: html, text, full: html, text
d6c216fa6a01dbd47ae3a8848d0b6456adf31a4b Mon Sep 21 17:31:58 2026 -0700
hubApi: serve bigNarrowPeak tracks, refs #38395
initSupportedTypes() advertises bigNarrowPeak but allowedBigBedType() left
it out, so bigFileOpen() returned NULL for a type the API says it supports.
Three endpoints were affected: /getData/track and /list/schema reported the
bigDataUrl as missing although the file was there, and /list/chromosomes
killed the CGI, because bigFileChromInfoOutput() passed the null bbi
straight to bbiChromList().
Add bigNarrowPeak to allowedBigBedType(), guard the null in
bigFileChromInfoOutput() so a future divergence between the two lists is a
415 rather than a crash, and note in each list that they have to agree.
Adds a bigNarrowPeak test to the supportedTypes group covering all three
endpoints.
- src/hg/hubApi/blat.c
- lines changed 1, context: html, text, full: html, text
7a501bfcc6b8f658a1a3c2b3dfce70a5915243cb Fri Oct 2 15:09:30 2026 -0700
Updating the /blat missing API key error message in hubApi from "My Track Hubs" to "Track Hubs" to match the My Data menu, refs #37858
- src/hg/hubApi/hubApi.c
- lines changed 4, context: html, text, full: html, text
d6c216fa6a01dbd47ae3a8848d0b6456adf31a4b Mon Sep 21 17:31:58 2026 -0700
hubApi: serve bigNarrowPeak tracks, refs #38395
initSupportedTypes() advertises bigNarrowPeak but allowedBigBedType() left
it out, so bigFileOpen() returned NULL for a type the API says it supports.
Three endpoints were affected: /getData/track and /list/schema reported the
bigDataUrl as missing although the file was there, and /list/chromosomes
killed the CGI, because bigFileChromInfoOutput() passed the null bbi
straight to bbiChromList().
Add bigNarrowPeak to allowedBigBedType(), guard the null in
bigFileChromInfoOutput() so a future divergence between the two lists is a
415 rather than a crash, and note in each list that they have to agree.
Adds a bigNarrowPeak test to the supportedTypes group covering all three
endpoints.
- src/hg/hubApi/list.c
- lines changed 2, context: html, text, full: html, text
d6c216fa6a01dbd47ae3a8848d0b6456adf31a4b Mon Sep 21 17:31:58 2026 -0700
hubApi: serve bigNarrowPeak tracks, refs #38395
initSupportedTypes() advertises bigNarrowPeak but allowedBigBedType() left
it out, so bigFileOpen() returned NULL for a type the API says it supports.
Three endpoints were affected: /getData/track and /list/schema reported the
bigDataUrl as missing although the file was there, and /list/chromosomes
killed the CGI, because bigFileChromInfoOutput() passed the null bbi
straight to bbiChromList().
Add bigNarrowPeak to allowedBigBedType(), guard the null in
bigFileChromInfoOutput() so a future divergence between the two lists is a
415 rather than a crash, and note in each list that they have to agree.
Adds a bigNarrowPeak test to the supportedTypes group covering all three
endpoints.
- src/hg/hubApi/tests/expected/bigNarrowPeak.gz
- lines changed 0, context: html, text, full: html, text
d6c216fa6a01dbd47ae3a8848d0b6456adf31a4b Mon Sep 21 17:31:58 2026 -0700
hubApi: serve bigNarrowPeak tracks, refs #38395
initSupportedTypes() advertises bigNarrowPeak but allowedBigBedType() left
it out, so bigFileOpen() returned NULL for a type the API says it supports.
Three endpoints were affected: /getData/track and /list/schema reported the
bigDataUrl as missing although the file was there, and /list/chromosomes
killed the CGI, because bigFileChromInfoOutput() passed the null bbi
straight to bbiChromList().
Add bigNarrowPeak to allowedBigBedType(), guard the null in
bigFileChromInfoOutput() so a future divergence between the two lists is a
415 rather than a crash, and note in each list that they have to agree.
Adds a bigNarrowPeak test to the supportedTypes group covering all three
endpoints.
- lines changed 0, context: html, text, full: html, text
49a1fd197eb0605976bbbe11b949ee425d6dad8a Thu Oct 1 09:48:50 2026 -0700
Updating hubApi bigNarrowPeak expected output to match the onlyVisibility to visibility change on fiberSeqCompendium_PM00001_peaks in commit ab234fe6290, No RM
- src/hg/hubApi/tests/expected/schema06.gz
- lines changed 0, context: html, text, full: html, text
a95e200266087402974f1b02831259d43009b085 Tue Sep 29 10:30:22 2026 -0700
Updating hubApi schema06 expected output to include the colorFields setting added to crispr10K in commit cf9cfcd463d, No RM
- src/hg/hubApi/tests/makefile
- lines changed 2, context: html, text, full: html, text
8adac4bab4fa18bf3cdea99b0da545272cf5652c Mon Sep 21 10:37:40 2026 -0700
Stripping the \r character from the hubApi err37/err38 test output due to the header printing fix in commit cb99f0b11bd, No RM
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- lines changed 14, context: html, text, full: html, text
d6c216fa6a01dbd47ae3a8848d0b6456adf31a4b Mon Sep 21 17:31:58 2026 -0700
hubApi: serve bigNarrowPeak tracks, refs #38395
initSupportedTypes() advertises bigNarrowPeak but allowedBigBedType() left
it out, so bigFileOpen() returned NULL for a type the API says it supports.
Three endpoints were affected: /getData/track and /list/schema reported the
bigDataUrl as missing although the file was there, and /list/chromosomes
killed the CGI, because bigFileChromInfoOutput() passed the null bbi
straight to bbiChromList().
Add bigNarrowPeak to allowedBigBedType(), guard the null in
bigFileChromInfoOutput() so a future divergence between the two lists is a
415 rather than a crash, and note in each list that they have to agree.
Adds a bigNarrowPeak test to the supportedTypes group covering all three
endpoints.
- src/hg/inc/asmAlias.h
- lines changed 3, context: html, text, full: html, text
124514ebfd25805353a22085ba5bc02c7bb7c159 Thu Oct 1 11:12:10 2026 -0700
asmAlias: keep a name that has its own active dbDb row instead of swapping it for an alias, refs #38444
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- src/hg/inc/bigBedFilter.h
- lines changed 15, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 15, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 18, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- src/hg/inc/hubConnect.h
- lines changed 8, context: html, text, full: html, text
b3a26a6aff3896d7577be7f42ce94a7d841c91c7 Wed Sep 23 16:41:09 2026 -0700
hgTrackUi: let a faceted composite load its metadata from any curated hub copy, refs #29344
Each sandbox attaches its own copy of a curated hub like hs1
(/gbdb/hs1/hubs/<curatedHubPrefix>/hub.txt), so a link to another
sandbox's copy arrived on other servers with that hub missing from the
cart, and the metadata file was refused. Now any copy in the curated
directory from dbDb is accepted. A hub that is not in the cart is
checked by its URL in hubStatus only, without fetching it.
- src/hg/inc/hui.h
- lines changed 13, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 13, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 9, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- src/hg/inc/quickLift.h
- lines changed 3, context: html, text, full: html, text
8de67388be9a67cb94ba95615b7643b4ddc385da Thu Sep 24 17:48:19 2026 -0700
quickLift: give a lifted maf block the reference's own bases, refs #38249
Inside a chain block the two assemblies run in step but need not agree base for base, and
the first row of a lifted block still carried the other assembly's letters. The details
page showed hg19's base in the human row of a block lifted onto hg38. quickLiftMafs now
reads the reference sequence once over the span of the lifted blocks and writes it into
that row, leaving the gaps where they are.
The lifted blocks are also sorted by position now. On a chain that turns the alignment
over they came back last to first, and the details page listed them in that order.
- src/hg/inc/trackHub.h
- lines changed 4, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- src/hg/inc/vcfUi.h
- lines changed 6, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 6, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 62, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- src/hg/js/autocompleteCat.js
- lines changed 16, context: html, text, full: html, text
81a04805893ab59c954464ac449abe65da05ac7f Mon Sep 21 16:28:30 2026 -0700
highlight NCBI "reference" assemblies in the search result and hg.conf gated with hgGateway.showRefBadge=on default is off refs #38401
- src/hg/js/facetedComposite.js
- lines changed 63, context: html, text, full: html, text
b5af24c744cd0f5571634a863c34f208bbd0a199 Wed Sep 23 11:15:40 2026 -0700
hgTrackUi: better error when a faceted composite's metadata file is refused, refs #29344
The 400 error now says which URL was refused and for which track, and
that a hub's metaDataUrl or colorSettingsUrl has to point inside the
hub's directory. facetedComposite.js now shows that text instead of
just "HTTP Status: 400".
Also in facetedComposite.js: facet values with a count of zero are
hidden, unless they are checked, and there is a new "Clear all filters"
button that unchecks all facets and empties the search boxes.
- src/hg/js/hgMyData.js
- lines changed 20, context: html, text, full: html, text
1ab5d5566906c050e5bc8ce2bf2a21cf0d08e439 Mon Sep 21 15:23:53 2026 -0700
Fix hubspace UI race condition on file metadata editing, wait for the hub.txt parse to finish before offering file metadata edit, refs #38398
- src/hg/js/hgSearch.js
- lines changed 12, context: html, text, full: html, text
e2c6af507b9d46c00083b9d560f643ee5f74e688 Fri Sep 25 13:11:31 2026 -0700
hgSearch: fix JS error clicking MANE search result links, refs #38285
- src/hg/js/hgTracks.js
- lines changed 7, context: html, text, full: html, text
2cdae04ddc1e46cdfc2e5e8cf479cbbbb616ad10 Tue Sep 22 15:55:10 2026 -0700
htmlSanitize tooltips before printing them into the page, refs #38226
- lines changed 530, context: html, text, full: html, text
18125243f8a0d219285fe081ed3f1eb8cd558ff2 Sat Sep 26 17:59:16 2026 -0700
hgTracks: GenBank as a fourth format in the "Download Current Track Data" dialog
The file holds the DNA of the region in view plus the selected track items
as a GenBank feature table, so a region opens in the sequence editors people
already use: SnapGene, Benchling, ApE and the rest. Blocks become join()
locations, thickStart..thickEnd a CDS for the types that really carry a gene
model, and an item running off the edge of the view gets the partial markers.
Written in javascript beside the existing JSON/CSV/TSV converters, because
the dialog is entirely client side: it adds one getData/sequence call to the
getData/track call it already makes.
Behind showGenbankDownload in hg.conf, default off, registered as a release
gate in hgConfCatalog.py. Wiggle-type tracks have no GenBank equivalent and
are greyed out while the format is selected, and the region is capped at
100 Mbp because the web browser has to build the whole file in memory.
The dialog itself is reworked at the same time, for every format: the output
format comes first, then the file name, the track list and the check-all
buttons; it uses the page's font size and normal-height buttons instead of
jquery-ui's smaller ones; and the position sits on its own line with the
strand the Reverse button is showing. hgTracks.c adds organism and
scientificName to jsonForClient, which the GenBank header needs.
refs #38433
- lines changed 19, context: html, text, full: html, text
8845ab537236d54abbc2b6815ea80de681ac21ef Sat Sep 26 22:08:34 2026 -0700
hgTracks: one track-data download at a time, a second click used to leave a timer nothing could stop
The download dialog polls a 200ms timer while it waits on the api and keeps
that timer id in one field. The Download button stays live while a request is
in flight, so a second click started a second timer and overwrote the id of
the first. Nothing could stop the first one after that: it went on firing
every 200ms once the data had been handed over and cleared, finding nothing
to build a file from each time, which since the GenBank output landed means
an alert box five times a second until the page is reloaded.
startDownload now returns if a download is already running, and the three
places that stop the timer go through stopWaiting(), which forgets the id as
well as clearing it, so the next download can start and a failed request does
not wedge the dialog.
refs #38433
- lines changed 58, context: html, text, full: html, text
6743564c0d16d85e588d5a9d80097e4690b91666 Tue Sep 29 15:37:43 2026 -0700
hgTracks: tell the user when a track download is incomplete or still being prepared, and put the GenBank size limit under hg.conf
Four things in the "Download Current Track Data" dialog, all of them about a
download that quietly does the wrong thing.
The api stops at a limit on how many items it will return and says so with
maxItemsLimit in the reply, which the dialog ignored. Worse, a truncated reply
carries two extra top level fields, maxItemsLimit and dataDownloadUrl, and the
CSV/TSV converter took every top level field it did not recognise for a track:
the string one was iterated one character per row, and the conversion threw
before writing anything. A truncated CSV or TSV download therefore produced no
file and no message at all. A track's value is always the array of its rows, so
that is now the test for what is a track, rather than a list of field names that
the api will keep outgrowing. All formats now say plainly that the file is
incomplete, and the GenBank file carries the same warning in its COMMENT block,
where it outlives the dialog.
Nothing showed that anything was happening between the click and the browser's
download, which is one second for two tracks and four for twenty, on a 20 kb
region. The Download button now goes disabled with a line beside it while the
file is prepared. It is in the button pane rather than the dialog body because
the body scrolls once the track list is long.
The GenBank region limit drops from 100 Mbp to 25 Mbp. 50 Mbp of chr1 with 24
tracks answers with 340 MB of track json and 50 MB of sequence, which the web
browser parses, copies into the file text and copies again into the Blob, so the
tab needs several times the region in memory. The limit is now the hg.conf
setting maxGenbankRegion, registered in hgConfCatalog.py as a knob: the ceiling
belongs to the machine and its users. It is read only when showGenbankDownload
is on, and a value that is not a positive number falls back to the default
rather than aborting the CGI.
refs #38433
- lines changed 8, context: html, text, full: html, text
0cfbb0ae0beabd4e52ccad30dd876d4d42795cba Tue Sep 29 23:32:19 2026 -0700
hgTracks: html-encode the values the track download dialog builds into its markup
The dialog assembles its html by string concatenation, and several of the values
that go in are not written by the code: the track names and short labels come
from trackDb, which for a hub means from the hub, the assembly name can carry a
hub's own naming, and the region line is whatever the position box holds. They
now go through htmlEncode() from utils.js, the shared helper, which covers both
element text and single-quoted attribute values, so a label or a name comes out
as the text it is meant to be.
refs #38226
- src/hg/js/utils.js
- lines changed 2, context: html, text, full: html, text
2cdae04ddc1e46cdfc2e5e8cf479cbbbb616ad10 Tue Sep 22 15:55:10 2026 -0700
htmlSanitize tooltips before printing them into the page, refs #38226
- lines changed 1, context: html, text, full: html, text
3f7bd2d5d5d8c71665acbd21926a2333afe2c674 Wed Sep 23 11:20:20 2026 -0700
Fix one last tooltip encoding spot after nightly code review, refs #38226
- src/hg/lib/asmAlias.c
- lines changed 6, context: html, text, full: html, text
124514ebfd25805353a22085ba5bc02c7bb7c159 Thu Oct 1 11:12:10 2026 -0700
asmAlias: keep a name that has its own active dbDb row instead of swapping it for an alias, refs #38444
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- src/hg/lib/cart.c
- lines changed 7, context: html, text, full: html, text
8c0ef9e7b8633c0994cdaf8030d9c49c8b402016 Sat Sep 26 21:53:54 2026 -0700
cart/hgSession: fix the session-load notice to always name the session actually loaded
- lines changed 4, context: html, text, full: html, text
3607635bd5f7e1f690f7a93ef30e9530387f817b Tue Sep 29 10:58:30 2026 -0700
cart: keep hgPcrResult_imgOrd, the PCR track's place after a drag, refs #38442
The check on hgPcrResult_<db> matches the hgPcrResult_ prefix, and hgPcrResult
is also the name of the track that shows the result. So when a user dragged
any track, the cart dropped hgPcrResult_imgOrd on the next load, and the PCR
track went back to the bottom of the image on every zoom or scroll. Exclude
that name exactly, the way hgPcrResult_targetStyle is already excluded.
- lines changed 7, context: html, text, full: html, text
758f5d57800f3a5eb3fdd49260bcefbc1435bb91 Mon Oct 5 08:14:28 2026 -0700
cartLoadUserSessionExt: copy the session owner and name before the cart is cleared, so the session-load notice names the loaded session, refs #38472
- src/hg/lib/customFactory.c
- lines changed 5, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- src/hg/lib/customTrack.c
- lines changed 2, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- src/hg/lib/geoMirror.c
- lines changed 70, context: html, text, full: html, text
b450839c514656467470338eaae47003e344b522 Sat Sep 26 21:52:53 2026 -0700
geoMirror: send peer sync payload as a POST body, and pin the certificate check for it
- src/hg/lib/hVarSubst.c
- lines changed 5, context: html, text, full: html, text
4a642d5f4c2a3102d5c2620af754d876146d7c24 Sat Sep 26 21:53:49 2026 -0700
trackHub: restrict a hub genome's organism/description to a plain display-label character set
- lines changed 31, context: html, text, full: html, text
8f1e82cfa7e46ca358c97ea135bf20cf0bbf6026 Sun Oct 4 10:49:13 2026 -0700
hVarSubst/trackHub: encode a hub genome's organism/date text instead of rejecting it
The earlier character-exclusion check could reject a hub whose organism or
freeze/date label uses ordinary punctuation that has every right to be there.
Replace it with a narrow %-encode of the two characters that mattered for
where this text gets substituted, applied at render time; everything else
passes through unchanged, refs #38399
- src/hg/lib/hdb.c
- lines changed 2, context: html, text, full: html, text
a0dde9c4583f3f1b7e31fd079b89ef4cc9b71cfd Mon Sep 21 17:22:33 2026 -0700
also recognize hut:/gbdb/genark as genark hubs from dbDb refs #38361
- lines changed 13, context: html, text, full: html, text
1a9c722ad341c178dc418034e51a1d015507db9b Fri Oct 2 20:23:47 2026 -0700
Let superTracks nest inside superTracks. refs #38460
A superTrack given a parent used to pass tdbQuery -check -strict and then be
dropped at load, with no warning: the browser reported the outer folder as not
found. Seven places each looked exactly one level up the parent chain, which is
what trackDb.h means by "Folders are superTracks. Currently only one level deep".
trackDbSuperMarkup skipped any track that was itself a superTrack when
resolving parent, so the link was never made
rFindTrack looked "to the sky" one level, so the outer super could
not be found by name
addChildRefsToParents only walked tdbList, which excludes superTracks, so an
inner super never reached its parent's children list
findSuperTrack matched tdb->parent->track only, so hgTrackUi could not
find the outer folder of a hub assembly
flatten rescued the immediate super parent only, so the outer one
was never written to the table
polishSupers polished the immediate parent only, so the outer super
reached the write with a NULL shortLabel and segfaulted
groupTrackListAddSuper made a track for one super above a member
setSuperTrackHasVisibleMembers marked one level visible
Each now walks the chain. The group list still shows only the outermost folder,
since superTrack members are not listed there; the inner folders appear on its
page with their own controls, as members always have.
Walking the chain makes a parent loop fatal where it used to be harmless, so
trackDbSuperMarkup now checks that the supertracks form a tree once every link
is set, and breaks a loop at the supertrack that closes it, naming that track.
Verified by planting a loop: before, hgTrackDb spun in trackDbSetting and had to
be killed; now it warns and loads. The same hazard in composite parents is
untouched and filed as #38471.
Regression: trackDb built with this and with the released hgTrackDb is
byte-identical on mm39 (20377 rows) and, on a tree with no nesting, on hg38
(55629) and hs1 (782). With a nested trackDb the only difference on hg38 is the
one rescued container row. hgTracks on hg38 renders the same 32 rows and the
same 10 supertrack controls as dev, and the wgEncodeReg member list is
unchanged.
Note for whoever deploys this: trackDbToTxt also has to be rebuilt. It writes
the curated hub trackDb.txt from the table, and a released one emits a member
whose parent stanza is missing, which breaks the hub.
- lines changed 13, context: html, text, full: html, text
314d1a9a41231220ae79fc971758da141c21f233 Fri Oct 2 21:36:10 2026 -0700
Revert the superTrack nesting fix on master; it lives on superTrackNesting. refs #38460
Taken off master with its only consumer, the TSS trackDb change reverted in the
previous commit. It is a library change every CGI links, in trackDbCustom.c,
hdb.c, hubConnect.c and hgTracks.c, and nothing on master needs it until the TSS
tracks nest again.
Kept on the superTrackNesting branch with its regression evidence. Note for
whoever lands it: trackDbToTxt has to be rebuilt too, or the curated hub it
writes names a parent stanza it did not emit.
- lines changed 13, context: html, text, full: html, text
93a3129444064c4d19b4cb49e24b6de4bd0e06a6 Fri Oct 2 21:41:15 2026 -0700
Restore the superTrack nesting fix. refs #38460
Taking this off master was over-cautious. It is wanted on its own: #38460 is a
real bug, a superTrack given a parent passes tdbQuery -check -strict and is then
silently dropped at load, and the fix should get into a release rather than wait
on a trackDb change that uses it.
Nothing on master nests yet, and the fix is behaviour-identical where nothing
does: trackDb built with it and with the released hgTrackDb is byte-identical on
hg38, hs1 and mm39, and hgTracks renders the same rows and supertrack controls
as dev.
The TSS trackDb change that uses this stays reverted, on superTrackNesting, until
this ships. Whoever releases it: trackDbToTxt has to be rebuilt too, or the
curated hub it writes names a parent stanza it did not emit.
- src/hg/lib/hgFind.c
- lines changed 5, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- src/hg/lib/hubConnect.c
- lines changed 73, context: html, text, full: html, text
b3a26a6aff3896d7577be7f42ce94a7d841c91c7 Wed Sep 23 16:41:09 2026 -0700
hgTrackUi: let a faceted composite load its metadata from any curated hub copy, refs #29344
Each sandbox attaches its own copy of a curated hub like hs1
(/gbdb/hs1/hubs/<curatedHubPrefix>/hub.txt), so a link to another
sandbox's copy arrived on other servers with that hub missing from the
cart, and the metadata file was refused. Now any copy in the curated
directory from dbDb is accepted. A hub that is not in the cart is
checked by its URL in hubStatus only, without fetching it.
- lines changed 12, context: html, text, full: html, text
1a9c722ad341c178dc418034e51a1d015507db9b Fri Oct 2 20:23:47 2026 -0700
Let superTracks nest inside superTracks. refs #38460
A superTrack given a parent used to pass tdbQuery -check -strict and then be
dropped at load, with no warning: the browser reported the outer folder as not
found. Seven places each looked exactly one level up the parent chain, which is
what trackDb.h means by "Folders are superTracks. Currently only one level deep".
trackDbSuperMarkup skipped any track that was itself a superTrack when
resolving parent, so the link was never made
rFindTrack looked "to the sky" one level, so the outer super could
not be found by name
addChildRefsToParents only walked tdbList, which excludes superTracks, so an
inner super never reached its parent's children list
findSuperTrack matched tdb->parent->track only, so hgTrackUi could not
find the outer folder of a hub assembly
flatten rescued the immediate super parent only, so the outer one
was never written to the table
polishSupers polished the immediate parent only, so the outer super
reached the write with a NULL shortLabel and segfaulted
groupTrackListAddSuper made a track for one super above a member
setSuperTrackHasVisibleMembers marked one level visible
Each now walks the chain. The group list still shows only the outermost folder,
since superTrack members are not listed there; the inner folders appear on its
page with their own controls, as members always have.
Walking the chain makes a parent loop fatal where it used to be harmless, so
trackDbSuperMarkup now checks that the supertracks form a tree once every link
is set, and breaks a loop at the supertrack that closes it, naming that track.
Verified by planting a loop: before, hgTrackDb spun in trackDbSetting and had to
be killed; now it warns and loads. The same hazard in composite parents is
untouched and filed as #38471.
Regression: trackDb built with this and with the released hgTrackDb is
byte-identical on mm39 (20377 rows) and, on a tree with no nesting, on hg38
(55629) and hs1 (782). With a nested trackDb the only difference on hg38 is the
one rescued container row. hgTracks on hg38 renders the same 32 rows and the
same 10 supertrack controls as dev, and the wgEncodeReg member list is
unchanged.
Note for whoever deploys this: trackDbToTxt also has to be rebuilt. It writes
the curated hub trackDb.txt from the table, and a released one emits a member
whose parent stanza is missing, which breaks the hub.
- lines changed 12, context: html, text, full: html, text
314d1a9a41231220ae79fc971758da141c21f233 Fri Oct 2 21:36:10 2026 -0700
Revert the superTrack nesting fix on master; it lives on superTrackNesting. refs #38460
Taken off master with its only consumer, the TSS trackDb change reverted in the
previous commit. It is a library change every CGI links, in trackDbCustom.c,
hdb.c, hubConnect.c and hgTracks.c, and nothing on master needs it until the TSS
tracks nest again.
Kept on the superTrackNesting branch with its regression evidence. Note for
whoever lands it: trackDbToTxt has to be rebuilt too, or the curated hub it
writes names a parent stanza it did not emit.
- lines changed 12, context: html, text, full: html, text
93a3129444064c4d19b4cb49e24b6de4bd0e06a6 Fri Oct 2 21:41:15 2026 -0700
Restore the superTrack nesting fix. refs #38460
Taking this off master was over-cautious. It is wanted on its own: #38460 is a
real bug, a superTrack given a parent passes tdbQuery -check -strict and is then
silently dropped at load, and the fix should get into a release rather than wait
on a trackDb change that uses it.
Nothing on master nests yet, and the fix is behaviour-identical where nothing
does: trackDb built with it and with the released hgTrackDb is byte-identical on
hg38, hs1 and mm39, and hgTracks renders the same rows and supertrack controls
as dev.
The TSS trackDb change that uses this stays reverted, on superTrackNesting, until
this ships. Whoever releases it: trackDbToTxt has to be rebuilt too, or the
curated hub it writes names a parent stanza it did not emit.
- src/hg/lib/hui.c
- lines changed 84, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 84, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 26, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- lines changed 6, context: html, text, full: html, text
bd6026f91fd94fe919fd1b815d27668759021196 Fri Sep 25 13:10:55 2026 -0700
Fix vcf filter code after merging with master, refs #37617
- src/hg/lib/quickLift.c
- lines changed 53, context: html, text, full: html, text
896eb991fff50f44f18811a05171e36fa111163d Thu Sep 24 17:13:20 2026 -0700
quickLift: leave empty blocks out of a protein alignment before lifting it, refs #38249
The UniProt bigPsl files store block sizes in bases, and pslFromBigPsl divides them by
three, so a block shorter than a codon loads with size 0. pslTransMap rejects such an
alignment and aborts, which replaced the whole lifted SwissProt track with a BUG message.
About one alignment in eight has a block like this. quickLiftPsl now lifts a copy with
the empty blocks removed. quickLiftTester has a new case in the shape of Q96ME1-2.
- lines changed 49, context: html, text, full: html, text
8de67388be9a67cb94ba95615b7643b4ddc385da Thu Sep 24 17:48:19 2026 -0700
quickLift: give a lifted maf block the reference's own bases, refs #38249
Inside a chain block the two assemblies run in step but need not agree base for base, and
the first row of a lifted block still carried the other assembly's letters. The details
page showed hg19's base in the human row of a block lifted onto hg38. quickLiftMafs now
reads the reference sequence once over the span of the lifted blocks and writes it into
that row, leaving the gaps where they are.
The lifted blocks are also sorted by position now. On a chain that turns the alignment
over they came back last to first, and the details page listed them in that order.
- lines changed 4, context: html, text, full: html, text
565ac9d3328f0be9631e61787e82c4768e96a963 Sun Oct 4 10:46:30 2026 -0700
quickLift: note that pslWithoutEmptyBlocks is dead code since #38300, refs #38249
- src/hg/lib/tests/cartPcrVarTester.c
- lines changed 74, context: html, text, full: html, text
da449b4fe2039f200a2f93d5209c48fe98c0a534 Tue Sep 29 10:58:30 2026 -0700
cartPcrVarTester: which hgPcrResult_ cart variables survive a cart load, refs #38442
Feeds hgPcrResult_ variables through cartParseOverHash() and says which are
kept. With the cart.c fix backed out it shows hgPcrResult_imgOrd dropped and
nothing else changes. Registry row and catalog note added.
- src/hg/lib/tests/expected/cartPcrVarTest
- lines changed 13, context: html, text, full: html, text
da449b4fe2039f200a2f93d5209c48fe98c0a534 Tue Sep 29 10:58:30 2026 -0700
cartPcrVarTester: which hgPcrResult_ cart variables survive a cart load, refs #38442
Feeds hgPcrResult_ variables through cartParseOverHash() and says which are
kept. With the cart.c fix backed out it shows hgPcrResult_imgOrd dropped and
nothing else changes. Registry row and catalog note added.
- src/hg/lib/tests/expected/mallocTopPadTest
- lines changed 1, context: html, text, full: html, text
384180e37487b4818cf7a98ca43479dda0bb282d Wed Sep 30 18:11:33 2026 -0700
backupParseTest, mallocTopPadTest: the off run sets its gate off by name, refs #38185, #38225
Each off conf only included ~/.hg.conf. A developer whose conf chain reaches one
that sets the gated variable got the gate on in both runs, and the test failed.
- src/hg/lib/tests/expected/pgSnpManyAllelesTest
- lines changed 9, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/hg/lib/tests/expected/quickLiftTest
- lines changed 9, context: html, text, full: html, text
896eb991fff50f44f18811a05171e36fa111163d Thu Sep 24 17:13:20 2026 -0700
quickLift: leave empty blocks out of a protein alignment before lifting it, refs #38249
The UniProt bigPsl files store block sizes in bases, and pslFromBigPsl divides them by
three, so a block shorter than a codon loads with size 0. pslTransMap rejects such an
alignment and aborts, which replaced the whole lifted SwissProt track with a BUG message.
About one alignment in eight has a block like this. quickLiftPsl now lifts a copy with
the empty blocks removed. quickLiftTester has a new case in the shape of Q96ME1-2.
- src/hg/lib/tests/expected/trackHubSkipHubNameTest
- lines changed 18, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- src/hg/lib/tests/expected/vcfInfoFilterTest
- lines changed 117, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- src/hg/lib/tests/input/pgSnpManyAlleles/test.vcf
- lines changed 8, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/hg/lib/tests/input/vcfInfoFilter/test.vcf
- lines changed 14, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- src/hg/lib/tests/makefile
- lines changed 1, context: html, text, full: html, text
a4caffa71aa9775117f5da25038d5ca5dadcd47a Mon Sep 21 14:29:12 2026 -0700
tests: name trashDirTester once in the hg/lib/tests all: target
859bc749b05 added the line twice. make no-ops the second one, so nothing
was broken, but the list should name it once. Found in code review.
refs #38303, refs #37623, refs #38391
- lines changed 4, context: html, text, full: html, text
0855c081b7178591b4d1548ec822ce4ea329ec37 Mon Sep 21 14:29:21 2026 -0700
tests: stop a comment dropping four testers out of hg/lib/tests all:
The all: target listed annoGratorTester on a commented line in the middle
of the list. The line above it ends in a backslash, so make joins the two
lines and the "#" then comments out the rest of the joined line. The
continuations carry that comment to the end, so binTest, customTrackTester,
hgvsTester and sqlCheck were never built by "make all". True since
b30a73b6c5f in 2021.
make test still built all four, because customTrackTest:, hgvsTest: and
binTest: each name their binary as a prerequisite. Only a bare "make all"
in this directory skipped them.
Moved the commented line below the list. All ten testers now build and
make test still passes.
refs #38391
- lines changed 6, context: html, text, full: html, text
1f5a5224a1eae411c945406c4e1adb2d5b18ebcb Tue Sep 22 10:46:35 2026 -0700
genarkLiftOverTest: set genarkLiftOver in the test's own conf, refs #38328
genarkLiftOverDbs returns NULL before it looks at anything when
genarkLiftOver is not set, so the test read as "0 back" on every line
and went red on an hg.conf that does not have the option. The build
account's conf does not have it. The test now writes its own conf and
sets the option, the same way geoMirrorSelfTest sets browser.node.
- lines changed 14, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- lines changed 8, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- lines changed 8, context: html, text, full: html, text
da449b4fe2039f200a2f93d5209c48fe98c0a534 Tue Sep 29 10:58:30 2026 -0700
cartPcrVarTester: which hgPcrResult_ cart variables survive a cart load, refs #38442
Feeds hgPcrResult_ variables through cartParseOverHash() and says which are
kept. With the cart.c fix backed out it shows hgPcrResult_imgOrd dropped and
nothing else changes. Registry row and catalog note added.
- lines changed 2, context: html, text, full: html, text
384180e37487b4818cf7a98ca43479dda0bb282d Wed Sep 30 18:11:33 2026 -0700
backupParseTest, mallocTopPadTest: the off run sets its gate off by name, refs #38185, #38225
Each off conf only included ~/.hg.conf. A developer whose conf chain reaches one
that sets the gated variable got the gate on in both runs, and the test failed.
- src/hg/lib/tests/pgSnpManyAllelesTester.c
- lines changed 60, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/hg/lib/tests/quickLiftTester.c
- lines changed 25, context: html, text, full: html, text
896eb991fff50f44f18811a05171e36fa111163d Thu Sep 24 17:13:20 2026 -0700
quickLift: leave empty blocks out of a protein alignment before lifting it, refs #38249
The UniProt bigPsl files store block sizes in bases, and pslFromBigPsl divides them by
three, so a block shorter than a codon loads with size 0. pslTransMap rejects such an
alignment and aborts, which replaced the whole lifted SwissProt track with a BUG message.
About one alignment in eight has a block like this. quickLiftPsl now lifts a copy with
the empty blocks removed. quickLiftTester has a new case in the shape of Q96ME1-2.
- src/hg/lib/tests/trackHubSkipHubNameTester.c
- lines changed 56, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- src/hg/lib/tests/vcfInfoFilterTester.c
- lines changed 219, context: html, text, full: html, text
284ccd608f06ac8c0222b56011aaf22bc7889d77 Sat Sep 26 12:12:04 2026 -0700
hg/lib tests: VCF INFO filters and colors, and trackHubSkipHubName on names with no second underscore, refs #37617, #37618, #38414
vcfInfoFilterTester reads a five-line VCF and builds each filter and color map from a
hand-made trackDb and cart: filter.*, filterText.* and filterValues.* on INFO fields and
on vep sub-fields, colorByInfo with the first-declared value winning, and the warning for
each setting the VCF header cannot support. trackHubSkipHubNameTester checks where the
returned pointer lands before reading through it.
- src/hg/lib/trackDbCustom.c
- lines changed 33, context: html, text, full: html, text
1a9c722ad341c178dc418034e51a1d015507db9b Fri Oct 2 20:23:47 2026 -0700
Let superTracks nest inside superTracks. refs #38460
A superTrack given a parent used to pass tdbQuery -check -strict and then be
dropped at load, with no warning: the browser reported the outer folder as not
found. Seven places each looked exactly one level up the parent chain, which is
what trackDb.h means by "Folders are superTracks. Currently only one level deep".
trackDbSuperMarkup skipped any track that was itself a superTrack when
resolving parent, so the link was never made
rFindTrack looked "to the sky" one level, so the outer super could
not be found by name
addChildRefsToParents only walked tdbList, which excludes superTracks, so an
inner super never reached its parent's children list
findSuperTrack matched tdb->parent->track only, so hgTrackUi could not
find the outer folder of a hub assembly
flatten rescued the immediate super parent only, so the outer one
was never written to the table
polishSupers polished the immediate parent only, so the outer super
reached the write with a NULL shortLabel and segfaulted
groupTrackListAddSuper made a track for one super above a member
setSuperTrackHasVisibleMembers marked one level visible
Each now walks the chain. The group list still shows only the outermost folder,
since superTrack members are not listed there; the inner folders appear on its
page with their own controls, as members always have.
Walking the chain makes a parent loop fatal where it used to be harmless, so
trackDbSuperMarkup now checks that the supertracks form a tree once every link
is set, and breaks a loop at the supertrack that closes it, naming that track.
Verified by planting a loop: before, hgTrackDb spun in trackDbSetting and had to
be killed; now it warns and loads. The same hazard in composite parents is
untouched and filed as #38471.
Regression: trackDb built with this and with the released hgTrackDb is
byte-identical on mm39 (20377 rows) and, on a tree with no nesting, on hg38
(55629) and hs1 (782). With a nested trackDb the only difference on hg38 is the
one rescued container row. hgTracks on hg38 renders the same 32 rows and the
same 10 supertrack controls as dev, and the wgEncodeReg member list is
unchanged.
Note for whoever deploys this: trackDbToTxt also has to be rebuilt. It writes
the curated hub trackDb.txt from the table, and a released one emits a member
whose parent stanza is missing, which breaks the hub.
- lines changed 33, context: html, text, full: html, text
314d1a9a41231220ae79fc971758da141c21f233 Fri Oct 2 21:36:10 2026 -0700
Revert the superTrack nesting fix on master; it lives on superTrackNesting. refs #38460
Taken off master with its only consumer, the TSS trackDb change reverted in the
previous commit. It is a library change every CGI links, in trackDbCustom.c,
hdb.c, hubConnect.c and hgTracks.c, and nothing on master needs it until the TSS
tracks nest again.
Kept on the superTrackNesting branch with its regression evidence. Note for
whoever lands it: trackDbToTxt has to be rebuilt too, or the curated hub it
writes names a parent stanza it did not emit.
- lines changed 33, context: html, text, full: html, text
93a3129444064c4d19b4cb49e24b6de4bd0e06a6 Fri Oct 2 21:41:15 2026 -0700
Restore the superTrack nesting fix. refs #38460
Taking this off master was over-cautious. It is wanted on its own: #38460 is a
real bug, a superTrack given a parent passes tdbQuery -check -strict and is then
silently dropped at load, and the fix should get into a release rather than wait
on a trackDb change that uses it.
Nothing on master nests yet, and the fix is behaviour-identical where nothing
does: trackDb built with it and with the released hgTrackDb is byte-identical on
hg38, hs1 and mm39, and hgTracks renders the same rows and supertrack controls
as dev.
The TSS trackDb change that uses this stays reverted, on superTrackNesting, until
this ships. Whoever releases it: trackDbToTxt has to be rebuilt too, or the
curated hub it writes names a parent stanza it did not emit.
- src/hg/lib/trackHub.c
- lines changed 4, context: html, text, full: html, text
0325ff9542311af737bd2eadd9b105d863c79574 Tue Sep 22 10:58:54 2026 -0700
Make trackHubSkipHubName not return invalid pointers on bad input names, refs #38414
- lines changed 2, context: html, text, full: html, text
05c7e605c01e595561c32690eb44a7512041e540 Wed Sep 23 09:34:08 2026 -0700
hubCheck: reject a bigBed type line that declares fewer than three fields, refs #36940
hgc already stops on "type bigBed 1" or "type bigBed 2", but hubCheck
passed both, so a hub author only found out when a user clicked an item.
Check the declared count against the minimum of three next to the
existing check against the file's field count. A bare "type bigBed"
does not reach this code and is unchanged.
Adds a fieldCountTooFew test with bigBed 1 and bigBed 2 tracks.
- lines changed 17, context: html, text, full: html, text
beb596d6144e0deb9ce96c5955c71e6d5f4eaec9 Sat Sep 26 13:01:02 2026 -0700
trackHub: add an hg.conf switch for hub description page handling, refs #38126
hubHtmlSanitizeOn() in trackHub.c reads the hg.conf setting hubHtmlSanitize,
default off, and the description page code in lib and cgilib asks it. With
the setting off, that code behaves as it did in v503. hubCheck follows the
same setting.
- lines changed 15, context: html, text, full: html, text
4a642d5f4c2a3102d5c2620af754d876146d7c24 Sat Sep 26 21:53:49 2026 -0700
trackHub: restrict a hub genome's organism/description to a plain display-label character set
- lines changed 1, context: html, text, full: html, text
dba11b63364870388011d5f04c6563ed440eb2a1 Thu Sep 24 13:49:56 2026 -0700
quickLift: a container set back to show no longer stays hidden on the target, refs #38198
When hgTracks arrives from a lift (hideTracks), it read a quickLifted
superTrack's state from the cart. It copied the source's bare cart value, such
as wgEncodeReg4, to hub_NNN_wgEncodeReg4 and then removed the bare one. That
had two effects. A container hidden before one lift kept the stored hide after
every later lift. This happened because hgTracks prunes a container value that
equals its default, so a container set back to show left nothing to carry
over. Visiting the target also deleted the source's own setting.
The cart read was added for #37535, when the lifted stanza still ended with
the source's "superTrack on hide". #37969 removed that line, so the stanza is
now correct. On a lift the stanza decides again: any hub_ value for the
container is dropped, and the source's value is left alone.
Also write "visibility show" for the container rather than "visibility hide".
walkTree passed "tvShow" to hTvFromString, which does not know that string and
returns hide.
With this change, a container hidden on the source keeps its earlier stanza on
the target, the same as a hidden track.
- lines changed 15, context: html, text, full: html, text
8f1e82cfa7e46ca358c97ea135bf20cf0bbf6026 Sun Oct 4 10:49:13 2026 -0700
hVarSubst/trackHub: encode a hub genome's organism/date text instead of rejecting it
The earlier character-exclusion check could reject a hub whose organism or
freeze/date label uses ordinary punctuation that has every right to be there.
Replace it with a narrow %-encode of the two characters that mattered for
where this text gets substituted, applied at render time; everything else
passes through unchanged, refs #38399
- src/hg/lib/vcfUi.c
- lines changed 67, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 67, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 624, context: html, text, full: html, text
de6d2d4e5d0106a57d1ada79e9e36005676c260e Fri Sep 25 12:39:18 2026 -0700
Add trackDb defined filters, coloring, and mouseovers for vcf tracks, using INFO fields or sub INFO fields, like vep.Consequence, refs #37617, #37618
- lines changed 7, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- src/hg/makeDb/doc/bacteriaAsmHub/bacteria.orderList.tsv
- lines changed 1, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/birdsAsmHub/birds.orderList.tsv
- lines changed 10, context: html, text, full: html, text
59b419bcf74bc81e7de2f4227db3db79432e7898 Mon Sep 21 18:23:24 2026 -0700
VGP update refs #29545
- lines changed 2, context: html, text, full: html, text
8046b546777ffbd1c1745e081bd419901b7d2efd Sun Sep 27 09:08:33 2026 -0700
continuing VGP update refs #39545
- lines changed 1, context: html, text, full: html, text
dd43de4966296736e36a57a5921f3902e665d27a Sun Sep 27 22:43:02 2026 -0700
VGP update refs #29545
- lines changed 53, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/ce11/gpnStar.txt
- lines changed 51, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/doc/contrib/hprc2annot/hprc2annot.txt
- lines changed 22, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/doc/dm6/gpnStar.txt
- lines changed 51, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/doc/enigma.txt
- lines changed 45, context: html, text, full: html, text
116aaf68aa340197a2a63856a90f533909e15f92 Fri Oct 2 14:25:53 2026 -0700
BRCAmlaZanti.py: match ENIGMA PP4/BP5 variants by normalized genomic allele instead of HGVS name, so the 297 variants the source papers spell differently (c.4574_4575del vs Li's c.4574_4575delAA, Zanti's ins for a dup, del15) become one item with their LRs multiplied, as Finja Hennig asked. Every item is now drawn the way the ClinVar track draws it (deleted bases shifted left, 2 bp flank for ins/dup), names drop spelled-out bases, LRs are written with 5 significant figures, and the Zanti <CNV> row is dropped. Zanti rows are keyed from their own VCF columns because hgvsToVcf mis-converts intronic insertions (#38469), and the pre-Zanti input now comes from archive/v1.1 since /gbdb BRCAmfa.bb is this script's own output. The hgvsToVcf FILTER and del/dup count checks were added after a Claude review. refs #38467
- src/hg/makeDb/doc/fishAsmHub/fish.orderList.tsv
- lines changed 1, context: html, text, full: html, text
a483ae438425d48eab80887eab161c20b97af775 Mon Sep 21 17:59:40 2026 -0700
GCF_049306965.2 should also display its name GRCz12tu in the menus refs #38361
- lines changed 2, context: html, text, full: html, text
8046b546777ffbd1c1745e081bd419901b7d2efd Sun Sep 27 09:08:33 2026 -0700
continuing VGP update refs #39545
- lines changed 1, context: html, text, full: html, text
dd43de4966296736e36a57a5921f3902e665d27a Sun Sep 27 22:43:02 2026 -0700
VGP update refs #29545
- lines changed 47, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/galGal6/gpnStar.txt
- lines changed 51, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/doc/hg19.txt
- lines changed 16, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/doc/hg38/episignatures.txt
- lines changed 16, context: html, text, full: html, text
752cb1161a3dc006932fd3ba179c9b2fbe449c8d Fri Sep 25 14:27:43 2026 -0700
Updating the episignatures makedoc for the semicolon filter labels and adding a recount command for the opposite-direction sites count, refs #38112
- lines changed 12, context: html, text, full: html, text
9e51fd38996566e7a6cc29dd67f2e05fa429ca3c Mon Sep 28 14:30:05 2026 -0700
hg38 episignatures: hide epigenCentral bigBed from hgdownload
Lou asked for downloads off for this track. tableBrowser off already
covers Table Browser/Data Integrator/REST API, but the bigBed itself
was still reachable on hgdownload. Prefix the gbdb filename with "_",
same convention used for the restricted varFreqs subtracks, which
hgdownload's rsync excludes. methaDory.bb is unaffected. refs #38112
- src/hg/makeDb/doc/hg38/fiberSeq.txt
- lines changed 16, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- lines changed 1, context: html, text, full: html, text
0ba660768822e93ed43e9a717f580c525094caf8 Mon Sep 28 16:42:18 2026 -0700
Fiber-seq: sentence case for the Common cell line sample class, which was
Title Cased because that is how Mitchell wrote it in the mail that gave us
the classification rule. The other two values were already right, and
tadsEncode's organ facet is the precedent (Adrenal gland, Bone marrow). The
swatch table on the description page had been saying "Common cell line" in
its prose all along, so the filter label and the text explaining it now
agree. fiberSeq.ra is untouched: the class only lives in the metadata TSV
and the colors JSON, both read at runtime, so no trackDb reload is needed.
Caught by Lou. refs #36210
- lines changed 11, context: html, text, full: html, text
ab234fe62907c81b702a63f5a73d40500a40916f Tue Sep 29 16:12:28 2026 -0700
Fiber-seq: give the FIRE peak subtracks "visibility dense" instead of
"onlyVisibility dense", so their mouseOver can actually be seen.
onlyVisibility pins a faceted child rather than defaulting it:
tdbVisLimitedByAncestors() in hg/lib/hui.c overwrites the computed visibility
with the pinned mode, so a request for pack or full was discarded even from
the URL, and the dropdown offered only hide and dense. Since no bigBed-like
track draws per-item map boxes in dense, the mouseOver on all 41 peak stanzas
was dead config and fiberSeqCompendium.html was promising a hover nobody could
reach. Measured at ACTB with the map_data image map: pinned, a forced pack
still computed to dense with 0 FIRE tooltips; defaulted, pack and full compute
correctly and carry 8. Peaks still come up dense, which is what Andrew asked
for in July. The signal types keep onlyVisibility, where pinning to full
costs nothing because a bigWig draws the same at pack and full, and that is
verified here too: acc, cpg and hap stay at full whatever is requested, and
the container stays hidden on a fresh cart. Also fixes two makeDoc slips, the
facet notes naming the script's dict keys rather than the column headings
writeMetadata() emits, and the opening summary still saying accessibility and
CpG "both became faceted composites" when they were merged into one 235 lines
later. Caught by Claude review of 156d289 and 5179d7f. refs #38407
- src/hg/makeDb/doc/hg38/gpnStar.txt
- lines changed 71, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/doc/hg38/hprcPclai.txt
- lines changed 3, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/doc/hg38/mavemd.txt
- lines changed 27, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/doc/hg38/mei.txt
- lines changed 60, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/doc/hg38/problematic.txt
- lines changed 23, context: html, text, full: html, text
b197e1670a076b65838fd91b869a4ec1c3096c0f Wed Sep 23 16:08:08 2026 -0700
Add Panmask Difficult 151b, the inverse of Panmask Easy 151b, for the Problematic Regions RTS
Panmask marks easy regions under a "Problematic Regions" container, which Anna
flagged as confusing. Rather than change the released Panmask Easy track, add
a second track with the complement regions, built with featureBits (excluding
assembly gaps and restricted to the 24 chromosomes Panmask itself covers).
Checked the source first: Zenodo record 16755940 is still v1.4, same version
already in use, MD5 verified. New track is alpha only for QA to pick up.
refs #38375
- lines changed 3, context: html, text, full: html, text
2ae817bcd648f2a3184bb4b118840e65749fea2d Thu Sep 24 04:15:20 2026 -0700
problematic.txt/html: reconcile Panmask Easy/Difficult coverage to 87.8%/12.2%, one decimal place, refs #38375
- src/hg/makeDb/doc/hg38/tad.txt
- lines changed 4, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/doc/hg38/transcriptionStart.txt
- lines changed 9, context: html, text, full: html, text
acf20930c5cdfa1e352826a702ad8f36344178c4 Thu Sep 24 21:16:13 2026 -0700
Fixes from an independent review of the TSS tracks. refs #35528
The Data Access sections told users to pass the composite name to the API, which
returns HTTP 400. The API serves one bigWig at a time, so both pages now name a
single strand of one cell line, verified to return 200.
encode4ProCap.html claimed the kent tree held the manifest of which ENCODE files
went into each track, and it did not. Commit that manifest as
proCapNetEncodeFiles.tsv and name it on the page. It matters because
proCapNetEncodeMeta resolves each experiment's default analysis at run time, so
re-running it after an ENCODE reprocessing can pick different files.
Cite Shah et al. for the ENCODE 4 nascent transcriptome survey the six PRO-cap
experiments come from. Sagar Shah was credited by name with no reference.
The hg38 makedoc called the 164268582 dropped bases "the N regions", but gap on
the primary chromosomes is 150610728. The extra 13.7 Mb is sequence flanking each
gap, dropped because most of its 2114 bp window was unresolved.
- lines changed 6, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 44, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- lines changed 14, context: html, text, full: html, text
1c32191759769c28cf763342f5e405420add0170 Thu Oct 1 21:20:54 2026 -0700
Make the TSS tracks superTracks of multiWig overlays. refs #35528
The composite held the multiWig overlays as children, which drew correctly but
left two faults, both from hgTrackUi listing descendant leaves rather than
containers: an overlay got no configuration block of its own, and hiding both
strands of a cell line left an empty row where the overlay had been. That is
#38441.
As superTrack members the overlays are tracks in their own right. Each gets a
full configuration page, including overlay method and negate values, and hiding
one hides the whole overlay. Verified: hiding proCapNet_K562_pred removes the
row and leaves the other five.
Two top-level superTracks, PRO-cap and ProCapNet, rather than one
transcriptionStart folder holding both. superTracks do not nest. A superTrack
given a parent passes tdbQuery -check -strict and is then dropped at load, since
trackDbSuperMarkup refuses to set a parent on a superTrack and hgTrackDb only
writes a superTrack that some track names as its parent. Filed as #38460, with
the test case; transcriptionStart.html stays in the tree unused in case it is
fixed.
What this costs: the subtrack matrix and the sample class filter, which a
superTrack does not offer. Each overlay now carries its own wiggle settings and
its own html, neither being inherited from a container any more.
- lines changed 8, context: html, text, full: html, text
d0ddd717713f275dc2f567c9b6d733fd3f55bd90 Fri Oct 2 21:27:25 2026 -0700
Put PRO-cap and ProCapNet inside a Transcription Initiation folder. refs #35528
The two data sources were top-level superTracks because a superTrack could not
be a member of another one. #38460 fixes that, so they now sit inside a
transcriptionStart superTrack, which is what the collection was meant to be.
The container is written before either of its children, and both children before
any of their members: tdbQuery -strict rejects a file in which another track
comes between a superTrack and one of its children.
This depends on the #38460 build. A plain make here with the installed binaries
produces a half-built state, since hgTrackDb drops the container from the table
and trackDbToTxt then writes an hs1 curated hub whose member names a parent
stanza that is not there. Both makedocs say so.
- lines changed 8, context: html, text, full: html, text
e314363411293556f33418abe8923ad1e8bc496a Fri Oct 2 21:36:04 2026 -0700
Revert the TSS nesting on master; it lives on superTrackNesting. refs #35528
Putting PRO-cap and ProCapNet inside a transcriptionStart superTrack needs the
nesting fix in #38460, which is not released. These tracks were released in
3bee9e40921, so on beta and the RR hgTrackDb would drop the container and
trackDbToTxt would write an hs1 curated hub whose members name a parent stanza
that is not there.
The work is on the superTrackNesting branch and can come back once #38460 ships.
- lines changed 4, context: html, text, full: html, text
1e8f4a189b1ad69e1cc4d60177b74ab1fd249da9 Fri Oct 2 22:22:36 2026 -0700
Record that previousPred has been deleted. refs #35528
367 GB of un-negated minus-strand predictions, kept while the negated files went
through QA. Deleting them loses nothing recoverable: negation is its own
inverse, so an original comes back by running proCapNetPredToFixedStep --negate
over the file now in pred/.
- lines changed 15, context: html, text, full: html, text
0c42aea56b751a2b4a58feb225a9659819a90994 Sat Oct 3 06:22:01 2026 -0700
Nest the TSS tracks on alpha only, leaving the release as it is. refs #35528
PRO-cap and ProCapNet sit inside a transcriptionStart superTrack on alpha. That
needs #38460, which is on master but not in a release, and these tracks are
already released, so each source is written twice with complementary release
tags: the nested copy alpha, the flat copy beta,public. hgTrackDb takes the copy
whose release matches and rejects two whose releases overlap.
Verified that beta and public are untouched: a public build from this file is
byte-identical to a public build from the released flat tree, same md5 over
tableName, shortLabel, type, visibility, priority and settings. tdbQuery -check
-strict passes on all three releases, and an alpha build has the container with
both members parented while beta and public have neither.
Drop the release tags and the flat copies once #38460 ships.
The makedocs also record that the alpha build needs hgTrackDb and trackDbToTxt
in /cluster/bin/x86_64 to carry the #38460 fix. make alpha does not install
there, BINDIR defaults to ~/bin/$MACHTYPE, so they were put in by hand and the
weekly utils build will overwrite them.
- src/hg/makeDb/doc/hg38/varFreqs.txt
- lines changed 93, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 30, context: html, text, full: html, text
f03f56cd3c795a6fba2b8419662a9a2c5d49f69a Sat Sep 26 14:16:17 2026 -0700
sfariSparkWgs45kAsd: now genome-wide (518M variants from the 45,178 genotype pVCFs, run on parasol); per-allele INFO fields declared Number=1 so the VCF track filters accept them, doc page no longer says DSCAM only, refs #38424
- lines changed 115, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- lines changed 58, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- lines changed 17, context: html, text, full: html, text
66c51e29423da24a7144c7ba99a4cc2ebc96b32c Mon Sep 28 13:54:36 2026 -0700
varFreqs: combined tracks rebuilt with SFARI SPARK 45k WGS (without its NonHumanIns insertions); add its filter blocks, affected label now ~150,000 individuals, refs #38424
- lines changed 12, context: html, text, full: html, text
9cedfa38c14068c79dec89f76c606ee22b3f931a Wed Sep 30 15:02:37 2026 -0700
phasedVars: new subtrack hgdp1kSnv, a 17GB version of the 3.5TB gnomAD HGDP+1000G genotype VCF with only SNVs with AC>5 and only GT, so haplotype clustering can be shown up to 5Mbp, refs #37306
- src/hg/makeDb/doc/hs1/t2t-supplied.txt
- lines changed 103, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/doc/hs1/transcriptionStart.txt
- lines changed 1, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 44, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- lines changed 14, context: html, text, full: html, text
1c32191759769c28cf763342f5e405420add0170 Thu Oct 1 21:20:54 2026 -0700
Make the TSS tracks superTracks of multiWig overlays. refs #35528
The composite held the multiWig overlays as children, which drew correctly but
left two faults, both from hgTrackUi listing descendant leaves rather than
containers: an overlay got no configuration block of its own, and hiding both
strands of a cell line left an empty row where the overlay had been. That is
#38441.
As superTrack members the overlays are tracks in their own right. Each gets a
full configuration page, including overlay method and negate values, and hiding
one hides the whole overlay. Verified: hiding proCapNet_K562_pred removes the
row and leaves the other five.
Two top-level superTracks, PRO-cap and ProCapNet, rather than one
transcriptionStart folder holding both. superTracks do not nest. A superTrack
given a parent passes tdbQuery -check -strict and is then dropped at load, since
trackDbSuperMarkup refuses to set a parent on a superTrack and hgTrackDb only
writes a superTrack that some track names as its parent. Filed as #38460, with
the test case; transcriptionStart.html stays in the tree unused in case it is
fixed.
What this costs: the subtrack matrix and the sample class filter, which a
superTrack does not offer. Each overlay now carries its own wiggle settings and
its own html, neither being inherited from a container any more.
- lines changed 8, context: html, text, full: html, text
d0ddd717713f275dc2f567c9b6d733fd3f55bd90 Fri Oct 2 21:27:25 2026 -0700
Put PRO-cap and ProCapNet inside a Transcription Initiation folder. refs #35528
The two data sources were top-level superTracks because a superTrack could not
be a member of another one. #38460 fixes that, so they now sit inside a
transcriptionStart superTrack, which is what the collection was meant to be.
The container is written before either of its children, and both children before
any of their members: tdbQuery -strict rejects a file in which another track
comes between a superTrack and one of its children.
This depends on the #38460 build. A plain make here with the installed binaries
produces a half-built state, since hgTrackDb drops the container from the table
and trackDbToTxt then writes an hs1 curated hub whose member names a parent
stanza that is not there. Both makedocs say so.
- lines changed 8, context: html, text, full: html, text
e314363411293556f33418abe8923ad1e8bc496a Fri Oct 2 21:36:04 2026 -0700
Revert the TSS nesting on master; it lives on superTrackNesting. refs #35528
Putting PRO-cap and ProCapNet inside a transcriptionStart superTrack needs the
nesting fix in #38460, which is not released. These tracks were released in
3bee9e40921, so on beta and the RR hgTrackDb would drop the container and
trackDbToTxt would write an hs1 curated hub whose members name a parent stanza
that is not there.
The work is on the superTrackNesting branch and can come back once #38460 ships.
- lines changed 4, context: html, text, full: html, text
1e8f4a189b1ad69e1cc4d60177b74ab1fd249da9 Fri Oct 2 22:22:36 2026 -0700
Record that previousPred has been deleted. refs #35528
367 GB of un-negated minus-strand predictions, kept while the negated files went
through QA. Deleting them loses nothing recoverable: negation is its own
inverse, so an original comes back by running proCapNetPredToFixedStep --negate
over the file now in pred/.
- lines changed 15, context: html, text, full: html, text
0c42aea56b751a2b4a58feb225a9659819a90994 Sat Oct 3 06:22:01 2026 -0700
Nest the TSS tracks on alpha only, leaving the release as it is. refs #35528
PRO-cap and ProCapNet sit inside a transcriptionStart superTrack on alpha. That
needs #38460, which is on master but not in a release, and these tracks are
already released, so each source is written twice with complementary release
tags: the nested copy alpha, the flat copy beta,public. hgTrackDb takes the copy
whose release matches and rejects two whose releases overlap.
Verified that beta and public are untouched: a public build from this file is
byte-identical to a public build from the released flat tree, same md5 over
tableName, shortLabel, type, visibility, priority and settings. tdbQuery -check
-strict passes on all three releases, and an alpha build has the container with
both members parented while beta and public have neither.
Drop the release tags and the flat copies once #38460 ships.
The makedocs also record that the alpha build needs hgTrackDb and trackDbToTxt
in /cluster/bin/x86_64 to carry the #38460 fix. make alpha does not install
there, BINDIR defaults to ~/bin/$MACHTYPE, so they were put in by hand and the
weekly utils build will overwrite them.
- src/hg/makeDb/doc/invertebrateAsmHub/invertebrate.orderList.tsv
- lines changed 1, context: html, text, full: html, text
59b419bcf74bc81e7de2f4227db3db79432e7898 Mon Sep 21 18:23:24 2026 -0700
VGP update refs #29545
- lines changed 1, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/mammalsAsmHub/mammals.orderList.tsv
- lines changed 3, context: html, text, full: html, text
8046b546777ffbd1c1745e081bd419901b7d2efd Sun Sep 27 09:08:33 2026 -0700
continuing VGP update refs #39545
- lines changed 18, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/mm39/gpnStar.txt
- lines changed 51, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/doc/primatesAsmHub/primates.orderList.tsv
- lines changed 4, context: html, text, full: html, text
8046b546777ffbd1c1745e081bd419901b7d2efd Sun Sep 27 09:08:33 2026 -0700
continuing VGP update refs #39545
- src/hg/makeDb/doc/vertebrateAsmHub/vertebrate.orderList.tsv
- lines changed 5, context: html, text, full: html, text
59b419bcf74bc81e7de2f4227db3db79432e7898 Mon Sep 21 18:23:24 2026 -0700
VGP update refs #29545
- lines changed 2, context: html, text, full: html, text
e964722613c1b0f9ab40c3a6870ba6d8060f523f Sun Sep 27 09:25:53 2026 -0700
VGP update refs #29545
- lines changed 15, context: html, text, full: html, text
b19feb943205afd4ef3915f13476613f2562f773 Sun Oct 4 14:35:46 2026 -0700
continue VGP update refs #29545
- src/hg/makeDb/doc/vgpAsmHub/vgp.primary.orderList.tsv
- lines changed 4, context: html, text, full: html, text
5696aa327678ae46e826978431f0655af289062d Sun Sep 27 22:41:38 2026 -0700
NCBI name changing refs #29545
- src/hg/makeDb/hgTrackDb/hgTrackDb.c
- lines changed 15, context: html, text, full: html, text
1a9c722ad341c178dc418034e51a1d015507db9b Fri Oct 2 20:23:47 2026 -0700
Let superTracks nest inside superTracks. refs #38460
A superTrack given a parent used to pass tdbQuery -check -strict and then be
dropped at load, with no warning: the browser reported the outer folder as not
found. Seven places each looked exactly one level up the parent chain, which is
what trackDb.h means by "Folders are superTracks. Currently only one level deep".
trackDbSuperMarkup skipped any track that was itself a superTrack when
resolving parent, so the link was never made
rFindTrack looked "to the sky" one level, so the outer super could
not be found by name
addChildRefsToParents only walked tdbList, which excludes superTracks, so an
inner super never reached its parent's children list
findSuperTrack matched tdb->parent->track only, so hgTrackUi could not
find the outer folder of a hub assembly
flatten rescued the immediate super parent only, so the outer one
was never written to the table
polishSupers polished the immediate parent only, so the outer super
reached the write with a NULL shortLabel and segfaulted
groupTrackListAddSuper made a track for one super above a member
setSuperTrackHasVisibleMembers marked one level visible
Each now walks the chain. The group list still shows only the outermost folder,
since superTrack members are not listed there; the inner folders appear on its
page with their own controls, as members always have.
Walking the chain makes a parent loop fatal where it used to be harmless, so
trackDbSuperMarkup now checks that the supertracks form a tree once every link
is set, and breaks a loop at the supertrack that closes it, naming that track.
Verified by planting a loop: before, hgTrackDb spun in trackDbSetting and had to
be killed; now it warns and loads. The same hazard in composite parents is
untouched and filed as #38471.
Regression: trackDb built with this and with the released hgTrackDb is
byte-identical on mm39 (20377 rows) and, on a tree with no nesting, on hg38
(55629) and hs1 (782). With a nested trackDb the only difference on hg38 is the
one rescued container row. hgTracks on hg38 renders the same 32 rows and the
same 10 supertrack controls as dev, and the wgEncodeReg member list is
unchanged.
Note for whoever deploys this: trackDbToTxt also has to be rebuilt. It writes
the curated hub trackDb.txt from the table, and a released one emits a member
whose parent stanza is missing, which breaks the hub.
- lines changed 15, context: html, text, full: html, text
314d1a9a41231220ae79fc971758da141c21f233 Fri Oct 2 21:36:10 2026 -0700
Revert the superTrack nesting fix on master; it lives on superTrackNesting. refs #38460
Taken off master with its only consumer, the TSS trackDb change reverted in the
previous commit. It is a library change every CGI links, in trackDbCustom.c,
hdb.c, hubConnect.c and hgTracks.c, and nothing on master needs it until the TSS
tracks nest again.
Kept on the superTrackNesting branch with its regression evidence. Note for
whoever lands it: trackDbToTxt has to be rebuilt too, or the curated hub it
writes names a parent stanza it did not emit.
- lines changed 15, context: html, text, full: html, text
93a3129444064c4d19b4cb49e24b6de4bd0e06a6 Fri Oct 2 21:41:15 2026 -0700
Restore the superTrack nesting fix. refs #38460
Taking this off master was over-cautious. It is wanted on its own: #38460 is a
real bug, a superTrack given a parent passes tdbQuery -check -strict and is then
silently dropped at load, and the fix should get into a release rather than wait
on a trackDb change that uses it.
Nothing on master nests yet, and the fix is behaviour-identical where nothing
does: trackDb built with it and with the released hgTrackDb is byte-identical on
hg38, hs1 and mm39, and hgTracks renders the same rows and supertrack controls
as dev.
The TSS trackDb change that uses this stays reverted, on superTrackNesting, until
this ships. Whoever releases it: trackDbToTxt has to be rebuilt too, or the
curated hub it writes names a parent stanza it did not emit.
- src/hg/makeDb/outside/proCapNet/proCapNetEncodeFiles.tsv
- lines changed 27, context: html, text, full: html, text
acf20930c5cdfa1e352826a702ad8f36344178c4 Thu Sep 24 21:16:13 2026 -0700
Fixes from an independent review of the TSS tracks. refs #35528
The Data Access sections told users to pass the composite name to the API, which
returns HTTP 400. The API serves one bigWig at a time, so both pages now name a
single strand of one cell line, verified to return 200.
encode4ProCap.html claimed the kent tree held the manifest of which ENCODE files
went into each track, and it did not. Commit that manifest as
proCapNetEncodeFiles.tsv and name it on the page. It matters because
proCapNetEncodeMeta resolves each experiment's default analysis at run time, so
re-running it after an ENCODE reprocessing can pick different files.
Cite Shah et al. for the ENCODE 4 nascent transcriptome survey the six PRO-cap
experiments come from. Sagar Shah was credited by name with no reference.
The hg38 makedoc called the 164268582 dropped bases "the N regions", but gap on
the primary chromosomes is 150610728. The extra 13.7 Mb is sequence flanking each
gap, dropped because most of its 2114 bp window was unresolved.
- src/hg/makeDb/outside/proCapNet/proCapNetPredBuild
- lines changed 4, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- src/hg/makeDb/outside/proCapNet/proCapNetPredToFixedStep
- lines changed 14, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- src/hg/makeDb/outside/proCapNet/proCapNetTrackDb
- lines changed 2, context: html, text, full: html, text
5e83632c91c1c536880da1e364a41467856135bd Tue Sep 22 11:02:32 2026 -0700
Rename the TSS container and trim the ProCapNet description. refs #35528
Both labels on the transcriptionStart container are now "Transcription
Initiation (TSS)". Changed in proCapNetTrackDb and the two transcriptionStart.ra
files regenerated from it, since they are generated and carry a do-not-edit
header.
Dropped the Processing at UCSC section from the ProCapNet page. How the files
reached UCSC is not something a browser user needs; the makeDoc already records
it, including the NaN bases dropped from the hg38 predictions.
Replaced the Kundaje lab server link with the ENCODE portal. The six ENCODE
records are BPNet-model annotations holding the trained model, contribution
scores and predicted signal over a selected region set. The genome-wide
predictions in this track are roughly fifty times larger than the ENCODE
predicted-signal files and are not part of that release, so the page says so
rather than naming ENCODE as their source.
Claude-Session: https://claude.ai/code/session_01LAB6jWshLvB7eNXQKWVuW5
- lines changed 3, context: html, text, full: html, text
b8a77f50143d1cc2a474fe9a56fe7c362183a07f Fri Sep 25 17:35:01 2026 -0700
Making the shortLabel sentence case. Updating the shortlabel for the subtracks to say 'Predicted' or 'Contributed', refs #35528
- lines changed 1, context: html, text, full: html, text
717ce54a6012dedd51b0100c643a7a252a16fabb Fri Sep 25 17:46:20 2026 -0700
Adding windowingFuction maximum to trackDb and the script that generates the trackDb file. refs #35528
- lines changed 5, context: html, text, full: html, text
49de9e93e4417083feb23522a71e3960595828a3 Fri Sep 25 22:46:28 2026 -0700
ProCapNet label and facet color fixes from QA. refs #35528
The composite longLabel named the sequence-contribution scores, which only
exist on hg38, so it was wrong on hs1. Use "ProCapNet predicted PRO-cap" on both
assemblies; the scores are described on the track description page.
The Sample class swatches reused two colors from the cell-line palette, so a
track's color could be read as its class: A673 is a cancer line and drew in
#0072B2, which was the Non-cancer swatch. Sample class is a binary facet and
does not need a hue, so use black and gray, outside the Okabe-Ito palette.
Say in the description that the contribution scores cover about 1% of the
genome, so the limit is visible before the display conventions section.
- lines changed 25, context: html, text, full: html, text
31e95f0d1dd4ca08feba9b081a356527bd4b45e6 Sat Sep 26 20:36:20 2026 -0700
Drop the hand-built Files column from the TSS faceted tables. refs #35528
UCSC will generate the download links in the faceted table, so the Files column
each composite built for itself is redundant. Remove downloadCell, the Files
header and cell, the Files entry in subtrackUrls, and the DOWNLOAD constant that
only fed them. The table is now Tissue, Sample class, Experiment, Cell line on
all three composites. writeMetadata no longer needs db or track; the metadata
files it writes are byte-identical.
Lead each Data Access section with the link to the hgdownload directory, since
that is now the way to a single file, and keep the naming convention beside it.
Drop the paragraph describing the Files column.
- lines changed 111, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 25, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- lines changed 106, context: html, text, full: html, text
1c32191759769c28cf763342f5e405420add0170 Thu Oct 1 21:20:54 2026 -0700
Make the TSS tracks superTracks of multiWig overlays. refs #35528
The composite held the multiWig overlays as children, which drew correctly but
left two faults, both from hgTrackUi listing descendant leaves rather than
containers: an overlay got no configuration block of its own, and hiding both
strands of a cell line left an empty row where the overlay had been. That is
#38441.
As superTrack members the overlays are tracks in their own right. Each gets a
full configuration page, including overlay method and negate values, and hiding
one hides the whole overlay. Verified: hiding proCapNet_K562_pred removes the
row and leaves the other five.
Two top-level superTracks, PRO-cap and ProCapNet, rather than one
transcriptionStart folder holding both. superTracks do not nest. A superTrack
given a parent passes tdbQuery -check -strict and is then dropped at load, since
trackDbSuperMarkup refuses to set a parent on a superTrack and hgTrackDb only
writes a superTrack that some track names as its parent. Filed as #38460, with
the test case; transcriptionStart.html stays in the tree unused in case it is
fixed.
What this costs: the subtrack matrix and the sample class filter, which a
superTrack does not offer. Each overlay now carries its own wiggle settings and
its own html, neither being inherited from a container any more.
- lines changed 4, context: html, text, full: html, text
0ca316803a93c570fc7614479afd322194f17217 Fri Oct 2 06:53:26 2026 -0700
Drop priority from the two TSS superTrack stanzas. refs #35528
The folders take whatever position the group gives them. The member tracks keep
their own priorities, which order each overlay within its folder.
- lines changed 25, context: html, text, full: html, text
d0ddd717713f275dc2f567c9b6d733fd3f55bd90 Fri Oct 2 21:27:25 2026 -0700
Put PRO-cap and ProCapNet inside a Transcription Initiation folder. refs #35528
The two data sources were top-level superTracks because a superTrack could not
be a member of another one. #38460 fixes that, so they now sit inside a
transcriptionStart superTrack, which is what the collection was meant to be.
The container is written before either of its children, and both children before
any of their members: tdbQuery -strict rejects a file in which another track
comes between a superTrack and one of its children.
This depends on the #38460 build. A plain make here with the installed binaries
produces a half-built state, since hgTrackDb drops the container from the table
and trackDbToTxt then writes an hs1 curated hub whose member names a parent
stanza that is not there. Both makedocs say so.
- lines changed 20, context: html, text, full: html, text
e314363411293556f33418abe8923ad1e8bc496a Fri Oct 2 21:36:04 2026 -0700
Revert the TSS nesting on master; it lives on superTrackNesting. refs #35528
Putting PRO-cap and ProCapNet inside a transcriptionStart superTrack needs the
nesting fix in #38460, which is not released. These tracks were released in
3bee9e40921, so on beta and the RR hgTrackDb would drop the container and
trackDbToTxt would write an hs1 curated hub whose members name a parent stanza
that is not there.
The work is on the superTrackNesting branch and can come back once #38460 ships.
- lines changed 33, context: html, text, full: html, text
0c42aea56b751a2b4a58feb225a9659819a90994 Sat Oct 3 06:22:01 2026 -0700
Nest the TSS tracks on alpha only, leaving the release as it is. refs #35528
PRO-cap and ProCapNet sit inside a transcriptionStart superTrack on alpha. That
needs #38460, which is on master but not in a release, and these tracks are
already released, so each source is written twice with complementary release
tags: the nested copy alpha, the flat copy beta,public. hgTrackDb takes the copy
whose release matches and rejects two whose releases overlap.
Verified that beta and public are untouched: a public build from this file is
byte-identical to a public build from the released flat tree, same md5 over
tableName, shortLabel, type, visibility, priority and settings. tdbQuery -check
-strict passes on all three releases, and an alpha build has the container with
both members parented while beta and public have neither.
Drop the release tags and the flat copies once #38460 ships.
The makedocs also record that the alpha build needs hgTrackDb and trackDbToTxt
in /cluster/bin/x86_64 to carry the #38460 fix. make alpha does not install
there, BINDIR defaults to ~/bin/$MACHTYPE, so they were put in by hand and the
weekly utils build will overwrite them.
- src/hg/makeDb/scripts/enigma/BRCAmlaZanti.py
- lines changed 384, context: html, text, full: html, text
116aaf68aa340197a2a63856a90f533909e15f92 Fri Oct 2 14:25:53 2026 -0700
BRCAmlaZanti.py: match ENIGMA PP4/BP5 variants by normalized genomic allele instead of HGVS name, so the 297 variants the source papers spell differently (c.4574_4575del vs Li's c.4574_4575delAA, Zanti's ins for a dup, del15) become one item with their LRs multiplied, as Finja Hennig asked. Every item is now drawn the way the ClinVar track draws it (deleted bases shifted left, 2 bp flank for ins/dup), names drop spelled-out bases, LRs are written with 5 significant figures, and the Zanti <CNV> row is dropped. Zanti rows are keyed from their own VCF columns because hgvsToVcf mis-converts intronic insertions (#38469), and the pre-Zanti input now comes from archive/v1.1 since /gbdb BRCAmfa.bb is this script's own output. The hgvsToVcf FILTER and del/dup count checks were added after a Claude review. refs #38467
- src/hg/makeDb/scripts/episignatures/epigenCentralToBed.py
- lines changed 3, context: html, text, full: html, text
94ca641d99a7745058c8df8a3c38309898cb5973 Fri Sep 25 13:49:11 2026 -0700
Updating the script that generates the ra file for EpiCentral so it uses semicolons instead removing the commas outright. refs #38112
- src/hg/makeDb/scripts/fiberSeq/fiberSeqSamples.tsv
- lines changed 5, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- lines changed 16, context: html, text, full: html, text
0ba660768822e93ed43e9a717f580c525094caf8 Mon Sep 28 16:42:18 2026 -0700
Fiber-seq: sentence case for the Common cell line sample class, which was
Title Cased because that is how Mitchell wrote it in the mail that gave us
the classification rule. The other two values were already right, and
tadsEncode's organ facet is the precedent (Adrenal gland, Bone marrow). The
swatch table on the description page had been saying "Common cell line" in
its prose all along, so the filter label and the text explaining it now
agree. fiberSeq.ra is untouched: the class only lives in the metadata TSV
and the colors JSON, both read at runtime, so no trackDb reload is needed.
Caught by Lou. refs #36210
- src/hg/makeDb/scripts/fiberSeq/fiberSeqTrackDb.py
- lines changed 4, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- lines changed 1, context: html, text, full: html, text
e1d9e18ef2ac6813136d012f9817ddc50ca5bad9 Mon Sep 28 16:27:37 2026 -0700
Fiber-seq: spell out the accessibility track's shortLabel as "Fiber-seq
Accessible" rather than "Fiber-seq Acc". Twenty characters, which is
exactly leftLabelWidthDefaultChars, so it fills the left label without
clipping; checked in a render at ACTB. refs #36210
- lines changed 1, context: html, text, full: html, text
0ba660768822e93ed43e9a717f580c525094caf8 Mon Sep 28 16:42:18 2026 -0700
Fiber-seq: sentence case for the Common cell line sample class, which was
Title Cased because that is how Mitchell wrote it in the mail that gave us
the classification rule. The other two values were already right, and
tadsEncode's organ facet is the precedent (Adrenal gland, Bone marrow). The
swatch table on the description page had been saying "Common cell line" in
its prose all along, so the filter label and the text explaining it now
agree. fiberSeq.ra is untouched: the class only lives in the metadata TSV
and the colors JSON, both read at runtime, so no trackDb reload is needed.
Caught by Lou. refs #36210
- lines changed 17, context: html, text, full: html, text
54f465e316441236c128491e53c0e5464c0e672c Tue Sep 29 11:40:49 2026 -0700
Fiber-seq: bring the fiberSeqTrackDb.py docstrings back in line with the
three-value sampleClass, and stop the Compendium intro from keeping a running
tally of where the lymphoblastoid lines came from. readSamples still said the
five GM lines were common cell lines and writeMetadata still said there were
two classes, both a few lines from the SAMPLE_CLASS_COLORS entry that added
the third. writeMetadata also still had "Common Cell Line" in the old Title
Case, which yesterday's rename missed because the string is wrapped across two
source lines and a line oriented sed cannot see it; worth remembering for the
next rename. The intro sentence had grown a breakdown that did not add up, 20
HPRC plus 5 rare disease against 27 lymphoblastoid lines, leaving GM12878 and
HG002 unaccounted; it now points at the Sample class filter instead of
counting, since the lab has said more rare disease samples are coming and the
tally would go stale again. While in there, the claim that accession order
keeps each class together is softened to what the data actually does: the
common cell lines fall in two runs either side of the HPRC block. Generated
output is unchanged; the .ra, the metadata TSV and the colors JSON all
regenerate byte identical. Caught by Claude review of 10f0f6d516.
refs #36210
- lines changed 12, context: html, text, full: html, text
ab234fe62907c81b702a63f5a73d40500a40916f Tue Sep 29 16:12:28 2026 -0700
Fiber-seq: give the FIRE peak subtracks "visibility dense" instead of
"onlyVisibility dense", so their mouseOver can actually be seen.
onlyVisibility pins a faceted child rather than defaulting it:
tdbVisLimitedByAncestors() in hg/lib/hui.c overwrites the computed visibility
with the pinned mode, so a request for pack or full was discarded even from
the URL, and the dropdown offered only hide and dense. Since no bigBed-like
track draws per-item map boxes in dense, the mouseOver on all 41 peak stanzas
was dead config and fiberSeqCompendium.html was promising a hover nobody could
reach. Measured at ACTB with the map_data image map: pinned, a forced pack
still computed to dense with 0 FIRE tooltips; defaulted, pack and full compute
correctly and carry 8. Peaks still come up dense, which is what Andrew asked
for in July. The signal types keep onlyVisibility, where pinning to full
costs nothing because a bigWig draws the same at pack and full, and that is
verified here too: acc, cpg and hap stay at full whatever is requested, and
the container stays hidden on a fresh cart. Also fixes two makeDoc slips, the
facet notes naming the script's dict keys rather than the column headings
writeMetadata() emits, and the opening summary still saying accessibility and
CpG "both became faceted composites" when they were merged into one 235 lines
later. Caught by Claude review of 156d289 and 5179d7f. refs #38407
- src/hg/makeDb/scripts/gnomadV4.1.1/downloadGnomadV4.1.1.sh
- lines changed 50, context: html, text, full: html, text
f20626542200362afacab9387842e1f5bb50c87c Fri Sep 25 12:43:42 2026 -0700
Experimental gnomAD v4.1.1 VCF track for hg38, refs #37617
- src/hg/makeDb/scripts/gnomadV4.1.1/loadGnomadV4.1.1ChromTables.sh
- lines changed 34, context: html, text, full: html, text
f20626542200362afacab9387842e1f5bb50c87c Fri Sep 25 12:43:42 2026 -0700
Experimental gnomAD v4.1.1 VCF track for hg38, refs #37617
- src/hg/makeDb/scripts/gpnStar/gpnStarCheckSections.py
- lines changed 35, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/scripts/gpnStar/gpnStarCoordCheck.py
- lines changed 31, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/scripts/gpnStar/gpnStarMirror.py
- lines changed 84, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/scripts/gpnStar/gpnStarRebuild.sh
- lines changed 15, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/scripts/gpnStar/gpnStarVerify.sh
- lines changed 24, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/scripts/hprc2annot/hprc2annotBuild.sh
- lines changed 1, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprc2annot/hprc2annotMakePclaiRefPanel.py
- lines changed 3, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprc2annot/pclai.as
- lines changed 2, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprcPclai/hprcPclai.as
- lines changed 2, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprcPclai/hprcPclaiDownload.sh
- lines changed 1, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprcPclai/hprcPclaiMakeBb.sh
- lines changed 1, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/hprcPclai/hprcPclaiMakeTrackDb.py
- lines changed 7, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/scripts/mavemd/makeMaveMdHeatmap.py
- lines changed 19, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/scripts/mavemd/makeMaveMdVariants.py
- lines changed 69, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/scripts/mavemd/mavemdLib.py
- lines changed 113, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/scripts/mavemd/runBuild.sh
- lines changed 6, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/scripts/mei/meiDeepmei1kg.as
- lines changed 1, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/mei/meiEul1db.as
- lines changed 3, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/mei/meiEul1dbRef.as
- lines changed 3, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/mei/meiEul1dbToBed.py
- lines changed 12, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/mei/meiHgsvc3.as
- lines changed 1, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/mei/meiHgsvc3CsvToBed.py
- lines changed 9, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- lines changed 3, context: html, text, full: html, text
e461209cf1fd3758d63641915cd91ca9c8ab3020 Thu Sep 24 17:00:10 2026 -0700
Remove tool output accidentally left in the mei description page, per CR. refs #37524
getTrackReferences writes its diagnostics to stdout rather than stderr, so
six "Failed to fetch complete links from NCBI" lines ended up in the
References section of mei.html and rendered as visible text on the track
description page.
NCBI is still not answering, so rather than rerun the tool the references
are now assembled from the citation blocks already present on the six
subtrack pages. That also restores the publisher links for every paper,
which the failed lookups had degraded to bare PubMed URLs.
Also make the INFO SEQ guard in meiHgsvc3CsvToBed.py require a usable
string, so an empty SEQ= value would fall back to the ALT-derived sequence
instead of silently producing an empty one. No record in either callset
carries an empty SEQ today and the rebuilt output is byte-identical.
- src/hg/makeDb/scripts/mei/meiHmeid.as
- lines changed 1, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/scripts/sgdpCopyNumber/sgdpCopyNumberBuild.py
- lines changed 408, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/scripts/sgdpCopyNumber/sgdpCopyNumberFetchMeta.sh
- lines changed 30, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/scripts/sgdpCopyNumber/sgdpCopyNumberSamples.tsv
- lines changed 325, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/scripts/varFreqs/databases.tsv
- lines changed 4, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/scripts/varFreqs/hgdp1kCommonSnvs.sh
- lines changed 62, context: html, text, full: html, text
9cedfa38c14068c79dec89f76c606ee22b3f931a Wed Sep 30 15:02:37 2026 -0700
phasedVars: new subtrack hgdp1kSnv, a 17GB version of the 3.5TB gnomAD HGDP+1000G genotype VCF with only SNVs with AC>5 and only GT, so haplotype clustering can be shown up to 5Mbp, refs #37306
- src/hg/makeDb/scripts/varFreqs/populations.tsv
- lines changed 2, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kFlagNonHumanIns.sh
- lines changed 66, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kNonHumanIns.py
- lines changed 100, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfJobs.sh
- lines changed 29, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfMerge.sh
- lines changed 24, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfRange.sh
- lines changed 36, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 36, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfSlice.py
- lines changed 190, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfToSites.sh
- lines changed 69, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 5, context: html, text, full: html, text
f03f56cd3c795a6fba2b8419662a9a2c5d49f69a Sat Sep 26 14:16:17 2026 -0700
sfariSparkWgs45kAsd: now genome-wide (518M variants from the 45,178 genotype pVCFs, run on parasol); per-allele INFO fields declared Number=1 so the VCF track filters accept them, doc page no longer says DSCAM only, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kToVcf.py
- lines changed 93, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 93, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- src/hg/makeDb/scripts/varFreqs/sparkWgs45kToVcf.sh
- lines changed 41, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 41, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- src/hg/makeDb/trackDb/bacteria/staAur2/cons369way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/birds/geoFor1/cons7way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/bushbaby/otoGar3/cons3way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/cat/felCat3/multiz4way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/cat/felCat3/phastConsElements4way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/cat/felCat4/cons6way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal2/multiz7way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal2/phastConsElements7way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal3/multiz7way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal3/phastConsElements7way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal6/cons77way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chicken/galGal6/gpnStar.html
- lines changed 150, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/chicken/galGal6/gpnStar.ra
- lines changed 125, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/chicken/galGal6/trackDb.ra
- lines changed 2, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/chimp/panTro2/multiz8way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/chimp/panTro3/cons12way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/cow/bosTau4/multiz5way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/cow/bosTau4/phastConsElements5way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/criGri/regenCho1/cons7way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/crispr10K.ra
- lines changed 1, context: html, text, full: html, text
cf9cfcd463d40a868f8ee73dead17ff8071dce2f Fri Sep 25 03:00:20 2026 -0700
CRISPR tracks: expose colorFields dropdown to color guides by off-target
specificity (MIT score) or by Moreno-Mateos efficiency, as alternatives to
the default Doench/Fusi-based itemRgb color. The bigBed already carries
these as the _specColor and _crisprScanColor extra fields; no data rebuild
needed.
- src/hg/makeDb/trackDb/crisprAll.ra
- lines changed 1, context: html, text, full: html, text
cf9cfcd463d40a868f8ee73dead17ff8071dce2f Fri Sep 25 03:00:20 2026 -0700
CRISPR tracks: expose colorFields dropdown to color guides by off-target
specificity (MIT score) or by Moreno-Mateos efficiency, as alternatives to
the default Doench/Fusi-based itemRgb color. The bigBed already carries
these as the _specColor and _crisprScanColor extra fields; no data rebuild
needed.
- src/hg/makeDb/trackDb/dog/canFam2/multiz4way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/dog/canFam2/phastConsElements4way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm2/multiz15way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm2/multiz9way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm2/phastConsElements15way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm2/phastConsElements9way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm3/multiz15way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm3/phastConsElements15way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm6/cons124way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm6/cons27way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/drosophila/dm6/gpnStar.html
- lines changed 150, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/drosophila/dm6/gpnStar.ra
- lines changed 125, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/drosophila/dm6/trackDb.ra
- lines changed 2, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/ebola/bunEbo1/cons160way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/eboVir2/cons49way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/eboVir3/cons160way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/resEbo1/cons160way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/sudEbo1/cons160way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/taiEbo1/cons160way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/ebola/zaiEbo1/cons160way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/fugu/fr2/multiz5way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/fugu/fr2/phastConsElements5way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/fugu/fr3/cons8way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/galVar/galVar1/cons4way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/galVar/galVar1/cons5way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/galVar/galVar1/cons6way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/gorilla/gorGor3/cons11way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/guineaPig/cavPor3/cons5way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/guineaPig/cavPor3/cons6way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/horse/equCab2/multiz6way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/horse/equCab2/phastConsElements6way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/chainNetVertebrate.ra
- lines changed 1, context: html, text, full: html, text
1a2f5a5b07855da8d191c0b9358c945d6abe9f74 Mon Sep 28 15:17:28 2026 -0700
trackDb: fix the netThaSir1 chain table and drop missing hg18 pgSnp prediction tables, refs #37424
The hg38 netThaSir1 stanza was copied from netAnoCar1 and kept its type line, so
hgc looked for chainAnoCar1 and every click failed. It now names thaSir1 and
chainThaSir1.
The hg18 pgKb1Comb, pgNb1, pgMd8, pgTk1 and pgAbtSolid tracks named SIFT and
PolyPhen tables that exist only on hgwdev and were never released. The details
page warned on every click on beta and the RR. The two settings are removed.
- src/hg/makeDb/trackDb/human/chm13/html/GCA_009914755.4_T2T-CHM13v2.0.hgLiftOver.html
- lines changed 2, context: html, text, full: html, text
733c551e32c88c02773c20af61169100edfb446a Sun Sep 27 16:00:39 2026 -0700
CHM13 liftOver examples: point at public hs1 instead of a genome-test hub id, refs #37641
- src/hg/makeDb/trackDb/human/encode4ProCap.html
- lines changed 4, context: html, text, full: html, text
0f951bfc96241a7362d1512ceecf59a02682a839 Thu Sep 24 20:40:52 2026 -0700
Description page fixes from a QA pre-pass on the TSS tracks. refs #35528
Encode the non-ASCII character in the Avsec reference on proCapNet.html.
getTrackReferences emits raw UTF-8, which the browser does not transcode.
Use $db rather than a hardcoded hg38 in the proCapNet download-server link and
the bigWigToBedGraph example. One page serves both assemblies, so an hs1 reader
was being pointed at hg38 files.
Add a Source subsection to proCapNet.html linking the makedoc, the build scripts,
the trackDb file and the upstream kundajelab/ProCapNet repository. These links
went missing when the Processing at UCSC section was dropped; the prose stays
dropped.
Drop the cross-links between the two track pages. Track names are prefixed
hub_<id>_ on hs1, which is a curated hub, and the id is machine-specific, so a
bare-name link cannot work there. Each page now states which assemblies the data
is available on instead, naming both GRCh38/hg38 and T2T-CHM13/hs1.
Bold the two UI control names on the proCapNet display conventions section.
- lines changed 23, context: html, text, full: html, text
acf20930c5cdfa1e352826a702ad8f36344178c4 Thu Sep 24 21:16:13 2026 -0700
Fixes from an independent review of the TSS tracks. refs #35528
The Data Access sections told users to pass the composite name to the API, which
returns HTTP 400. The API serves one bigWig at a time, so both pages now name a
single strand of one cell line, verified to return 200.
encode4ProCap.html claimed the kent tree held the manifest of which ENCODE files
went into each track, and it did not. Commit that manifest as
proCapNetEncodeFiles.tsv and name it on the page. It matters because
proCapNetEncodeMeta resolves each experiment's default analysis at run time, so
re-running it after an ENCODE reprocessing can pick different files.
Cite Shah et al. for the ENCODE 4 nascent transcriptome survey the six PRO-cap
experiments come from. Sagar Shah was credited by name with no reference.
The hg38 makedoc called the 164268582 dropped bases "the N regions", but gap on
the primary chromosomes is 150610728. The extra 13.7 Mb is sequence flanking each
gap, dropped because most of its 2114 bp window was unresolved.
- lines changed 53, context: html, text, full: html, text
38ccb38771eddfec3230ab3494fb12e11e7cb4ac Fri Sep 25 17:52:32 2026 -0700
Putting references in alphabetical order. Adding years to citations. Not using the word 'here' and using the actual location/noun. refs #35528
- lines changed 40, context: html, text, full: html, text
af96452e1c6ccf783697cead2630de1ca4e91635 Sat Sep 26 06:42:20 2026 -0700
Put the primary citation first again on the TSS track pages. refs #35528
Alphabetical order buried the paper each track is actually built on: Cochran
et al. for ProCapNet, behind Avsec, and Shah et al. for the ENCODE 4 PRO-cap
experiments, behind Kwak and Luo. Lead with the primary paper and leave the
rest in the order they stood.
Reordering only. The years and DOIs added in 38ccb38771e are unchanged.
- lines changed 27, context: html, text, full: html, text
40264d0668926b51da94d2ca038dc7349dfc3405 Sat Sep 26 07:59:34 2026 -0700
Shorten the Methods sections on the two TSS data pages. refs #35528
Both read like a paper's methods section rather than a track description: 43
lines over four subsections on proCapNet, 35 on encode4ProCap. Cut each to three
paragraphs, what the model or assay is, how the files we serve were produced, and
where the build is recorded. The subsection headings go with it.
Kept every fact a user of the track needs: the window and stride, the MANE Select
limit on the contribution scores, the unresolved-sequence handling on hg38, the
replicate summing, the six ENCODE accessions and the file manifest. Dropped the
detail that belongs to the papers, such as the DeepSHAP scalarization and the
loss weighting.
The container page keeps no Methods section, which is correct for a page that
only points at the two data pages.
- lines changed 24, context: html, text, full: html, text
31e95f0d1dd4ca08feba9b081a356527bd4b45e6 Sat Sep 26 20:36:20 2026 -0700
Drop the hand-built Files column from the TSS faceted tables. refs #35528
UCSC will generate the download links in the faceted table, so the Files column
each composite built for itself is redundant. Remove downloadCell, the Files
header and cell, the Files entry in subtrackUrls, and the DOWNLOAD constant that
only fed them. The table is now Tissue, Sample class, Experiment, Cell line on
all three composites. writeMetadata no longer needs db or track; the metadata
files it writes are byte-identical.
Lead each Data Access section with the link to the hgdownload directory, since
that is now the way to a single file, and keep the naming convention beside it.
Drop the paragraph describing the Files column.
- lines changed 4, context: html, text, full: html, text
fe4c75c272ca27de55c0b42396c47f2b00637a4a Mon Sep 28 16:36:20 2026 -0700
Linking the encode4ProCap trackDb.ra, saying why PRO-cap and contribution scores are hg38 only on the container page, and limiting the ProCapNet prediction claim to the primary chromosomes, refs #35528
- lines changed 20, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 3, context: html, text, full: html, text
9f6962c173c405e481da17794d67107e7f8e73a9 Fri Oct 2 16:05:31 2026 -0700
Replacing the subtrack matrix and Sample class filter paragraph on the PRO-cap and ProCapNet description pages with the track collection layout from Mark's change, and noting that ProCapNet minus strand files store negative values, refs #35528
- src/hg/makeDb/trackDb/human/gpnStar.html
- lines changed 163, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/human/gpnStar.ra
- lines changed 357, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/human/hg17/multiz17way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg17/multiz8way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg17/phastConsElements17way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/cons44way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/multiz17way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/multiz28way.html
- lines changed 31, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/multizPrimate.html
- lines changed 10, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/phastConsElements17way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/phyloPCons28way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/phyloPConsLs44way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg18/trackDb.ra
- lines changed 21, context: html, text, full: html, text
1a2f5a5b07855da8d191c0b9358c945d6abe9f74 Mon Sep 28 15:17:28 2026 -0700
trackDb: fix the netThaSir1 chain table and drop missing hg18 pgSnp prediction tables, refs #37424
The hg38 netThaSir1 stanza was copied from netAnoCar1 and kept its type line, so
hgc looked for chainAnoCar1 and every click failed. It now names thaSir1 and
chainThaSir1.
The hg18 pgKb1Comb, pgNb1, pgMd8, pgTk1 and pgAbtSolid tracks named SIFT and
PolyPhen tables that exist only on hgwdev and were never released. The details
page warned on every click on beta and the RR. The two settings are removed.
- src/hg/makeDb/trackDb/human/hg19/cons100way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg19/cons46way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg19/tad.ra
- lines changed 25, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg19/tads.html
- lines changed 45, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg19/tadsMcArthur.html
- lines changed 62, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg19/tadsSchmitt.html
- lines changed 44, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/cons100way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons17way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons20way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons241way.html
- lines changed 34, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 5, context: html, text, full: html, text
b9c41cec68f33aec1a64d8cc709af9afc15155fa Fri Sep 25 22:49:03 2026 -0700
hg38 cons241way: point the phyloP tree model text at the directory, refs #34803
The link went to phyloP241way/hg38.phyloP241way.mod, which does not exist and
never has under that name. The models live in cactus241way/phyloP241way, and
there are three of them rather than one: a general model and separate chrX and
chrY models. Link the directory and say so.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons27way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons30way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons470way.html
- lines changed 45, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons5way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/cons7way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/human/hg38/epigenCentral.html
- lines changed 7, context: html, text, full: html, text
70ec78b7ef15cc060932b5b8dd436fd34bcbdaf1 Fri Sep 25 13:31:22 2026 -0700
Adding a paragraph about a filtering issue that happens when there is a tie in the absolute max value. refs #38112
- lines changed 15, context: html, text, full: html, text
b0f7c3b8ed633f460990b271070d2c72a4d05ba1 Fri Sep 25 14:55:45 2026 -0700
Adding GitHub links for the makedoc, scripts, and trackDb to the EpigenCentral page, crediting Max, adding the Turinsky DOI, and using serial commas, refs #38112
- lines changed 6, context: html, text, full: html, text
10be0991b45bc01981e68f72a660adbbcc999f77 Fri Sep 25 15:53:33 2026 -0700
Updating the filter paragraph on the track description page. Updating the defaultLabels since searching for a CpG ID would result in not showing that ID, refs #38112
- lines changed 13, context: html, text, full: html, text
682284bfd2b229728cbef4ecf79e8b5481953327 Sun Oct 4 05:55:37 2026 -0700
hg38 epigenCentral: description wording from the EpigenCentral reviewers (available on, direction filter, classification models, drop Dup7 NA note, credits)
- src/hg/makeDb/trackDb/human/hg38/episignatures.html
- lines changed 3, context: html, text, full: html, text
b9529a41ea64f905aced9a54e8eb527c4ad490cf Fri Sep 25 14:59:00 2026 -0700
Adding more missing commas, refs #38112
- src/hg/makeDb/trackDb/human/hg38/episignatures.ra
- lines changed 1, context: html, text, full: html, text
b6ba7ab70c14692cd2cad15a17fb9b605f0efe1e Fri Sep 25 13:13:09 2026 -0700
Updating the longLabel to sentence case, refs #38112 #38371
- lines changed 3, context: html, text, full: html, text
1aca3edb987bc90a17be6a22efad5446d4e42029 Fri Sep 25 13:44:48 2026 -0700
Updating the packmode labels to show the episignature instead of the CpG ID. Adding semicolons to the filters so it matches the MethaDory track, refs #38371
- lines changed 1, context: html, text, full: html, text
10be0991b45bc01981e68f72a660adbbcc999f77 Fri Sep 25 15:53:33 2026 -0700
Updating the filter paragraph on the track description page. Updating the defaultLabels since searching for a CpG ID would result in not showing that ID, refs #38112
- lines changed 1, context: html, text, full: html, text
9e51fd38996566e7a6cc29dd67f2e05fa429ca3c Mon Sep 28 14:30:05 2026 -0700
hg38 episignatures: hide epigenCentral bigBed from hgdownload
Lou asked for downloads off for this track. tableBrowser off already
covers Table Browser/Data Integrator/REST API, but the bigBed itself
was still reachable on hgdownload. Prefix the gbdb filename with "_",
same convention used for the restricted varFreqs subtracks, which
hgdownload's rsync excludes. methaDory.bb is unaffected. refs #38112
- src/hg/makeDb/trackDb/human/hg38/fiberSeq.html
- lines changed 2, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- src/hg/makeDb/trackDb/human/hg38/fiberSeq.ra
- lines changed 1, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- lines changed 1, context: html, text, full: html, text
e1d9e18ef2ac6813136d012f9817ddc50ca5bad9 Mon Sep 28 16:27:37 2026 -0700
Fiber-seq: spell out the accessibility track's shortLabel as "Fiber-seq
Accessible" rather than "Fiber-seq Acc". Twenty characters, which is
exactly leftLabelWidthDefaultChars, so it fills the left label without
clipping; checked in a render at ACTB. refs #36210
- lines changed 41, context: html, text, full: html, text
ab234fe62907c81b702a63f5a73d40500a40916f Tue Sep 29 16:12:28 2026 -0700
Fiber-seq: give the FIRE peak subtracks "visibility dense" instead of
"onlyVisibility dense", so their mouseOver can actually be seen.
onlyVisibility pins a faceted child rather than defaulting it:
tdbVisLimitedByAncestors() in hg/lib/hui.c overwrites the computed visibility
with the pinned mode, so a request for pack or full was discarded even from
the URL, and the dropdown offered only hide and dense. Since no bigBed-like
track draws per-item map boxes in dense, the mouseOver on all 41 peak stanzas
was dead config and fiberSeqCompendium.html was promising a hover nobody could
reach. Measured at ACTB with the map_data image map: pinned, a forced pack
still computed to dense with 0 FIRE tooltips; defaulted, pack and full compute
correctly and carry 8. Peaks still come up dense, which is what Andrew asked
for in July. The signal types keep onlyVisibility, where pinning to full
costs nothing because a bigWig draws the same at pack and full, and that is
verified here too: acc, cpg and hap stay at full whatever is requested, and
the container stays hidden on a fresh cart. Also fixes two makeDoc slips, the
facet notes naming the script's dict keys rather than the column headings
writeMetadata() emits, and the opening summary still saying accessibility and
CpG "both became faceted composites" when they were merged into one 235 lines
later. Caught by Claude review of 156d289 and 5179d7f. refs #38407
- src/hg/makeDb/trackDb/human/hg38/fiberSeqAcc.html
- lines changed 1, context: html, text, full: html, text
0b41a0f1e7f66e0bce33b879275a93ccb9d8f976 Mon Sep 28 16:33:18 2026 -0700
Fiber-seq description pages: bold the six data type names in the Compendium
Description, and drop three passages that explained our own rendering rather
than the data. The sample table no longer opens by justifying itself with
how many checkboxes 41 samples times six data types would need; the
difference track now says each position is colored by the most stringent
threshold it meets, instead of describing the order the four signals are
painted in; and the peak paragraph no longer explains that dense mode has no
per-item hover. "Container name" and "subtracks" become "collection name"
and "FIRE peaks", per the rule against exposing internal container terms, and
the API paragraph points at the Table Browser for the peaks rather than only
saying they are unavailable. Per Lou's review. refs #36210
- src/hg/makeDb/trackDb/human/hg38/fiberSeqCompendium.html
- lines changed 11, context: html, text, full: html, text
10f0f6d5160a96867ecf534e1b9d138df7d9b796 Mon Sep 28 16:17:46 2026 -0700
Fiber-seq: hide the container by default, and split the five GM lines out
into a Rare disease sample class. Max asked for superTrack on rather than
on show, since the track covers much the same ground as ENCODE DNase and
does not earn a slot in everyone's default hg38 view. The five
lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had
been filed as Common Cell Line; Andrew Stergachis says they are rare
disease cases consented to broad genomic data sharing and the first of a
batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third
entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease
sample. refs #36210
- lines changed 27, context: html, text, full: html, text
0b41a0f1e7f66e0bce33b879275a93ccb9d8f976 Mon Sep 28 16:33:18 2026 -0700
Fiber-seq description pages: bold the six data type names in the Compendium
Description, and drop three passages that explained our own rendering rather
than the data. The sample table no longer opens by justifying itself with
how many checkboxes 41 samples times six data types would need; the
difference track now says each position is colored by the most stringent
threshold it meets, instead of describing the order the four signals are
painted in; and the peak paragraph no longer explains that dense mode has no
per-item hover. "Container name" and "subtracks" become "collection name"
and "FIRE peaks", per the rule against exposing internal container terms, and
the API paragraph points at the Table Browser for the peaks rather than only
saying they are unavailable. Per Lou's review. refs #36210
- lines changed 3, context: html, text, full: html, text
54f465e316441236c128491e53c0e5464c0e672c Tue Sep 29 11:40:49 2026 -0700
Fiber-seq: bring the fiberSeqTrackDb.py docstrings back in line with the
three-value sampleClass, and stop the Compendium intro from keeping a running
tally of where the lymphoblastoid lines came from. readSamples still said the
five GM lines were common cell lines and writeMetadata still said there were
two classes, both a few lines from the SAMPLE_CLASS_COLORS entry that added
the third. writeMetadata also still had "Common Cell Line" in the old Title
Case, which yesterday's rename missed because the string is wrapped across two
source lines and a line oriented sed cannot see it; worth remembering for the
next rename. The intro sentence had grown a breakdown that did not add up, 20
HPRC plus 5 rare disease against 27 lymphoblastoid lines, leaving GM12878 and
HG002 unaccounted; it now points at the Sample class filter instead of
counting, since the lab has said more rare disease samples are coming and the
tally would go stale again. While in there, the claim that accession order
keeps each class together is softened to what the data actually does: the
common cell lines fall in two runs either side of the HPRC block. Generated
output is unchanged; the .ra, the metadata TSV and the colors JSON all
regenerate byte identical. Caught by Claude review of 10f0f6d516.
refs #36210
- src/hg/makeDb/trackDb/human/hg38/fiveUltraUorfs.html
- lines changed 50, context: html, text, full: html, text
1995fb5512978d502812e7693d5d487bea61f507 Wed Sep 23 15:26:14 2026 -0700
Updating the ncOrfs description pages: Restructuring gencNcOrfs.html's Description and Display Conventions sections and cleaning up wording. Updating the Description section of fiveUltraUorfs.html. Updating ncOrfs.html's GENCODE and 5ULTRA sections to match their subtrack pages and trimming the GENCODE summary. Minor updates to ncOrfs.ra. Refs #37649
- src/hg/makeDb/trackDb/human/hg38/gencNcOrfs.html
- lines changed 100, context: html, text, full: html, text
1995fb5512978d502812e7693d5d487bea61f507 Wed Sep 23 15:26:14 2026 -0700
Updating the ncOrfs description pages: Restructuring gencNcOrfs.html's Description and Display Conventions sections and cleaning up wording. Updating the Description section of fiveUltraUorfs.html. Updating ncOrfs.html's GENCODE and 5ULTRA sections to match their subtrack pages and trimming the GENCODE summary. Minor updates to ncOrfs.ra. Refs #37649
- src/hg/makeDb/trackDb/human/hg38/gnomad.ra
- lines changed 1, context: html, text, full: html, text
f20626542200362afacab9387842e1f5bb50c87c Fri Sep 25 12:43:42 2026 -0700
Experimental gnomAD v4.1.1 VCF track for hg38, refs #37617
- src/hg/makeDb/trackDb/human/hg38/gnomadV4.1.1.ra
- lines changed 26, context: html, text, full: html, text
f20626542200362afacab9387842e1f5bb50c87c Fri Sep 25 12:43:42 2026 -0700
Experimental gnomAD v4.1.1 VCF track for hg38, refs #37617
- src/hg/makeDb/trackDb/human/hg38/hg38.GCA_040939475.2.chainNet.ra
- lines changed 49, context: html, text, full: html, text
1c0a16d8c4d5ad60b5bd5f0fe6470bdd4c5f3f58 Wed Sep 23 16:26:39 2026 -0700
chainNet trackDb for hg38 GCA_040939475.2, otto liftOver
- src/hg/makeDb/trackDb/human/hg38/hg38.GCF_002880755.1.chainNet.ra
- lines changed 49, context: html, text, full: html, text
5b1a5a9767296bfeb7c1a1d08fc9c6677e7ca032 Fri Sep 25 02:32:27 2026 -0700
chainNet trackDb for hg38 GCF_002880755.1, otto liftOver
- src/hg/makeDb/trackDb/human/hg38/hprcPclai.html
- lines changed 7, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/trackDb/human/hg38/hprcPclai.ra
- lines changed 467, context: html, text, full: html, text
32048e16a50722894cf28d9b7b4b050302e38c75 Wed Sep 30 17:54:58 2026 -0700
Spell the acronym PCLAI, not pcLAI. refs #35415
The authors write it PCLAI throughout: the upstream README at
AI-sandbox/hprc-pclai uses PCLAI 18 times and pcLAI never, under the title
"Point Cloud Local Ancestry Inference (PCLAI)". We had pcLAI in 517 places,
across the track labels, both description pages, the makedocs, the build scripts
and the autoSql.
hprcPclai.ra holds 467 of those, in shortLabel, longLabel, dataVersion and
comments. It is generated, so the fix went into hprcPclaiMakeTrackDb.py and the
file was rebuilt; every line of the resulting diff differs only by the rename.
Track names, file names and the lowercase pclai in URLs and data file names are
untouched. None of them contained the string pcLAI, and renaming the tracks would
break saved sessions for no user-visible gain.
- src/hg/makeDb/trackDb/human/hg38/mavemd.html
- lines changed 42, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/trackDb/human/hg38/mavemd.ra
- lines changed 1, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/trackDb/human/hg38/mavemdMap.html
- lines changed 44, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/trackDb/human/hg38/mavemdVar.html
- lines changed 45, context: html, text, full: html, text
824df26b6320b692d629566c5a10b15004da82ce Tue Sep 29 16:09:00 2026 -0700
addProteinSequence in mavemdLib translates each transcript's CDS from
hg38.2bit so makeMaveMdVariants can check every projected codon against the
reference residue its own HGVS term asserts; the existing comparison against
MaveDB's genomic mapping only reaches the 3% of projected items that carry
both terms, because 18 of the 40 protein accessions have no genomic-route
variants at all. 39 of 40 accessions match at 0.000%; NP_689629.2 (FKRP) has
99 nonsense terms numbered one codon downstream of their own reference
residue, which still reach mavemdVar through MaveDB's genomic mapping but are
dropped from mavemdMap, which places columns from the protein term and has no
fallback. The haplotype test now also reads hgvs_nt, since PTEN
00000054-a-1 states 1,236 haplotypes as c.[1207G>T;1209C>T] with no protein
term and they were counted as rejected submissions, making both figures in
the makeDoc wrong. assayLine runs the heatmap legend through asciiText
because bedField turns the en dash in three MaveDB titles into – and
the legend is drawn as raster text; clinGenId links to by_canonicalid rather
than /allele, which serves JSON to a browser, matching human/civic.ra; the
generated filter fragment no longer emits the blank line after each group
that the makeDoc itself warns ends a stanza; and runBuild.sh tails the log on
failure instead of dying silently under set -e. Also reworded the grey legend
entry, which said no threshold was reached in either direction but covers
6,656 normal and 145 abnormal items, alphabetized the references, and fixed
stale counts in the makeDoc. Caught by Claude review of 29af14b, fcf788d and
97c7de5. refs #38407 refs #37800
- src/hg/makeDb/trackDb/human/hg38/miniMapChains.ra
- lines changed 72, context: html, text, full: html, text
6c02c046a1f2a5d9462db2dc26dfe46369d3c3cf Wed Sep 30 15:51:43 2026 -0700
shown miniMap2 hs1 alignment and swapped from hs1 refs #34360
- src/hg/makeDb/trackDb/human/hg38/mpra.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/hg38/ncOrfs.html
- lines changed 56, context: html, text, full: html, text
1995fb5512978d502812e7693d5d487bea61f507 Wed Sep 23 15:26:14 2026 -0700
Updating the ncOrfs description pages: Restructuring gencNcOrfs.html's Description and Display Conventions sections and cleaning up wording. Updating the Description section of fiveUltraUorfs.html. Updating ncOrfs.html's GENCODE and 5ULTRA sections to match their subtrack pages and trimming the GENCODE summary. Minor updates to ncOrfs.ra. Refs #37649
- src/hg/makeDb/trackDb/human/hg38/ncOrfs.ra
- lines changed 3, context: html, text, full: html, text
1995fb5512978d502812e7693d5d487bea61f507 Wed Sep 23 15:26:14 2026 -0700
Updating the ncOrfs description pages: Restructuring gencNcOrfs.html's Description and Display Conventions sections and cleaning up wording. Updating the Description section of fiveUltraUorfs.html. Updating ncOrfs.html's GENCODE and 5ULTRA sections to match their subtrack pages and trimming the GENCODE summary. Minor updates to ncOrfs.ra. Refs #37649
- src/hg/makeDb/trackDb/human/hg38/nmd.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/hg38/problematic.html
- lines changed 10, context: html, text, full: html, text
b197e1670a076b65838fd91b869a4ec1c3096c0f Wed Sep 23 16:08:08 2026 -0700
Add Panmask Difficult 151b, the inverse of Panmask Easy 151b, for the Problematic Regions RTS
Panmask marks easy regions under a "Problematic Regions" container, which Anna
flagged as confusing. Rather than change the released Panmask Easy track, add
a second track with the complement regions, built with featureBits (excluding
assembly gaps and restricted to the 24 chromosomes Panmask itself covers).
Checked the source first: Zenodo record 16755940 is still v1.4, same version
already in use, MD5 verified. New track is alpha only for QA to pick up.
refs #38375
- lines changed 2, context: html, text, full: html, text
1bab8758e7a5fe01120847c7fa68de71d1aa709e Wed Sep 23 16:16:44 2026 -0700
commenting out a docs piece before release
- lines changed 1, context: html, text, full: html, text
2ae817bcd648f2a3184bb4b118840e65749fea2d Thu Sep 24 04:15:20 2026 -0700
problematic.txt/html: reconcile Panmask Easy/Difficult coverage to 87.8%/12.2%, one decimal place, refs #38375
- src/hg/makeDb/trackDb/human/hg38/problematic.ra
- lines changed 11, context: html, text, full: html, text
b197e1670a076b65838fd91b869a4ec1c3096c0f Wed Sep 23 16:08:08 2026 -0700
Add Panmask Difficult 151b, the inverse of Panmask Easy 151b, for the Problematic Regions RTS
Panmask marks easy regions under a "Problematic Regions" container, which Anna
flagged as confusing. Rather than change the released Panmask Easy track, add
a second track with the complement regions, built with featureBits (excluding
assembly gaps and restricted to the 24 chromosomes Panmask itself covers).
Checked the source first: Zenodo record 16755940 is still v1.4, same version
already in use, MD5 verified. New track is alpha only for QA to pick up.
refs #38375
- lines changed 2, context: html, text, full: html, text
537820f946a4a16341ed8f68c477a89d8c11ce62 Wed Sep 23 16:20:49 2026 -0700
docs
- src/hg/makeDb/trackDb/human/hg38/strVar.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/hg38/tad.ra
- lines changed 25, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tads.html
- lines changed 80, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tads3dgb.html
- lines changed 34, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tads3dgb.ra
- lines changed 506, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tadsDixon.html
- lines changed 44, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tadsEncode.html
- lines changed 52, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/tadsEncode.ra
- lines changed 86, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/hg38/trackDb.ra
- lines changed 1, context: html, text, full: html, text
1c0a16d8c4d5ad60b5bd5f0fe6470bdd4c5f3f58 Wed Sep 23 16:26:39 2026 -0700
chainNet trackDb for hg38 GCA_040939475.2, otto liftOver
- lines changed 1, context: html, text, full: html, text
5b1a5a9767296bfeb7c1a1d08fc9c6677e7ca032 Fri Sep 25 02:32:27 2026 -0700
chainNet trackDb for hg38 GCF_002880755.1, otto liftOver
- lines changed 1, context: html, text, full: html, text
f9a684a437d33c33690cf6ffc91faf155d9d5121 Fri Sep 25 15:57:57 2026 -0700
Staging the Episignatures track on hgwbeta, refs #38112 and #38371
- lines changed 1, context: html, text, full: html, text
ce7133b45942cf33b8bf074af8b3fd6952381f95 Tue Sep 29 16:50:33 2026 -0700
Staging the STR track on beta for hg38, hg19, and hs1, refs #38268
- lines changed 2, context: html, text, full: html, text
6c02c046a1f2a5d9462db2dc26dfe46369d3c3cf Wed Sep 30 15:51:43 2026 -0700
shown miniMap2 hs1 alignment and swapped from hs1 refs #34360
- lines changed 1, context: html, text, full: html, text
3bee9e40921231f206014d66a54c6af7581bd4b7 Fri Oct 2 16:54:40 2026 -0700
Releasing the ProCapNet tracks, refs #35528
- src/hg/makeDb/trackDb/human/hg38/transcriptionStart.ra
- lines changed 2, context: html, text, full: html, text
5e83632c91c1c536880da1e364a41467856135bd Tue Sep 22 11:02:32 2026 -0700
Rename the TSS container and trim the ProCapNet description. refs #35528
Both labels on the transcriptionStart container are now "Transcription
Initiation (TSS)". Changed in proCapNetTrackDb and the two transcriptionStart.ra
files regenerated from it, since they are generated and carry a do-not-edit
header.
Dropped the Processing at UCSC section from the ProCapNet page. How the files
reached UCSC is not something a browser user needs; the makeDoc already records
it, including the NaN bases dropped from the hg38 predictions.
Replaced the Kundaje lab server link with the ENCODE portal. The six ENCODE
records are BPNet-model annotations holding the trained model, contribution
scores and predicted signal over a selected region set. The genome-wide
predictions in this track are roughly fifty times larger than the ENCODE
predicted-signal files and are not part of that release, so the page says so
rather than naming ENCODE as their source.
Claude-Session: https://claude.ai/code/session_01LAB6jWshLvB7eNXQKWVuW5
- lines changed 25, context: html, text, full: html, text
b8a77f50143d1cc2a474fe9a56fe7c362183a07f Fri Sep 25 17:35:01 2026 -0700
Making the shortLabel sentence case. Updating the shortlabel for the subtracks to say 'Predicted' or 'Contributed', refs #35528
- lines changed 12, context: html, text, full: html, text
717ce54a6012dedd51b0100c643a7a252a16fabb Fri Sep 25 17:46:20 2026 -0700
Adding windowingFuction maximum to trackDb and the script that generates the trackDb file. refs #35528
- lines changed 1, context: html, text, full: html, text
49de9e93e4417083feb23522a71e3960595828a3 Fri Sep 25 22:46:28 2026 -0700
ProCapNet label and facet color fixes from QA. refs #35528
The composite longLabel named the sequence-contribution scores, which only
exist on hg38, so it was wrong on hs1. Use "ProCapNet predicted PRO-cap" on both
assemblies; the scores are described on the track description page.
The Sample class swatches reused two colors from the cell-line palette, so a
track's color could be read as its class: A673 is a cancer line and drew in
#0072B2, which was the Non-cancer swatch. Sample class is a binary facet and
does not need a hue, so use black and gray, outside the Okabe-Ito palette.
Say in the description that the contribution scores cover about 1% of the
genome, so the limit is visible before the display conventions section.
- lines changed 2, context: html, text, full: html, text
31e95f0d1dd4ca08feba9b081a356527bd4b45e6 Sat Sep 26 20:36:20 2026 -0700
Drop the hand-built Files column from the TSS faceted tables. refs #35528
UCSC will generate the download links in the faceted table, so the Files column
each composite built for itself is redundant. Remove downloadCell, the Files
header and cell, the Files entry in subtrackUrls, and the DOWNLOAD constant that
only fed them. The table is now Tissue, Sample class, Experiment, Cell line on
all three composites. writeMetadata no longer needs db or track; the metadata
files it writes are byte-identical.
Lead each Data Access section with the link to the hgdownload directory, since
that is now the way to a single file, and keep the naming convention beside it.
Drop the paragraph describing the Files column.
- lines changed 96, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 72, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- lines changed 217, context: html, text, full: html, text
1c32191759769c28cf763342f5e405420add0170 Thu Oct 1 21:20:54 2026 -0700
Make the TSS tracks superTracks of multiWig overlays. refs #35528
The composite held the multiWig overlays as children, which drew correctly but
left two faults, both from hgTrackUi listing descendant leaves rather than
containers: an overlay got no configuration block of its own, and hiding both
strands of a cell line left an empty row where the overlay had been. That is
#38441.
As superTrack members the overlays are tracks in their own right. Each gets a
full configuration page, including overlay method and negate values, and hiding
one hides the whole overlay. Verified: hiding proCapNet_K562_pred removes the
row and leaves the other five.
Two top-level superTracks, PRO-cap and ProCapNet, rather than one
transcriptionStart folder holding both. superTracks do not nest. A superTrack
given a parent passes tdbQuery -check -strict and is then dropped at load, since
trackDbSuperMarkup refuses to set a parent on a superTrack and hgTrackDb only
writes a superTrack that some track names as its parent. Filed as #38460, with
the test case; transcriptionStart.html stays in the tree unused in case it is
fixed.
What this costs: the subtrack matrix and the sample class filter, which a
superTrack does not offer. Each overlay now carries its own wiggle settings and
its own html, neither being inherited from a container any more.
- lines changed 2, context: html, text, full: html, text
0ca316803a93c570fc7614479afd322194f17217 Fri Oct 2 06:53:26 2026 -0700
Drop priority from the two TSS superTrack stanzas. refs #35528
The folders take whatever position the group gives them. The member tracks keep
their own priorities, which order each overlay within its folder.
- lines changed 8, context: html, text, full: html, text
d0ddd717713f275dc2f567c9b6d733fd3f55bd90 Fri Oct 2 21:27:25 2026 -0700
Put PRO-cap and ProCapNet inside a Transcription Initiation folder. refs #35528
The two data sources were top-level superTracks because a superTrack could not
be a member of another one. #38460 fixes that, so they now sit inside a
transcriptionStart superTrack, which is what the collection was meant to be.
The container is written before either of its children, and both children before
any of their members: tdbQuery -strict rejects a file in which another track
comes between a superTrack and one of its children.
This depends on the #38460 build. A plain make here with the installed binaries
produces a half-built state, since hgTrackDb drops the container from the table
and trackDbToTxt then writes an hs1 curated hub whose member names a parent
stanza that is not there. Both makedocs say so.
- lines changed 8, context: html, text, full: html, text
e314363411293556f33418abe8923ad1e8bc496a Fri Oct 2 21:36:04 2026 -0700
Revert the TSS nesting on master; it lives on superTrackNesting. refs #35528
Putting PRO-cap and ProCapNet inside a transcriptionStart superTrack needs the
nesting fix in #38460, which is not released. These tracks were released in
3bee9e40921, so on beta and the RR hgTrackDb would drop the container and
trackDbToTxt would write an hs1 curated hub whose members name a parent stanza
that is not there.
The work is on the superTrackNesting branch and can come back once #38460 ships.
- lines changed 25, context: html, text, full: html, text
0c42aea56b751a2b4a58feb225a9659819a90994 Sat Oct 3 06:22:01 2026 -0700
Nest the TSS tracks on alpha only, leaving the release as it is. refs #35528
PRO-cap and ProCapNet sit inside a transcriptionStart superTrack on alpha. That
needs #38460, which is on master but not in a release, and these tracks are
already released, so each source is written twice with complementary release
tags: the nested copy alpha, the flat copy beta,public. hgTrackDb takes the copy
whose release matches and rejects two whose releases overlap.
Verified that beta and public are untouched: a public build from this file is
byte-identical to a public build from the released flat tree, same md5 over
tableName, shortLabel, type, visibility, priority and settings. tdbQuery -check
-strict passes on all three releases, and an alpha build has the container with
both members parented while beta and public have neither.
Drop the release tags and the flat copies once #38460 ships.
The makedocs also record that the alpha build needs hgTrackDb and trackDbToTxt
in /cluster/bin/x86_64 to carry the #38460 fix. make alpha does not install
there, BINDIR defaults to ~/bin/$MACHTYPE, so they were put in by hand and the
weekly utils build will overwrite them.
- src/hg/makeDb/trackDb/human/hs1/chainLiftOverHg38.ra
- lines changed 12, context: html, text, full: html, text
ad6dd2177ad20bea9e32563ee76a1c598bccb6d5 Tue Sep 29 23:22:17 2026 -0700
adding hg38 liftOver chain from lastz refs #34360
- src/hg/makeDb/trackDb/human/hs1/crispr.ra
- lines changed 1, context: html, text, full: html, text
cf9cfcd463d40a868f8ee73dead17ff8071dce2f Fri Sep 25 03:00:20 2026 -0700
CRISPR tracks: expose colorFields dropdown to color guides by off-target
specificity (MIT score) or by Moreno-Mateos efficiency, as alternatives to
the default Doench/Fusi-based itemRgb color. The bigBed already carries
these as the _specColor and _crisprScanColor extra fields; no data rebuild
needed.
- src/hg/makeDb/trackDb/human/hs1/html/sgdpCopyNumber.html
- lines changed 466, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/trackDb/human/hs1/humanChainNet.trackDb.ra
- lines changed 11, context: html, text, full: html, text
ad6dd2177ad20bea9e32563ee76a1c598bccb6d5 Tue Sep 29 23:22:17 2026 -0700
adding hg38 liftOver chain from lastz refs #34360
- src/hg/makeDb/trackDb/human/hs1/miniMapChains.ra
- lines changed 52, context: html, text, full: html, text
bfe895921db1a915cbd21cc0e70c09d1c159e32b Tue Sep 29 23:06:22 2026 -0700
showing minimap2 chains to hg38 refs #34360
- lines changed 2, context: html, text, full: html, text
ad6dd2177ad20bea9e32563ee76a1c598bccb6d5 Tue Sep 29 23:22:17 2026 -0700
adding hg38 liftOver chain from lastz refs #34360
- src/hg/makeDb/trackDb/human/hs1/sgdpCopyNumber.alpha.trackDb.ra
- lines changed 2895, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/trackDb/human/hs1/t2t-supplied.trackDb.ra
- lines changed 2, context: html, text, full: html, text
360607541994aa88b49fc241c34bd964a1db7b50 Tue Sep 29 15:07:07 2026 -0700
Rebuild the hs1 sgdpCopyNumber track as a faceted composite, so its 319
samples are picked from a searchable metadata table rather than 319
checkboxes; the same bigBeds are pointed at by the same /gbdb paths, so no
data changed. Subtracks are renamed from <region>_<population>_<libId>_wssd
to sgdpCopyNumber_<libId> because a faceted composite requires the parent
name plus the primaryKey value, and dataTypes is deliberately unset: with it
hgTrackUi parses the data element only as far as the first underscore and
would truncate LP6005441-DNA_A01 to LP6005441-DNA. The per-subtrack
'visibility dense' lines are gone because a faceted composite honors a
child's own display mode where a classic composite ignores it, so keeping
them would pin every sample to dense and remove the per-item click that the
copy number is read from. Sample attributes come from the Reich lab SGDP
tables and 317 of the 319 join; sgdpCopyNumberBuild.py takes its sample list
from the checked-in sgdpCopyNumberSamples.tsv rather than from trackDb,
because at release the generated stanzas replace sgdpCopyNumber.trackDb.ra
and the legacy region prefix that the two unmatched samples depend on
disappears with them. Alpha gets the new file and beta/public keep the old
one until the metadata and color files are on the RR, without which the
picker renders empty. sgdpCopyNumber_subset, which turns out to be the first
29 samples in plate order rather than any curated set, is not in the alpha
version; whether it is retired for good is still open on the ticket.
Faceted composite suggested by Gerardo, and the cross-sandbox metadata fetch
that this track turned up was fixed by Max in b3a26a6aff3. refs #29344
- src/hg/makeDb/trackDb/human/hs1/trackDb.ra
- lines changed 2, context: html, text, full: html, text
bfe895921db1a915cbd21cc0e70c09d1c159e32b Tue Sep 29 23:06:22 2026 -0700
showing minimap2 chains to hg38 refs #34360
- lines changed 1, context: html, text, full: html, text
3bee9e40921231f206014d66a54c6af7581bd4b7 Fri Oct 2 16:54:40 2026 -0700
Releasing the ProCapNet tracks, refs #35528
- src/hg/makeDb/trackDb/human/hs1/transcriptionStart.ra
- lines changed 2, context: html, text, full: html, text
5e83632c91c1c536880da1e364a41467856135bd Tue Sep 22 11:02:32 2026 -0700
Rename the TSS container and trim the ProCapNet description. refs #35528
Both labels on the transcriptionStart container are now "Transcription
Initiation (TSS)". Changed in proCapNetTrackDb and the two transcriptionStart.ra
files regenerated from it, since they are generated and carry a do-not-edit
header.
Dropped the Processing at UCSC section from the ProCapNet page. How the files
reached UCSC is not something a browser user needs; the makeDoc already records
it, including the NaN bases dropped from the hg38 predictions.
Replaced the Kundaje lab server link with the ENCODE portal. The six ENCODE
records are BPNet-model annotations holding the trained model, contribution
scores and predicted signal over a selected region set. The genome-wide
predictions in this track are roughly fifty times larger than the ENCODE
predicted-signal files and are not part of that release, so the page says so
rather than naming ENCODE as their source.
Claude-Session: https://claude.ai/code/session_01LAB6jWshLvB7eNXQKWVuW5
- lines changed 19, context: html, text, full: html, text
b8a77f50143d1cc2a474fe9a56fe7c362183a07f Fri Sep 25 17:35:01 2026 -0700
Making the shortLabel sentence case. Updating the shortlabel for the subtracks to say 'Predicted' or 'Contributed', refs #35528
- lines changed 6, context: html, text, full: html, text
717ce54a6012dedd51b0100c643a7a252a16fabb Fri Sep 25 17:46:20 2026 -0700
Adding windowingFuction maximum to trackDb and the script that generates the trackDb file. refs #35528
- lines changed 1, context: html, text, full: html, text
49de9e93e4417083feb23522a71e3960595828a3 Fri Sep 25 22:46:28 2026 -0700
ProCapNet label and facet color fixes from QA. refs #35528
The composite longLabel named the sequence-contribution scores, which only
exist on hg38, so it was wrong on hs1. Use "ProCapNet predicted PRO-cap" on both
assemblies; the scores are described on the track description page.
The Sample class swatches reused two colors from the cell-line palette, so a
track's color could be read as its class: A673 is a cancer line and drew in
#0072B2, which was the Non-cancer swatch. Sample class is a binary facet and
does not need a hue, so use black and gray, outside the Okabe-Ito palette.
Say in the description that the contribution scores cover about 1% of the
genome, so the limit is visible before the display conventions section.
- lines changed 1, context: html, text, full: html, text
31e95f0d1dd4ca08feba9b081a356527bd4b45e6 Sat Sep 26 20:36:20 2026 -0700
Drop the hand-built Files column from the TSS faceted tables. refs #35528
UCSC will generate the download links in the faceted table, so the Files column
each composite built for itself is redundant. Remove downloadCell, the Files
header and cell, the Files entry in subtrackUrls, and the DOWNLOAD constant that
only fed them. The table is now Tissue, Sample class, Experiment, Cell line on
all three composites. writeMetadata no longer needs db or track; the metadata
files it writes are byte-identical.
Lead each Data Access section with the link to the hgdownload directory, since
that is now the way to a single file, and keep the naming convention beside it.
Drop the paragraph describing the Files column.
- lines changed 42, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 30, context: html, text, full: html, text
bdf448295c10bee74b6baa773f6733ce33171996 Thu Oct 1 20:56:37 2026 -0700
Store the ProCapNet minus strand negated, and fix group autoscale. refs #35528
Two of the three problems Jairo found on the composite.
The negate control did not work on ProCapNet. Its minus-strand files held
positive values and were flipped at display time with trackDb negateValues. The
composite's control sets one shared value, which replaced the per-track setting
and sent both strands the same way, with no route back to the default short of a
cart reset. encode4ProCap was fine because ENCODE publishes its minus strand
negative already. So put the sign in the data: proCapNetPredToFixedStep gains
--negate, proCapNetPredBuild passes it for the minus strand, and negateValues is
gone from the stanzas. The twelve existing files were rewritten rather than
rebuilt, since the downloads had been deleted; each was checked against its
original for identical nBasesCovered, a mirrored value range and exactly negated
values. The originals are kept in previousPred, about 197 GB, until QA is done.
Group autoscale on the composite did nothing, which was my error: the multiWig
containers and the contribution leaves each carried autoScale on, and the child
setting wins. The wiggle settings now live only on the composite.
The third, an empty row when both strands of a cell line are deselected, is
#38441 and is not fixed here.
Note in both makedocs and in the generator that this arrangement only partly
works and is expected to become a superTrack of multiWig overlays: under a
composite, hgTrackUi lists leaves rather than containers, so an overlay gets no
inline config block and leaves an empty row when deselected.
- lines changed 81, context: html, text, full: html, text
1c32191759769c28cf763342f5e405420add0170 Thu Oct 1 21:20:54 2026 -0700
Make the TSS tracks superTracks of multiWig overlays. refs #35528
The composite held the multiWig overlays as children, which drew correctly but
left two faults, both from hgTrackUi listing descendant leaves rather than
containers: an overlay got no configuration block of its own, and hiding both
strands of a cell line left an empty row where the overlay had been. That is
#38441.
As superTrack members the overlays are tracks in their own right. Each gets a
full configuration page, including overlay method and negate values, and hiding
one hides the whole overlay. Verified: hiding proCapNet_K562_pred removes the
row and leaves the other five.
Two top-level superTracks, PRO-cap and ProCapNet, rather than one
transcriptionStart folder holding both. superTracks do not nest. A superTrack
given a parent passes tdbQuery -check -strict and is then dropped at load, since
trackDbSuperMarkup refuses to set a parent on a superTrack and hgTrackDb only
writes a superTrack that some track names as its parent. Filed as #38460, with
the test case; transcriptionStart.html stays in the tree unused in case it is
fixed.
What this costs: the subtrack matrix and the sample class filter, which a
superTrack does not offer. Each overlay now carries its own wiggle settings and
its own html, neither being inherited from a container any more.
- lines changed 1, context: html, text, full: html, text
0ca316803a93c570fc7614479afd322194f17217 Fri Oct 2 06:53:26 2026 -0700
Drop priority from the two TSS superTrack stanzas. refs #35528
The folders take whatever position the group gives them. The member tracks keep
their own priorities, which order each overlay within its folder.
- lines changed 7, context: html, text, full: html, text
d0ddd717713f275dc2f567c9b6d733fd3f55bd90 Fri Oct 2 21:27:25 2026 -0700
Put PRO-cap and ProCapNet inside a Transcription Initiation folder. refs #35528
The two data sources were top-level superTracks because a superTrack could not
be a member of another one. #38460 fixes that, so they now sit inside a
transcriptionStart superTrack, which is what the collection was meant to be.
The container is written before either of its children, and both children before
any of their members: tdbQuery -strict rejects a file in which another track
comes between a superTrack and one of its children.
This depends on the #38460 build. A plain make here with the installed binaries
produces a half-built state, since hgTrackDb drops the container from the table
and trackDbToTxt then writes an hs1 curated hub whose member names a parent
stanza that is not there. Both makedocs say so.
- lines changed 7, context: html, text, full: html, text
e314363411293556f33418abe8923ad1e8bc496a Fri Oct 2 21:36:04 2026 -0700
Revert the TSS nesting on master; it lives on superTrackNesting. refs #35528
Putting PRO-cap and ProCapNet inside a transcriptionStart superTrack needs the
nesting fix in #38460, which is not released. These tracks were released in
3bee9e40921, so on beta and the RR hgTrackDb would drop the container and
trackDbToTxt would write an hs1 curated hub whose members name a parent stanza
that is not there.
The work is on the superTrackNesting branch and can come back once #38460 ships.
- lines changed 16, context: html, text, full: html, text
0c42aea56b751a2b4a58feb225a9659819a90994 Sat Oct 3 06:22:01 2026 -0700
Nest the TSS tracks on alpha only, leaving the release as it is. refs #35528
PRO-cap and ProCapNet sit inside a transcriptionStart superTrack on alpha. That
needs #38460, which is on master but not in a release, and these tracks are
already released, so each source is written twice with complementary release
tags: the nested copy alpha, the flat copy beta,public. hgTrackDb takes the copy
whose release matches and rejects two whose releases overlap.
Verified that beta and public are untouched: a public build from this file is
byte-identical to a public build from the released flat tree, same md5 over
tableName, shortLabel, type, visibility, priority and settings. tdbQuery -check
-strict passes on all three releases, and an alpha build has the container with
both members parented while beta and public have neither.
Drop the release tags and the flat copies once #38460 ships.
The makedocs also record that the alpha build needs hgTrackDb and trackDbToTxt
in /cluster/bin/x86_64 to carry the #38460 fix. make alpha does not install
there, BINDIR defaults to ~/bin/$MACHTYPE, so they were put in by hand and the
weekly utils build will overwrite them.
- src/hg/makeDb/trackDb/human/mei.html
- lines changed 101, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- lines changed 14, context: html, text, full: html, text
e461209cf1fd3758d63641915cd91ca9c8ab3020 Thu Sep 24 17:00:10 2026 -0700
Remove tool output accidentally left in the mei description page, per CR. refs #37524
getTrackReferences writes its diagnostics to stdout rather than stderr, so
six "Failed to fetch complete links from NCBI" lines ended up in the
References section of mei.html and rendered as visible text on the track
description page.
NCBI is still not answering, so rather than rerun the tool the references
are now assembled from the citation blocks already present on the six
subtrack pages. That also restores the publisher links for every paper,
which the failed lookups had degraded to bare PubMed URLs.
Also make the INFO SEQ guard in meiHgsvc3CsvToBed.py require a usable
string, so an empty SEQ= value would fall back to the ALT-derived sequence
instead of silently producing an empty one. No record in either callset
carries an empty SEQ today and the rebuilt output is byte-identical.
- src/hg/makeDb/trackDb/human/mei.ra
- lines changed 16, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- lines changed 2, context: html, text, full: html, text
8e55bcac3b1cf604a3cebbb7eaf4aac109449f76 Tue Sep 22 06:13:02 2026 -0700
changing track name, refs #37524
- src/hg/makeDb/trackDb/human/meiDeepmei1kg.html
- lines changed 33, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/meiEul1db.html
- lines changed 15, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/meiEul1dbRef.html
- lines changed 13, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/meiHgsvc3.html
- lines changed 14, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/meiHmeid.html
- lines changed 10, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/meiSwegen.html
- lines changed 14, context: html, text, full: html, text
7e87cadb469b4e0eb4fb7f973154357cfe7fc345 Mon Sep 21 15:56:18 2026 -0700
QA fixes for the mei (Mobile Insertions) track collection. refs #37524
Fix two data bugs found during QA and rebuild the affected bigBeds.
meiEul1dbToBed.py looked up samples and individuals by name, but euL1db
joins on 1-based row numbers, so neither join ever matched and the
individual count, tissues, clinical conditions and populations were empty
on all 8,991 insertions while the contributing-samples table printed row
numbers. Both loaders now key on the row number, the table prints the
sample name, and the adjacent population filter is case-insensitive so it
actually drops "unknown". meiHgsvc3CsvToBed.py took alt[1:] on every
record, which dropped the first base of the element on the 96 GRCh38 and
111 T2T-CHM13 records where PALMER2 is the only caller and ALT carries no
anchor base; it now prefers INFO SEQ, which always matches SVLEN.
Correct seven statements on the description pages against their sources:
the HGSVC3 single-caller split was attributed to PALMER rather than
L1ME-AID, its orthogonal concordance was 90.8% rather than 92.5%, euL1db
was credited with aligning the L1HS consensus when the paper says it was
processed from our RepeatMasker track, DeepMEI's network was described as
a classifier rather than a genotyper and given the wrong training set,
euL1db listed two detection methods absent from the data, and HMEID
contradicted itself on the MELT ASSESS cutoff.
Also: the SweGen bigDataUrl now points at _swegen.bb so the restricted
callset is kept off the download server; the container page no longer
claims the whole collection is long-read, lists the two euL1db subtracks,
scopes its display conventions to the subtracks they describe, and cites
all six papers; dead and wrong track links are repointed and pinned to a
db; $db replaces hardcoded hg38 in paths on pages that serve three
assemblies; the euL1db labels no longer carry hg38 counts and a lift note
that made no sense on hg19; all six subtracks gain a dataVersion; the
euL1db filter ranges match the data; and five autoSql field descriptions
match what the files contain.
Document the gbdb symlinks and the QA changes in doc/hg38/mei.txt, correct
the HMEID bedToBigBed type there, and add an hg19.txt pointer since hg19
carries the two euL1db subtracks.
- src/hg/makeDb/trackDb/human/phasedVars.html
- lines changed 12, context: html, text, full: html, text
9cedfa38c14068c79dec89f76c606ee22b3f931a Wed Sep 30 15:02:37 2026 -0700
phasedVars: new subtrack hgdp1kSnv, a 17GB version of the 3.5TB gnomAD HGDP+1000G genotype VCF with only SNVs with AC>5 and only GT, so haplotype clustering can be shown up to 5Mbp, refs #37306
- lines changed 2, context: html, text, full: html, text
85320722a5537e851769a87a141b2094aa145847 Mon Oct 5 01:29:25 2026 -0700
phasedVars.html: comment out the hgdp1kSnv methods paragraph until that subtrack is released, refs #37306
- src/hg/makeDb/trackDb/human/phasedVars.ra
- lines changed 14, context: html, text, full: html, text
9cedfa38c14068c79dec89f76c606ee22b3f931a Wed Sep 30 15:02:37 2026 -0700
phasedVars: new subtrack hgdp1kSnv, a 17GB version of the 3.5TB gnomAD HGDP+1000G genotype VCF with only SNVs with AC>5 and only GT, so haplotype clustering can be shown up to 5Mbp, refs #37306
- src/hg/makeDb/trackDb/human/predictionScoresSuper.html
- lines changed 31, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/human/predictionScoresSuper.ra
- lines changed 1, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/human/primateAi.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/proCapNet.html
- lines changed 27, context: html, text, full: html, text
5e83632c91c1c536880da1e364a41467856135bd Tue Sep 22 11:02:32 2026 -0700
Rename the TSS container and trim the ProCapNet description. refs #35528
Both labels on the transcriptionStart container are now "Transcription
Initiation (TSS)". Changed in proCapNetTrackDb and the two transcriptionStart.ra
files regenerated from it, since they are generated and carry a do-not-edit
header.
Dropped the Processing at UCSC section from the ProCapNet page. How the files
reached UCSC is not something a browser user needs; the makeDoc already records
it, including the NaN bases dropped from the hg38 predictions.
Replaced the Kundaje lab server link with the ENCODE portal. The six ENCODE
records are BPNet-model annotations holding the trained model, contribution
scores and predicted signal over a selected region set. The genome-wide
predictions in this track are roughly fifty times larger than the ENCODE
predicted-signal files and are not part of that release, so the page says so
rather than naming ENCODE as their source.
Claude-Session: https://claude.ai/code/session_01LAB6jWshLvB7eNXQKWVuW5
- lines changed 32, context: html, text, full: html, text
0f951bfc96241a7362d1512ceecf59a02682a839 Thu Sep 24 20:40:52 2026 -0700
Description page fixes from a QA pre-pass on the TSS tracks. refs #35528
Encode the non-ASCII character in the Avsec reference on proCapNet.html.
getTrackReferences emits raw UTF-8, which the browser does not transcode.
Use $db rather than a hardcoded hg38 in the proCapNet download-server link and
the bigWigToBedGraph example. One page serves both assemblies, so an hs1 reader
was being pointed at hg38 files.
Add a Source subsection to proCapNet.html linking the makedoc, the build scripts,
the trackDb file and the upstream kundajelab/ProCapNet repository. These links
went missing when the Processing at UCSC section was dropped; the prose stays
dropped.
Drop the cross-links between the two track pages. Track names are prefixed
hub_<id>_ on hs1, which is a curated hub, and the id is machine-specific, so a
bare-name link cannot work there. Each page now states which assemblies the data
is available on instead, naming both GRCh38/hg38 and T2T-CHM13/hs1.
Bold the two UI control names on the proCapNet display conventions section.
- lines changed 2, context: html, text, full: html, text
79073841f4c544426db6c1f805af94844cabef23 Thu Sep 24 20:46:08 2026 -0700
Say why the ProCapNet contribution scores are hg38 only. refs #35528
The page gave the reason as "that is the assembly they were computed against",
which restates the fact rather than explaining it. The scores are computed at
MANE Select transcription start sites and MANE is not defined for T2T-CHM13.
- lines changed 3, context: html, text, full: html, text
acf20930c5cdfa1e352826a702ad8f36344178c4 Thu Sep 24 21:16:13 2026 -0700
Fixes from an independent review of the TSS tracks. refs #35528
The Data Access sections told users to pass the composite name to the API, which
returns HTTP 400. The API serves one bigWig at a time, so both pages now name a
single strand of one cell line, verified to return 200.
encode4ProCap.html claimed the kent tree held the manifest of which ENCODE files
went into each track, and it did not. Commit that manifest as
proCapNetEncodeFiles.tsv and name it on the page. It matters because
proCapNetEncodeMeta resolves each experiment's default analysis at run time, so
re-running it after an ENCODE reprocessing can pick different files.
Cite Shah et al. for the ENCODE 4 nascent transcriptome survey the six PRO-cap
experiments come from. Sagar Shah was credited by name with no reference.
The hg38 makedoc called the 164268582 dropped bases "the N regions", but gap on
the primary chromosomes is 150610728. The extra 13.7 Mb is sequence flanking each
gap, dropped because most of its 2114 bp window was unresolved.
- lines changed 30, context: html, text, full: html, text
38ccb38771eddfec3230ab3494fb12e11e7cb4ac Fri Sep 25 17:52:32 2026 -0700
Putting references in alphabetical order. Adding years to citations. Not using the word 'here' and using the actual location/noun. refs #35528
- lines changed 2, context: html, text, full: html, text
49de9e93e4417083feb23522a71e3960595828a3 Fri Sep 25 22:46:28 2026 -0700
ProCapNet label and facet color fixes from QA. refs #35528
The composite longLabel named the sequence-contribution scores, which only
exist on hg38, so it was wrong on hs1. Use "ProCapNet predicted PRO-cap" on both
assemblies; the scores are described on the track description page.
The Sample class swatches reused two colors from the cell-line palette, so a
track's color could be read as its class: A673 is a cancer line and drew in
#0072B2, which was the Non-cancer swatch. Sample class is a binary facet and
does not need a hue, so use black and gray, outside the Okabe-Ito palette.
Say in the description that the contribution scores cover about 1% of the
genome, so the limit is visible before the display conventions section.
- lines changed 22, context: html, text, full: html, text
af96452e1c6ccf783697cead2630de1ca4e91635 Sat Sep 26 06:42:20 2026 -0700
Put the primary citation first again on the TSS track pages. refs #35528
Alphabetical order buried the paper each track is actually built on: Cochran
et al. for ProCapNet, behind Avsec, and Shah et al. for the ENCODE 4 PRO-cap
experiments, behind Kwak and Luo. Lead with the primary paper and leave the
rest in the order they stood.
Reordering only. The years and DOIs added in 38ccb38771e are unchanged.
- lines changed 42, context: html, text, full: html, text
40264d0668926b51da94d2ca038dc7349dfc3405 Sat Sep 26 07:59:34 2026 -0700
Shorten the Methods sections on the two TSS data pages. refs #35528
Both read like a paper's methods section rather than a track description: 43
lines over four subsections on proCapNet, 35 on encode4ProCap. Cut each to three
paragraphs, what the model or assay is, how the files we serve were produced, and
where the build is recorded. The subsection headings go with it.
Kept every fact a user of the track needs: the window and stride, the MANE Select
limit on the contribution scores, the unresolved-sequence handling on hg38, the
replicate summing, the six ENCODE accessions and the file manifest. Dropped the
detail that belongs to the papers, such as the DeepSHAP scalarization and the
loss weighting.
The container page keeps no Methods section, which is correct for a page that
only points at the two data pages.
- lines changed 27, context: html, text, full: html, text
31e95f0d1dd4ca08feba9b081a356527bd4b45e6 Sat Sep 26 20:36:20 2026 -0700
Drop the hand-built Files column from the TSS faceted tables. refs #35528
UCSC will generate the download links in the faceted table, so the Files column
each composite built for itself is redundant. Remove downloadCell, the Files
header and cell, the Files entry in subtrackUrls, and the DOWNLOAD constant that
only fed them. The table is now Tissue, Sample class, Experiment, Cell line on
all three composites. writeMetadata no longer needs db or track; the metadata
files it writes are byte-identical.
Lead each Data Access section with the link to the hgdownload directory, since
that is now the way to a single file, and keep the naming convention beside it.
Drop the paragraph describing the Files column.
- lines changed 1, context: html, text, full: html, text
fe4c75c272ca27de55c0b42396c47f2b00637a4a Mon Sep 28 16:36:20 2026 -0700
Linking the encode4ProCap trackDb.ra, saying why PRO-cap and contribution scores are hg38 only on the container page, and limiting the ProCapNet prediction claim to the primary chromosomes, refs #35528
- lines changed 19, context: html, text, full: html, text
66fafe88184bb3a8a45a50026f4d6c7fbbc24109 Tue Sep 29 10:12:53 2026 -0700
Rebuild the TSS tracks as traditional composites, for wiggle control. refs #35528
A faceted composite is routed to facetedCompositeUi(), which returns before
cfgByCfgType(), so it never draws the wiggle controls: no data view scaling, no
viewing range, no windowing function, no track height. Signal tracks need those,
so proCapNet and encode4ProCap are now traditional composites. They stay separate
composites under the TSS container.
The multiWig strand overlays survive the change. The old comment here claimed a
multiWig under a plain composite "is flattened away and never drawn"; that is
wrong for drawing, which #36320 fixed. Only the hgTrackUi subtrack list flattens,
because compositeUiSubtracks() walks to leaves, so the overlays get no inline
config block and are configured from their own pages. Raised as #38441.
The matrix has to be declared over the leaves, since that is the level hgTrackDb
checks: declaring it on the containers fails -strict with "has groups not defined
in parent". So a strand is a matrix cell, and the containers carry no subGroups.
Sample class survives as a filterComposite dimension, replacing the facet.
configurable on gives each subtrack its own config namespace.
Drop the faceted machinery: the metadata table, the color file, the constants
feeding them and the gbdbDir argument, 39 lines. The metadata.tsv and colors.json
already written under /gbdb are now unreferenced and can be deleted.
Put the ENCODE accession in each subtrack longLabel, and add a linked table of
them to both description pages. A longLabel cannot carry a link, since
printSubtrackTableBody() htmlEncodes it, hence the table. The label wording is
shortened to keep the longest at 74 characters.
- lines changed 2, context: html, text, full: html, text
624943dde3397629da2a91d62e83efe7df98d065 Thu Oct 1 16:30:28 2026 -0700
Pointing the ProCapNet description to the ENCODE Model column of the accession table instead of the removed Experiment column from the bigCompositeUI, refs #35528
- lines changed 7, context: html, text, full: html, text
9f6962c173c405e481da17794d67107e7f8e73a9 Fri Oct 2 16:05:31 2026 -0700
Replacing the subtrack matrix and Sample class filter paragraph on the PRO-cap and ProCapNet description pages with the track collection layout from Mark's change, and noting that ProCapNet minus strand files store negative values, refs #35528
- src/hg/makeDb/trackDb/human/promoterAi.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/sfariSparkExomes.html
- lines changed 59, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 11, context: html, text, full: html, text
f03f56cd3c795a6fba2b8419662a9a2c5d49f69a Sat Sep 26 14:16:17 2026 -0700
sfariSparkWgs45kAsd: now genome-wide (518M variants from the 45,178 genotype pVCFs, run on parasol); per-allele INFO fields declared Number=1 so the VCF track filters accept them, doc page no longer says DSCAM only, refs #38424
- lines changed 24, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- lines changed 18, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- lines changed 3, context: html, text, full: html, text
d8d88eb7e5c8e6df478626e5b88ee7c923c43995 Sun Oct 4 09:48:15 2026 -0700
sfariSparkExomes.html: SFARI will realign and re-call the 45k WGS release (alt-aware alignment problem), the track will be updated then, refs #38424
- src/hg/makeDb/trackDb/human/strVarNew.ra
- lines changed 1, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/tadsDixon.html
- lines changed 13, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/tadsMcArthur.html
- lines changed 24, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/tadsSchmitt.html
- lines changed 15, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/human/trackDb.ra
- lines changed 1, context: html, text, full: html, text
ce7133b45942cf33b8bf074af8b3fd6952381f95 Tue Sep 29 16:50:33 2026 -0700
Staging the STR track on beta for hg38, hg19, and hs1, refs #38268
- lines changed 3, context: html, text, full: html, text
f4d967492fedb59d2e528cf196e35c1da248ae96 Fri Oct 2 07:15:47 2026 -0700
Quarterly pennant cleanup: removing New/Updated pennantIcons released before July 2026 (strVar, nmd, promoterAi, primateAi, mpra, varaico). No RM.
- src/hg/makeDb/trackDb/human/transcriptionStart.html
- lines changed 10, context: html, text, full: html, text
0f951bfc96241a7362d1512ceecf59a02682a839 Thu Sep 24 20:40:52 2026 -0700
Description page fixes from a QA pre-pass on the TSS tracks. refs #35528
Encode the non-ASCII character in the Avsec reference on proCapNet.html.
getTrackReferences emits raw UTF-8, which the browser does not transcode.
Use $db rather than a hardcoded hg38 in the proCapNet download-server link and
the bigWigToBedGraph example. One page serves both assemblies, so an hs1 reader
was being pointed at hg38 files.
Add a Source subsection to proCapNet.html linking the makedoc, the build scripts,
the trackDb file and the upstream kundajelab/ProCapNet repository. These links
went missing when the Processing at UCSC section was dropped; the prose stays
dropped.
Drop the cross-links between the two track pages. Track names are prefixed
hub_<id>_ on hs1, which is a curated hub, and the id is machine-specific, so a
bare-name link cannot work there. Each page now states which assemblies the data
is available on instead, naming both GRCh38/hg38 and T2T-CHM13/hs1.
Bold the two UI control names on the proCapNet display conventions section.
- lines changed 5, context: html, text, full: html, text
fe4c75c272ca27de55c0b42396c47f2b00637a4a Mon Sep 28 16:36:20 2026 -0700
Linking the encode4ProCap trackDb.ra, saying why PRO-cap and contribution scores are hg38 only on the container page, and limiting the ProCapNet prediction claim to the primary chromosomes, refs #35528
- src/hg/makeDb/trackDb/human/varFreqs.html
- lines changed 10, context: html, text, full: html, text
cd80acf5ecf157dedd8be818d5a684f6334b8b61 Sat Sep 26 18:19:43 2026 -0700
varFreqs: add SFARI SPARK 45k WGS to the summary table; the old 12,519-genome SPARK WGS subtrack is now labeled SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/trackDb/human/varFreqs.ra
- lines changed 43, context: html, text, full: html, text
7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 Fri Sep 25 02:48:31 2026 -0700
varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424
- lines changed 5, context: html, text, full: html, text
f03f56cd3c795a6fba2b8419662a9a2c5d49f69a Sat Sep 26 14:16:17 2026 -0700
sfariSparkWgs45kAsd: now genome-wide (518M variants from the 45,178 genotype pVCFs, run on parasol); per-allele INFO fields declared Number=1 so the VCF track filters accept them, doc page no longer says DSCAM only, refs #38424
- lines changed 12, context: html, text, full: html, text
a5c699a7301156154700f51a20ae571bc6987051 Sat Sep 26 17:53:41 2026 -0700
varFreqs: remove the AF-table-based sfariSparkWgs45k subtrack, superseded by the genotype-based sfariSparkWgs45kAsd; drop its scripts, the DSCAM demo script and their makeDoc sections, refs #38424
- lines changed 2, context: html, text, full: html, text
cd80acf5ecf157dedd8be818d5a684f6334b8b61 Sat Sep 26 18:19:43 2026 -0700
varFreqs: add SFARI SPARK 45k WGS to the summary table; the old 12,519-genome SPARK WGS subtrack is now labeled SFARI SPARK iWGS v1.1 Pilot, refs #38424
- lines changed 5, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- lines changed 65, context: html, text, full: html, text
66c51e29423da24a7144c7ba99a4cc2ebc96b32c Mon Sep 28 13:54:36 2026 -0700
varFreqs: combined tracks rebuilt with SFARI SPARK 45k WGS (without its NonHumanIns insertions); add its filter blocks, affected label now ~150,000 individuals, refs #38424
- src/hg/makeDb/trackDb/human/varFreqsAffected.html
- lines changed 10, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/trackDb/human/varFreqsBackground.html
- lines changed 5, context: html, text, full: html, text
442e433a90b25deb87f10e6cf1b7b608bb0a6d67 Sat Sep 26 21:56:06 2026 -0700
sfariSparkWgs45kAsd: flag 25M insertions of non-human (oral bacteria) sequence as FILTER NonHumanIns and hide them by default; add SFARI SPARK 45k WGS to the combined tracks without those insertions and relabel the 12k pilot as SFARI SPARK iWGS v1.1 Pilot, refs #38424
- src/hg/makeDb/trackDb/lamprey/petMar1/multiz6way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/lamprey/petMar1/phastConsElements6way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/lamprey/petMar2/cons7way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/lancelet/braFlo1/multiz5way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/lancelet/braFlo1/phastConsElements5way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/lizard/anoCar2/cons7way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/marmoset/calJac1/multiz9way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/marmoset/calJac1/phastConsElements9way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/marmoset/calJac3/cons13way.html
- lines changed 40, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/medaka/oryLat1/multiz5way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/medaka/oryLat1/phastConsElements5way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/medaka/oryLat2/multiz5way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/medaka/oryLat2/phastConsElements5way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm10/cons60way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm10/tads3dgb.html
- lines changed 66, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm10/tads3dgb.ra
- lines changed 33, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm10/tadsEncode.html
- lines changed 68, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm10/tadsEncode.ra
- lines changed 9, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm10/trackDb.ra
- lines changed 1, context: html, text, full: html, text
983d1e972217fb20781724d2cec9dfaec6fa96af Mon Sep 21 17:48:17 2026 -0700
Removing the release tags for the cactus mouse strains track, refs #38308
- src/hg/makeDb/trackDb/mouse/mm39/cons35way.html
- lines changed 25, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm39/gpnStar.html
- lines changed 150, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/mouse/mm39/gpnStar.ra
- lines changed 125, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/mouse/mm39/tads.html
- lines changed 94, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm39/tads3dgb.ra
- lines changed 33, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm39/tadsDixon.html
- lines changed 46, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm39/tadsEncode.ra
- lines changed 9, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/mm39/trackDb.ra
- lines changed 2, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/mouse/mm5/multiz5way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm6/multiz10way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm7/multiz17way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm8/multiz17way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm9/cons30way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/mm9/multiz30way.html
- lines changed 31, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/phastConsElements17way.html
- lines changed 8, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/mouse/tads.html
- lines changed 37, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/tads3dgb.html
- lines changed 18, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/tadsDixon.html
- lines changed 9, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouse/tadsEncode.html
- lines changed 33, context: html, text, full: html, text
b7b9978c92a2376d6d9ef4f0a4974cb8167295f8 Wed Sep 30 14:17:50 2026 -0700
Updating the TAD tracks from the qa-track SKILL.md pass (hg19, hg38, mm10, mm39): shortLabel fixes for cut-off and duplicate ENCODE and 3DGB subtracks, lowercase biosamples in ENCODE longLabels, " bnd" dropped from Schmitt shortLabels, 3DGB subtracks set to pack with three mm10/mm39 defaults turned on, allButtonPair removed so the Schmitt matrix shows, and McArthur item labels hidden. Merged identical description pages into human/ and mouse/, plus description page cleanups (regenerated References, removed the "How to use these tracks" section, ENCODE pages now say 112 of 117 biosamples use Arrowhead). Also updated the ENCODE metadata columns and organ example in the hg38 makedoc. refs #21599
- src/hg/makeDb/trackDb/mouseLemur/micMur3/cons3way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/opossum/monDom4/multiz7way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/opossum/monDom4/phastConsElements7way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/opossum/monDom5/multiz9way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/opossum/multiz5way.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/orangutan/ponAbe2/multiz8way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/orangutan/ponAbe2/phastConsElements8way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/phastConsElements.html
- lines changed 8, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/platypus/ornAna1/multiz6way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/platypus/ornAna1/phastConsElements6way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/rat/regenRn1/cons7way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/rat/rn4/multiz9way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/rat/rn4/phastConsElements9way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/rat/rn5/cons13way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/rat/rn6/cons20way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/relatedTracks.ra
- lines changed 4, context: html, text, full: html, text
cf3a4c948a0285f6e0ba711688679c904b07e178 Fri Sep 25 14:40:33 2026 -0700
Adding related tracks for the EpiCentral track, refs #38112
- lines changed 4, context: html, text, full: html, text
f3020b17f2fcd376aca99d97d778c11625c0927f Fri Sep 25 17:49:08 2026 -0700
Relating different TSS and promoter tracks, refs #35528
- lines changed 18, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/rhesus/rheMac2/multiz5waySyn.html
- lines changed 12, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/sacCer/multizYeast.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/sacCer/sacCer2/multiz7way.html
- lines changed 37, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/sacCer/sacCer3/multiz7way.html
- lines changed 38, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/stickleback/gasAcu1/multiz8way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/stickleback/gasAcu1/phastConsElements8way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/tagTypes.tab
- lines changed 5, context: html, text, full: html, text
2521d696f5073ce8cee3f59f423f161fdb77d550 Fri Sep 25 02:48:37 2026 -0700
VCF tracks: the bigBed trackDb filters (filter.*, filterByRange, filterLimits, filterValues, filterType, filterText, filterLabel) now work on INFO fields, plus ID and QUAL. The field list and types come from the VCF header; the bigBed filter code is reused, bigBed behavior unchanged, refs #37617
- lines changed 5, context: html, text, full: html, text
c9d17a52b6b5663c7175b01f801d23198b675f7e Fri Sep 25 12:03:55 2026 -0700
Revert all bigBed-filters for VCF changes, as Chris did that earlier already.
This reverts commit 2521d696f5073ce8cee3f59f423f161fdb77d550.
- lines changed 2, context: html, text, full: html, text
f20626542200362afacab9387842e1f5bb50c87c Fri Sep 25 12:43:42 2026 -0700
Experimental gnomAD v4.1.1 VCF track for hg38, refs #37617
- lines changed 1, context: html, text, full: html, text
da43847aab52991e91bfec700b16038710710038 Sat Sep 26 21:56:05 2026 -0700
VCF tracks: new trackDb setting excludeFilterValues, a comma-separated list of FILTER values that are hidden by default; they show up pre-checked in the existing Exclude variants with these FILTER values list, refs #38424
- lines changed 1, context: html, text, full: html, text
280bb44983d29e071e862ede483aececbf22d482 Mon Sep 28 09:53:56 2026 -0700
Remove vcfPhasedTrio type from colorByInfo tag as it is currently unsupported for now, refs daily code review email
- src/hg/makeDb/trackDb/tarsier/tarSyr2/cons17way.html
- lines changed 39, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/tarsier/tarSyr2/cons20way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/trackDb.ra
- lines changed 1, context: html, text, full: html, text
cf9cfcd463d40a868f8ee73dead17ff8071dce2f Fri Sep 25 03:00:20 2026 -0700
CRISPR tracks: expose colorFields dropdown to color guides by off-target
specificity (MIT score) or by Moreno-Mateos efficiency, as alternatives to
the default Doench/Fusi-based itemRgb color. The bigBed already carries
these as the _specColor and _crisprScanColor extra fields; no data rebuild
needed.
- src/hg/makeDb/trackDb/treeShrew/tupChi1/cons4way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/treeShrew/tupChi1/cons5way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/virus/wuhCor1/cons119way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/virus/wuhCor1/cons44way.html
- lines changed 48, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce10/cons7way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce10/cons9way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce11/cons135way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce11/cons26way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce11/gpnStar.html
- lines changed 150, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/worm/ce11/gpnStar.ra
- lines changed 125, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/worm/ce11/trackDb.ra
- lines changed 2, context: html, text, full: html, text
53ab3f1e293a91ddf71ec7568f4a6ff827bcd278 Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451
- src/hg/makeDb/trackDb/worm/ce4/multiz5way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce4/phastConsElements5way.html
- lines changed 9, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce6/multiz6way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce6/phastConsElements6way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/worm/ce9/cons10way.html
- lines changed 41, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/xenTro/xenTro1/multiz5way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/xenTro/xenTro2/multiz7way.html
- lines changed 29, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/xenTro/xenTro2/phastConsElements7way.html
- lines changed 16, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/xenTro/xenTro3/cons9way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/xenTro/xenTro9/cons11way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer10/cons12way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer11/danRer11.GCF_049306965.2.chainNet.ra
- lines changed 49, context: html, text, full: html, text
a8cddaa41b8aba592873f48a24b15229c052bfbd Tue Sep 22 05:08:06 2026 -0700
chainNet trackDb for danRer11 GCF_049306965.2, otto liftOver
- src/hg/makeDb/trackDb/zebrafish/danRer11/danRer11.GCF_052040795.1.chainNet.ra
- lines changed 49, context: html, text, full: html, text
efaa2288304bd000222111bb024c336d8c56929a Tue Sep 22 03:35:40 2026 -0700
chainNet trackDb for danRer11 GCF_052040795.1, otto liftOver
- src/hg/makeDb/trackDb/zebrafish/danRer11/trackDb.ra
- lines changed 1, context: html, text, full: html, text
efaa2288304bd000222111bb024c336d8c56929a Tue Sep 22 03:35:40 2026 -0700
chainNet trackDb for danRer11 GCF_052040795.1, otto liftOver
- lines changed 1, context: html, text, full: html, text
a8cddaa41b8aba592873f48a24b15229c052bfbd Tue Sep 22 05:08:06 2026 -0700
chainNet trackDb for danRer11 GCF_049306965.2, otto liftOver
- src/hg/makeDb/trackDb/zebrafish/danRer2/multiz6way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer3/multiz5way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer4/multiz7way.html
- lines changed 27, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer6/multiz6way.html
- lines changed 37, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makeDb/trackDb/zebrafish/danRer7/cons8way.html
- lines changed 42, context: html, text, full: html, text
97805fb2ceb73357aa78aa94107148dc355d4e1c Tue Sep 22 08:36:22 2026 -0700
Conservation tracks: give the description pages a real Data Access section, refs #34803
The hgdownload link block on these pages had no header, and on 18 of them it sat
above the Description, which is where it got overlooked. Move it into an
<h2>Data Access</h2> in the usual place, after Methods and before Credits, and
add pointers to the Table Browser, the Data Integrator and the REST API, plus
the maf* and bigWig* command line tools.
134 pages: 55 had a download block that was moved and labeled, 56 get a list
built from hgdownload directories that were checked to exist, 21 have no
download directory of their own and so get the Table Browser and API pointers
only, and 2 already had a Data Access section that was reworked. Existing
download lists are unchanged apart from http -> https and an added
target="_blank".
Wording follows what each track actually holds, so the alignment-only pages do
not claim conservation scores and the Data Integrator is only mentioned where it
can really be used, since it does not handle MAF.
Also corrects one link: hg18 cons44way pointed at multiz44way/maf, which
redirects; it is now multiz44way/maf/.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 2, context: html, text, full: html, text
c8e8fc540646df02203db3233f927e10fc7630d2 Wed Sep 23 15:55:37 2026 -0700
Conservation track descriptions: stop wrapping the download list in a <p>, refs #34803
A <ul> is not allowed inside a <p>, so the </p> that followed each download list
was parsed as an implicit empty paragraph and thrown away. Close the paragraph
after the lead-in sentence instead, and leave the list at the same level as the
other paragraphs.
113 pages, one moved </p> each. Nothing renders differently; HTML Tidy goes from
226 warnings on these sections to none.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/hg/makefile
- lines changed 1, context: html, text, full: html, text
722e46a2cca739fb7abe042315e8ca3c5e55f8f5 Wed Sep 23 14:25:15 2026 -0700
Run the hg/utils tests from make test, and fix the two that had gone red, no redmine
make test never reached hg/utils. hg/makefile only descends into an app that
has a tests/makefile, and hg/utils has none, so the hubCheck, vcfToHgvs and
other hg/utils tests were skipped without a message. Added utils to TEST_DIRS.
hubCheck stopped warning about a track with no description page after
1258d7f65e7. A track with no page now keeps the empty string that
trackDbCustom.c sets, and hubCheck tested for NULL. It now uses isEmpty().
badType gained a real error when 571aecdf42c stopped dropping tracks, and its
expected output was never updated. vcfToHgvs stopLoss reads the live hg38
ncbiRefSeq tables, which now have 32 more transcripts and NM_153819.2.
- src/hg/oneShot/pngLevelBench/README
- lines changed 67, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- lines changed 18, context: html, text, full: html, text
9b9dc9590258144d7b7f17d1ecafb674d2d86956 Wed Sep 2 13:26:40 2026 -0700
pngLevelBench: sweep the row filter as well as the level, refs #38109
The filter and the level interact, and #38107 picked the filter at the default
level only, so measuring one with the other pinned answers half a question.
pngLevelBench now takes -filters and -baseFilter, its -tab output carries a
filter column, and everything is compared against the pair the browser ships,
up at level 6. levelReport.py reads the new column and still accepts rows
written before it existed.
Two scripts around it grew what a second, larger corpus needed. pickUrls.py
takes --seed and --exclude, so a later sample does not repeat an earlier one.
render.sh takes its arguments rather than a hardcoded directory, and renders
several at once; six in parallel is about seven a second against a ticket
sandbox, against one every eight seconds one at a time, and it changes nothing
that is measured, since the encode is timed offline afterwards.
- src/hg/oneShot/pngLevelBench/levelReport.py
- lines changed 128, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- lines changed 114, context: html, text, full: html, text
9b9dc9590258144d7b7f17d1ecafb674d2d86956 Wed Sep 2 13:26:40 2026 -0700
pngLevelBench: sweep the row filter as well as the level, refs #38109
The filter and the level interact, and #38107 picked the filter at the default
level only, so measuring one with the other pinned answers half a question.
pngLevelBench now takes -filters and -baseFilter, its -tab output carries a
filter column, and everything is compared against the pair the browser ships,
up at level 6. levelReport.py reads the new column and still accepts rows
written before it existed.
Two scripts around it grew what a second, larger corpus needed. pickUrls.py
takes --seed and --exclude, so a later sample does not repeat an earlier one.
render.sh takes its arguments rather than a hardcoded directory, and renders
several at once; six in parallel is about seven a second against a ticket
sandbox, against one every eight seconds one at a time, and it changes nothing
that is measured, since the encode is timed offline afterwards.
- src/hg/oneShot/pngLevelBench/makefile
- lines changed 19, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- src/hg/oneShot/pngLevelBench/pickUrls.py
- lines changed 79, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- lines changed 20, context: html, text, full: html, text
9b9dc9590258144d7b7f17d1ecafb674d2d86956 Wed Sep 2 13:26:40 2026 -0700
pngLevelBench: sweep the row filter as well as the level, refs #38109
The filter and the level interact, and #38107 picked the filter at the default
level only, so measuring one with the other pinned answers half a question.
pngLevelBench now takes -filters and -baseFilter, its -tab output carries a
filter column, and everything is compared against the pair the browser ships,
up at level 6. levelReport.py reads the new column and still accepts rows
written before it existed.
Two scripts around it grew what a second, larger corpus needed. pickUrls.py
takes --seed and --exclude, so a later sample does not repeat an earlier one.
render.sh takes its arguments rather than a hardcoded directory, and renders
several at once; six in parallel is about seven a second against a ticket
sandbox, against one every eight seconds one at a time, and it changes nothing
that is measured, since the encode is timed offline afterwards.
- src/hg/oneShot/pngLevelBench/pngLevelBench.c
- lines changed 280, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- lines changed 162, context: html, text, full: html, text
9b9dc9590258144d7b7f17d1ecafb674d2d86956 Wed Sep 2 13:26:40 2026 -0700
pngLevelBench: sweep the row filter as well as the level, refs #38109
The filter and the level interact, and #38107 picked the filter at the default
level only, so measuring one with the other pinned answers half a question.
pngLevelBench now takes -filters and -baseFilter, its -tab output carries a
filter column, and everything is compared against the pair the browser ships,
up at level 6. levelReport.py reads the new column and still accepts rows
written before it existed.
Two scripts around it grew what a second, larger corpus needed. pickUrls.py
takes --seed and --exclude, so a later sample does not repeat an earlier one.
render.sh takes its arguments rather than a hardcoded directory, and renders
several at once; six in parallel is about seven a second against a ticket
sandbox, against one every eight seconds one at a time, and it changes nothing
that is measured, since the encode is timed offline afterwards.
- src/hg/oneShot/pngLevelBench/render.sh
- lines changed 15, context: html, text, full: html, text
385cb594dbd4ff14124a64816d0a649458bff44d Wed Sep 2 12:15:29 2026 -0700
pngLevelBench: measure what each png compression level costs and saves, refs #38109
The compression level decision needs two numbers per level: the bytes the track
image grows by, and the encode time it saves. A reader gains from a lower
level only above B/S, which is a speed, so the two numbers turn each level into
one break-even link speed to compare against the reader throughput the log
reader reports.
The encode matches lib/pngwrite.c exactly, RGBA with the row filter pinned to
UP, and nothing is written to disk, so the time is the encode alone. The check
that makes an offline measurement stand for what the CGI does is -check: at
level 6, which is what libpng's default resolves to, this has to reproduce the
file hgTracks wrote, byte for byte. It does, for every image tried.
Also here are the three scripts around it: picking a traffic weighted corpus of
real hgTracks URLs out of an access log, rendering them against a parked
hgTracks, and aggregating the result into per level bytes, ms and break-even
speed. The README gives the order they run in and the one known weakness, that
a replayed URL renders the trackDb default track set rather than the reader's
own.
- lines changed 31, context: html, text, full: html, text
9b9dc9590258144d7b7f17d1ecafb674d2d86956 Wed Sep 2 13:26:40 2026 -0700
pngLevelBench: sweep the row filter as well as the level, refs #38109
The filter and the level interact, and #38107 picked the filter at the default
level only, so measuring one with the other pinned answers half a question.
pngLevelBench now takes -filters and -baseFilter, its -tab output carries a
filter column, and everything is compared against the pair the browser ships,
up at level 6. levelReport.py reads the new column and still accepts rows
written before it existed.
Two scripts around it grew what a second, larger corpus needed. pickUrls.py
takes --seed and --exclude, so a later sample does not repeat an earlier one.
render.sh takes its arguments rather than a hardcoded directory, and renders
several at once; six in parallel is about seven a second against a ticket
sandbox, against one every eight seconds one at a time, and it changes nothing
that is measured, since the encode is timed offline afterwards.
- src/hg/utils/automation/AsmHub.pm
- lines changed 37, context: html, text, full: html, text
6dcfa7d1962d9e9dbfa5cbe651b6e301101287ef Fri Sep 25 12:51:58 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 20, context: html, text, full: html, text
1c41dff03108b4818777b9c9914e81c72555163f Tue Sep 29 12:28:41 2026 -0700
miniMap2 now with swap option refs #34360
- src/hg/utils/automation/AssemblyDivergence.pm
- lines changed 194, context: html, text, full: html, text
6dcfa7d1962d9e9dbfa5cbe651b6e301101287ef Fri Sep 25 12:51:58 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 93, context: html, text, full: html, text
1c0824920cd06057c2e7c02d9cb7ecc153a99d5e Fri Sep 25 14:00:59 2026 -0700
please no ssh from cluster nodes back to hgwdev to run hgsql commands refs #34360
- lines changed 19, context: html, text, full: html, text
be5cbe094825357e026912debc79944cc15bacde Sun Sep 27 12:58:52 2026 -0700
claude review fixing bugs better safety on database assembly mash sketch archive refs #34360
- src/hg/utils/automation/HgAutomate.pm
- lines changed 18, context: html, text, full: html, text
6dcfa7d1962d9e9dbfa5cbe651b6e301101287ef Fri Sep 25 12:51:58 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 18, context: html, text, full: html, text
1c0824920cd06057c2e7c02d9cb7ecc153a99d5e Fri Sep 25 14:00:59 2026 -0700
please no ssh from cluster nodes back to hgwdev to run hgsql commands refs #34360
- src/hg/utils/automation/aliasTextToBed.pl
- lines changed 1, context: html, text, full: html, text
4a6fab6dc819469ff2a299cd310ee19994d7e03a Fri Sep 25 15:08:49 2026 -0700
allow a T2T name column refs #38110
- src/hg/utils/automation/asmHubMiniMap2ChainNet.pl
- lines changed 183, context: html, text, full: html, text
3c1b9cee5a4152b70e2fc10b432082ea89fecae6 Tue Sep 29 15:06:19 2026 -0700
add trackDb construction for miniMap2 chain tracks refs #34360
- lines changed 68, context: html, text, full: html, text
7b14110dc65b6711d7c57fa03594b71b8f93a53e Tue Sep 29 22:49:39 2026 -0700
add Data Access section to the description pages refs #34360
- src/hg/utils/automation/asmHubMiniMap2ChainNetComposite.pl
- lines changed 297, context: html, text, full: html, text
3c1b9cee5a4152b70e2fc10b432082ea89fecae6 Tue Sep 29 15:06:19 2026 -0700
add trackDb construction for miniMap2 chain tracks refs #34360
- lines changed 5, context: html, text, full: html, text
8149f2d63d04238813b626ab194b45eeaa91e32f Tue Sep 29 15:20:22 2026 -0700
fixup swap directory recognition refs #34360
- lines changed 42, context: html, text, full: html, text
7b14110dc65b6711d7c57fa03594b71b8f93a53e Tue Sep 29 22:49:39 2026 -0700
add Data Access section to the description pages refs #34360
- src/hg/utils/automation/asmHubMiniMap2ChainNetTrackDb.pl
- lines changed 219, context: html, text, full: html, text
3c1b9cee5a4152b70e2fc10b432082ea89fecae6 Tue Sep 29 15:06:19 2026 -0700
add trackDb construction for miniMap2 chain tracks refs #34360
- lines changed 5, context: html, text, full: html, text
8149f2d63d04238813b626ab194b45eeaa91e32f Tue Sep 29 15:20:22 2026 -0700
fixup swap directory recognition refs #34360
- src/hg/utils/automation/asmHubMiniMap2ChainNetTrackDb.sh
- lines changed 167, context: html, text, full: html, text
3c1b9cee5a4152b70e2fc10b432082ea89fecae6 Tue Sep 29 15:06:19 2026 -0700
add trackDb construction for miniMap2 chain tracks refs #34360
- lines changed 9, context: html, text, full: html, text
8149f2d63d04238813b626ab194b45eeaa91e32f Tue Sep 29 15:20:22 2026 -0700
fixup swap directory recognition refs #34360
- src/hg/utils/automation/asmHubTrackDb.sh
- lines changed 21, context: html, text, full: html, text
3c1b9cee5a4152b70e2fc10b432082ea89fecae6 Tue Sep 29 15:06:19 2026 -0700
add trackDb construction for miniMap2 chain tracks refs #34360
- lines changed 6, context: html, text, full: html, text
8149f2d63d04238813b626ab194b45eeaa91e32f Tue Sep 29 15:20:22 2026 -0700
fixup swap directory recognition refs #34360
- src/hg/utils/automation/doAssemblyHub.pl
- lines changed 44, context: html, text, full: html, text
e8b649b163d747c026dde4606542fcc024a6943a Sun Sep 27 13:14:54 2026 -0700
add the mash sketch operation to the GenArk build refs #34360
- src/hg/utils/automation/doMiniMap2.pl
- lines changed 785, context: html, text, full: html, text
6dcfa7d1962d9e9dbfa5cbe651b6e301101287ef Fri Sep 25 12:51:58 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 5, context: html, text, full: html, text
1c0824920cd06057c2e7c02d9cb7ecc153a99d5e Fri Sep 25 14:00:59 2026 -0700
please no ssh from cluster nodes back to hgwdev to run hgsql commands refs #34360
- lines changed 116, context: html, text, full: html, text
70b908a5c6475d6c2770a3305f9319d88d0cb62e Mon Sep 28 22:31:27 2026 -0700
readjusting output results and feature bit file locations refs #34360
- lines changed 216, context: html, text, full: html, text
cb2aa0e55497911448f0a42bff3b368057847eef Tue Sep 29 11:58:39 2026 -0700
may have the primary query on target working OK refs #34360
- lines changed 209, context: html, text, full: html, text
1c41dff03108b4818777b9c9914e81c72555163f Tue Sep 29 12:28:41 2026 -0700
miniMap2 now with swap option refs #34360
- src/hg/utils/automation/makefile
- lines changed 3, context: html, text, full: html, text
59e735bf19713b82dd5898fbd7b0e34cb5e980af Fri Sep 25 12:58:50 2026 -0700
OK to place these new functions for miniMap2 and mashDistance into scripts directory #34360
- src/hg/utils/automation/mashDistance.pl
- lines changed 131, context: html, text, full: html, text
6dcfa7d1962d9e9dbfa5cbe651b6e301101287ef Fri Sep 25 12:51:58 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 2, context: html, text, full: html, text
75f0d8f409975fddfd9c01378b4404d19393ec6b Fri Sep 25 12:53:35 2026 -0700
beginning to get a miniMap2 process in place refs #34360
- lines changed 46, context: html, text, full: html, text
1c0824920cd06057c2e7c02d9cb7ecc153a99d5e Fri Sep 25 14:00:59 2026 -0700
please no ssh from cluster nodes back to hgwdev to run hgsql commands refs #34360
- src/hg/utils/cartFileVarCatalog/cartFileVarCatalog.py
- lines changed 3, context: html, text, full: html, text
da449b4fe2039f200a2f93d5209c48fe98c0a534 Tue Sep 29 10:58:30 2026 -0700
cartPcrVarTester: which hgPcrResult_ cart variables survive a cart load, refs #38442
Feeds hgPcrResult_ variables through cartParseOverHash() and says which are
kept. With the cart.c fix backed out it shows hgPcrResult_imgOrd dropped and
nothing else changes. Registry row and catalog note added.
- src/hg/utils/docent/README.md
- lines changed 9, context: html, text, full: html, text
6f3f3596f3dc61a8a738717b9701e69a86b5bb0b Mon Sep 21 17:24:33 2026 -0700
docent: wait: {gone:} for a selector to leave, and rm38257 stops racing itself
rm38257 went red in the 2026-09-21 nightly with the #38257 fix still live on
genome-test. The script was waiting on the wrong half of the click.
hgHubConnect.js switches the tab synchronously inside the click dispatch, while
topLinks.js closes the Account popup from a setTimeout(..., 0). So the tab is
the half that settles FIRST, and waiting for it returned a tick early: the
expect after it read a page that still had the popup on it. Measured with a
MutationObserver over the click, the tab goes active at t=43ms and the popup
goes on the next task.
wait: now also takes {gone: <selector>}, which waits for a selector to leave the
DOM, so a script can wait on the vanishing half of an answer. rm38257 uses it.
Six runs each way on genome-test, same build, only the script differing: 6 of 6
green with the new wait:, 3 of 6 red with the old one, failing at the same step
with the same message the nightly printed. The whole directory is green, 98 of
98.
refs #37892, refs #38252
- lines changed 3, context: html, text, full: html, text
1fbda5badde574c10884e5339fdda1f5b7495990 Thu Sep 24 13:45:30 2026 -0700
docent: regression script for the Sessions page Replace keeping who can load it, refs #38311
rm38311 saves a private session from the save card, saves over it with the
private box unticked, and checks that the row still has its lock. It passes on
hgwbeta (v504) and genome-test, and fails on hgw0 (v503).
Docent changes it needed:
- a fill: verb, to type into any form field
- login: no longer dies when a navigation is still under way during its
bad-password check, which is what broke it on ticket parks
- a park is driven on its https port, because hgLogin posts its form to
https:// on the port it was reached on; the parks' self-signed certificate
is accepted on loopback targets only
- hgw0 maps to hgcentral, and a park's https port finds its hg.conf
- lines changed 2, context: html, text, full: html, text
9bd1a5356bcf1a68ea715e5b0d9c3731203f6d88 Sat Sep 26 12:12:14 2026 -0700
docent: hubUpload: verb, which drops files into the Hub Upload dashboard, and a value: check in expect: for what a form field holds, refs #37892, #38398
Nothing is uploaded by hubUpload:, so a run leaves nothing on the server. value: exists
because a selector cannot read a field that a framework draws: it sets the value property,
and [value=...] reads only the attribute.
- lines changed 4, context: html, text, full: html, text
9cdd7a15f40c41874620a7d2bc907d77489f7746 Sat Sep 26 17:43:32 2026 -0700
docent: setVis:, rightClick:, and drag: then: none / dialog: auto, refs #37892, #38035, #38071, #38087
setVis: sets a track's visibility with its own dropdown under the image. The change
event fires and the page's handler runs, with no navigation. track: asks for the mode in
a URL, so it cannot see what that handler does to the page.
rightClick: opens the track right-click menu and picks an entry by its text. An exact
match wins over a substring. A miss fails the run and lists the entries on offer.
drag: then: none leaves the drag-select dialog open for later click: steps. dialog: auto
hands the selection to dragSelect.selectEnd(), so the page decides between the dialog
and a straight zoom instead of the verb forcing the dialog on.
A track name ending in * now matches a row id by prefix, for custom tracks. shot: also
captures an open right-click menu.
- src/hg/utils/docent/docent.js
- lines changed 16, context: html, text, full: html, text
6f3f3596f3dc61a8a738717b9701e69a86b5bb0b Mon Sep 21 17:24:33 2026 -0700
docent: wait: {gone:} for a selector to leave, and rm38257 stops racing itself
rm38257 went red in the 2026-09-21 nightly with the #38257 fix still live on
genome-test. The script was waiting on the wrong half of the click.
hgHubConnect.js switches the tab synchronously inside the click dispatch, while
topLinks.js closes the Account popup from a setTimeout(..., 0). So the tab is
the half that settles FIRST, and waiting for it returned a tick early: the
expect after it read a page that still had the popup on it. Measured with a
MutationObserver over the click, the tab goes active at t=43ms and the popup
goes on the next task.
wait: now also takes {gone: <selector>}, which waits for a selector to leave the
DOM, so a script can wait on the vanishing half of an answer. rm38257 uses it.
Six runs each way on genome-test, same build, only the script differing: 6 of 6
green with the new wait:, 3 of 6 red with the old one, failing at the same step
with the same message the nightly printed. The whole directory is green, 98 of
98.
refs #37892, refs #38252
- lines changed 32, context: html, text, full: html, text
1fbda5badde574c10884e5339fdda1f5b7495990 Thu Sep 24 13:45:30 2026 -0700
docent: regression script for the Sessions page Replace keeping who can load it, refs #38311
rm38311 saves a private session from the save card, saves over it with the
private box unticked, and checks that the row still has its lock. It passes on
hgwbeta (v504) and genome-test, and fails on hgw0 (v503).
Docent changes it needed:
- a fill: verb, to type into any form field
- login: no longer dies when a navigation is still under way during its
bad-password check, which is what broke it on ticket parks
- a park is driven on its https port, because hgLogin posts its form to
https:// on the port it was reached on; the parks' self-signed certificate
is accepted on loopback targets only
- hgw0 maps to hgcentral, and a park's https port finds its hg.conf
- lines changed 64, context: html, text, full: html, text
9bd1a5356bcf1a68ea715e5b0d9c3731203f6d88 Sat Sep 26 12:12:14 2026 -0700
docent: hubUpload: verb, which drops files into the Hub Upload dashboard, and a value: check in expect: for what a form field holds, refs #37892, #38398
Nothing is uploaded by hubUpload:, so a run leaves nothing on the server. value: exists
because a selector cannot read a field that a framework draws: it sets the value property,
and [value=...] reads only the attribute.
- lines changed 135, context: html, text, full: html, text
9cdd7a15f40c41874620a7d2bc907d77489f7746 Sat Sep 26 17:43:32 2026 -0700
docent: setVis:, rightClick:, and drag: then: none / dialog: auto, refs #37892, #38035, #38071, #38087
setVis: sets a track's visibility with its own dropdown under the image. The change
event fires and the page's handler runs, with no navigation. track: asks for the mode in
a URL, so it cannot see what that handler does to the page.
rightClick: opens the track right-click menu and picks an entry by its text. An exact
match wins over a substring. A miss fails the run and lists the entries on offer.
drag: then: none leaves the drag-select dialog open for later click: steps. dialog: auto
hands the selection to dragSelect.selectEnd(), so the page decides between the dialog
and a straight zoom instead of the verb forcing the dialog on.
A track name ending in * now matches a row id by prefix, for custom tracks. shot: also
captures an open right-click menu.
- lines changed 29, context: html, text, full: html, text
ce29202faf7a2b48e62a6e3f579ba09000d00c0b Sun Sep 27 15:51:36 2026 -0700
docent: put the server's warning text in a failure message, refs #38252
A run that failed on noText: "Warning/Error", or on a custom track that
never loaded, said only that the server complained. The reason was left
in the Apache error log. The new serverWarnings() reads the hgTracks
warning list and hgCustom's Error/Warning line. A failed expect: and a
failed addCustomTrack now print each one as a "server said:" line.
- src/hg/utils/docent/targetConf.js
- lines changed 4, context: html, text, full: html, text
1fbda5badde574c10884e5339fdda1f5b7495990 Thu Sep 24 13:45:30 2026 -0700
docent: regression script for the Sessions page Replace keeping who can load it, refs #38311
rm38311 saves a private session from the save card, saves over it with the
private box unticked, and checks that the row still has its lock. It passes on
hgwbeta (v504) and genome-test, and fails on hgw0 (v503).
Docent changes it needed:
- a fill: verb, to type into any form field
- login: no longer dies when a navigation is still under way during its
bad-password check, which is what broke it on ticket parks
- a park is driven on its https port, because hgLogin posts its form to
https:// on the port it was reached on; the parks' self-signed certificate
is accepted on loopback targets only
- hgw0 maps to hgcentral, and a park's https port finds its hg.conf
- src/hg/utils/docent/tests/README.txt
- lines changed 3, context: html, text, full: html, text
9bd1a5356bcf1a68ea715e5b0d9c3731203f6d88 Sat Sep 26 12:12:14 2026 -0700
docent: hubUpload: verb, which drops files into the Hub Upload dashboard, and a value: check in expect: for what a form field holds, refs #37892, #38398
Nothing is uploaded by hubUpload:, so a run leaves nothing on the server. value: exists
because a selector cannot read a field that a framework draws: it sets the value property,
and [value=...] reads only the attribute.
- lines changed 6, context: html, text, full: html, text
9cdd7a15f40c41874620a7d2bc907d77489f7746 Sat Sep 26 17:43:32 2026 -0700
docent: setVis:, rightClick:, and drag: then: none / dialog: auto, refs #37892, #38035, #38071, #38087
setVis: sets a track's visibility with its own dropdown under the image. The change
event fires and the page's handler runs, with no navigation. track: asks for the mode in
a URL, so it cannot see what that handler does to the page.
rightClick: opens the track right-click menu and picks an entry by its text. An exact
match wins over a substring. A miss fails the run and lists the entries on offer.
drag: then: none leaves the drag-select dialog open for later click: steps. dialog: auto
hands the selection to dragSelect.selectEnd(), so the page decides between the dialog
and a straight zoom instead of the verb forcing the dialog on.
A track name ending in * now matches a row id by prefix, for custom tracks. shot: also
captures an open right-click menu.
- src/hg/utils/docent/tests/regress/README.txt
- lines changed 21, context: html, text, full: html, text
966c49bdf93dada183133e06522bfb0152de6168 Wed Sep 23 13:38:34 2026 -0700
docent: the nightly writes a status page, refs #38252
nightlyStatus.py reads the nightly logs, flips.log and each committed script's proof:
lines, and writes one page with a row per script, anchored by its name so a ticket can
link to one row. Each row has the current state and the date it has held since, the last
14 days, the strongest proof: level in plain words, and links to the script, the ticket
and any before/after picture.
Each row also has a link to try it on genome-test and on hgwbeta: the script's steps as
far as one URL can rebuild them, with track: steps resolved by DOCENT_DERIVE. Every link
is fetched with a fresh cart first, and the page calls it verified only when the fetch
draws what the expect: step names.
A night is a log written by an --update run, which is what cron does, not a log named
_0410: the 09-14 and 09-15 runs started late and a name match dropped them.
nightly.sh runs it after the log is complete and adds one line to the mail, the page URL
or the error. It changes nothing else about the night's verdict or exit status.
- lines changed 4, context: html, text, full: html, text
1fbda5badde574c10884e5339fdda1f5b7495990 Thu Sep 24 13:45:30 2026 -0700
docent: regression script for the Sessions page Replace keeping who can load it, refs #38311
rm38311 saves a private session from the save card, saves over it with the
private box unticked, and checks that the row still has its lock. It passes on
hgwbeta (v504) and genome-test, and fails on hgw0 (v503).
Docent changes it needed:
- a fill: verb, to type into any form field
- login: no longer dies when a navigation is still under way during its
bad-password check, which is what broke it on ticket parks
- a park is driven on its https port, because hgLogin posts its form to
https:// on the port it was reached on; the parks' self-signed certificate
is accepted on loopback targets only
- hgw0 maps to hgcentral, and a park's https port finds its hg.conf
- src/hg/utils/docent/tests/regress/nightly.sh
- lines changed 14, context: html, text, full: html, text
966c49bdf93dada183133e06522bfb0152de6168 Wed Sep 23 13:38:34 2026 -0700
docent: the nightly writes a status page, refs #38252
nightlyStatus.py reads the nightly logs, flips.log and each committed script's proof:
lines, and writes one page with a row per script, anchored by its name so a ticket can
link to one row. Each row has the current state and the date it has held since, the last
14 days, the strongest proof: level in plain words, and links to the script, the ticket
and any before/after picture.
Each row also has a link to try it on genome-test and on hgwbeta: the script's steps as
far as one URL can rebuild them, with track: steps resolved by DOCENT_DERIVE. Every link
is fetched with a fresh cart first, and the page calls it verified only when the fetch
draws what the expect: step names.
A night is a log written by an --update run, which is what cron does, not a log named
_0410: the 09-14 and 09-15 runs started late and a name match dropped them.
nightly.sh runs it after the log is complete and adds one line to the mail, the page URL
or the error. It changes nothing else about the night's verdict or exit status.
- src/hg/utils/docent/tests/regress/nightlyStatus.py
- lines changed 435, context: html, text, full: html, text
966c49bdf93dada183133e06522bfb0152de6168 Wed Sep 23 13:38:34 2026 -0700
docent: the nightly writes a status page, refs #38252
nightlyStatus.py reads the nightly logs, flips.log and each committed script's proof:
lines, and writes one page with a row per script, anchored by its name so a ticket can
link to one row. Each row has the current state and the date it has held since, the last
14 days, the strongest proof: level in plain words, and links to the script, the ticket
and any before/after picture.
Each row also has a link to try it on genome-test and on hgwbeta: the script's steps as
far as one URL can rebuild them, with track: steps resolved by DOCENT_DERIVE. Every link
is fetched with a fresh cart first, and the page calls it verified only when the fetch
draws what the expect: step names.
A night is a log written by an --update run, which is what cron does, not a log named
_0410: the 09-14 and 09-15 runs started late and a name match dropped them.
nightly.sh runs it after the log is complete and adds one line to the mail, the page URL
or the error. It changes nothing else about the night's verdict or exit status.
- lines changed 12, context: html, text, full: html, text
91008f116877a4ac9de458dec4abb98ca3249dbf Wed Sep 23 17:15:55 2026 -0700
docent status page: try-it links for sessions loaded by URL, none on hgwbeta for named ones, refs #38252
A named session lives in one machine's hgcentral, so its hgwbeta link only answered
"Could not find session"; those rows now offer genome-test alone and say why. A
session loaded from a text file by URL works on any server, so a script that loads one
now gets a link, with both servers.
- src/hg/utils/docent/tests/regress/rm20824.docent.yaml
- lines changed 63, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm27988.docent.yaml
- lines changed 76, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm35580.docent.yaml
- lines changed 3, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm36292.docent.yaml
- lines changed 95, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm36340.docent.yaml
- lines changed 14, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm36805.docent.yaml
- lines changed 4, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm37388.docent.yaml
- lines changed 14, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm37389.docent.yaml
- lines changed 13, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm37595.docent.yaml
- lines changed 69, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm37617.docent.yaml
- lines changed 47, context: html, text, full: html, text
f3bec731c93f26f8f1984fd727c6ee55ebf99f85 Tue Sep 29 13:00:12 2026 -0700
docent regression scripts for three v505 tickets, and registry updates, refs #37617, #37618, #38442, #38249, #38252
rm37617 checks that filter.AF on a VCF INFO field hides the variants below the
trackDb minimum, and rm37618 that colorByInfo colors each item by its INFO value.
Both use a four-variant fixture hub, docentFixtures/rm37617. rm38442 runs the
ticket's PCR search, sets the places a drag saves, and checks that the PCR track
keeps its place after a zoom. All three fail on hgwbeta (v504) and pass on
genome-test.
registry.tsv names the three scripts, adds a row for #38387, and raises the
#38249 quickLiftTester row to sandbox-ab: backing out either quickLift fix by
hand turns the test red.
- src/hg/utils/docent/tests/regress/rm37618.docent.yaml
- lines changed 35, context: html, text, full: html, text
f3bec731c93f26f8f1984fd727c6ee55ebf99f85 Tue Sep 29 13:00:12 2026 -0700
docent regression scripts for three v505 tickets, and registry updates, refs #37617, #37618, #38442, #38249, #38252
rm37617 checks that filter.AF on a VCF INFO field hides the variants below the
trackDb minimum, and rm37618 that colorByInfo colors each item by its INFO value.
Both use a four-variant fixture hub, docentFixtures/rm37617. rm38442 runs the
ticket's PCR search, sets the places a drag saves, and checks that the PCR track
keeps its place after a zoom. All three fail on hgwbeta (v504) and pass on
genome-test.
registry.tsv names the three scripts, adds a row for #38387, and raises the
#38249 quickLiftTester row to sandbox-ab: backing out either quickLift fix by
hand turns the test red.
- src/hg/utils/docent/tests/regress/rm37621.docent.yaml
- lines changed 68, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm37929.docent.yaml
- lines changed 88, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm37972.docent.yaml
- lines changed 96, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm37984.docent.yaml
- lines changed 66, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm37987.docent.yaml
- lines changed 67, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm37990.docent.yaml
- lines changed 47, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38011.docent.yaml
- lines changed 68, context: html, text, full: html, text
9cc5eeb88ad0d6bea3449fcc1de1fbe54d79dafd Sat Sep 26 17:47:52 2026 -0700
docent regression scripts for hgLogin and a batch of page fields, refs #38252, #38011, #38057
- src/hg/utils/docent/tests/regress/rm38027.docent.yaml
- lines changed 32, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38033.docent.yaml
- lines changed 53, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38035.docent.yaml
- lines changed 61, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38039.docent.yaml
- lines changed 38, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38057.docent.yaml
- lines changed 57, context: html, text, full: html, text
9cc5eeb88ad0d6bea3449fcc1de1fbe54d79dafd Sat Sep 26 17:47:52 2026 -0700
docent regression scripts for hgLogin and a batch of page fields, refs #38252, #38011, #38057
- src/hg/utils/docent/tests/regress/rm38071.docent.yaml
- lines changed 51, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38072.docent.yaml
- lines changed 34, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38082.docent.yaml
- lines changed 51, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38087.docent.yaml
- lines changed 88, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38120.docent.yaml
- lines changed 53, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38154.docent.yaml
- lines changed 53, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38155.docent.yaml
- lines changed 68, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38157.docent.yaml
- lines changed 69, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38192.docent.yaml
- lines changed 96, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38197.docent.yaml
- lines changed 94, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38198.docent.yaml
- lines changed 56, context: html, text, full: html, text
b1d1b8806245f651bfa6c41230c77797c324d16d Mon Sep 28 09:50:59 2026 -0700
docent rm38198: cover the reopen, a container set back to show stayed hidden on the target, refs #38198
Adds Jairo's three-lift recipe to the existing script: show wgEncodeReg4 with
H3K27ac, lift; hide the container, lift; show it again, lift. It checks that
H3K27ac is on the target after lift 3, that the source container is still
hidden after the lift 2 target visit, and that H3K27ac stays on the target
after lift 2. Each check fails on its own on a build without dba11b63364.
- lines changed 1, context: html, text, full: html, text
27e27b2c53090276a82fa8a4a8ae89f8db288263 Tue Sep 29 14:13:18 2026 -0700
docent rm38198 release-ab proof line, and registry rows for #38428 and #38430, refs #38198, #38428, #38430, #38252
rm38198's container reopen section fails on hgwbeta (v504, which lacks
dba11b63364) and passes on genome-test. htmlSanitizeTest goes red when the svg
allowlist of 7a356d85dba is backed out by hand, so #38428 gets a sandbox-ab row.
#38430 gets a page row with no test yet. Both changes sit behind the
hubHtmlSanitize gate.
- src/hg/utils/docent/tests/regress/rm38226.docent.yaml
- lines changed 62, context: html, text, full: html, text
521a3f76eebab0854aa5c46374356cadddd6ef7d Sat Sep 26 12:12:14 2026 -0700
docent regression scripts for the hgTracks tooltip text and the Hub Upload file card, refs #38252, #38226, #38398
Both fail on hgwbeta (v504) and pass on genome-test; the proof lines say what each failure
was.
- src/hg/utils/docent/tests/regress/rm38231.docent.yaml
- lines changed 41, context: html, text, full: html, text
2daf01cbbc39c63db64caccf4a87f20a7f2f5f97 Sat Sep 26 17:43:37 2026 -0700
docent regression scripts for the v503 tickets, refs #38252, #37972, #37987, #37990, #38027, #38033, #38035, #38039, #38071, #38072, #38082, #38087, #38120, #38154, #38155, #38231
One script per ticket. Each one passes on genome-test. Twelve also fail on a v502_branch
build for the reason the script exists, and carry a release-ab proof line. rm38072,
rm38120 and rm38231 can never fail on a released build, and their headers say why.
- src/hg/utils/docent/tests/regress/rm38233.docent.yaml
- lines changed 82, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38254.docent.yaml
- lines changed 63, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38257.docent.yaml
- lines changed 12, context: html, text, full: html, text
6f3f3596f3dc61a8a738717b9701e69a86b5bb0b Mon Sep 21 17:24:33 2026 -0700
docent: wait: {gone:} for a selector to leave, and rm38257 stops racing itself
rm38257 went red in the 2026-09-21 nightly with the #38257 fix still live on
genome-test. The script was waiting on the wrong half of the click.
hgHubConnect.js switches the tab synchronously inside the click dispatch, while
topLinks.js closes the Account popup from a setTimeout(..., 0). So the tab is
the half that settles FIRST, and waiting for it returned a tick early: the
expect after it read a page that still had the popup on it. Measured with a
MutationObserver over the click, the tab goes active at t=43ms and the popup
goes on the next task.
wait: now also takes {gone: <selector>}, which waits for a selector to leave the
DOM, so a script can wait on the vanishing half of an answer. rm38257 uses it.
Six runs each way on genome-test, same build, only the script differing: 6 of 6
green with the new wait:, 3 of 6 red with the old one, failing at the same step
with the same message the nightly printed. The whole directory is green, 98 of
98.
refs #37892, refs #38252
- src/hg/utils/docent/tests/regress/rm38264.docent.yaml
- lines changed 71, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38272.docent.yaml
- lines changed 12, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/rm38273.docent.yaml
- lines changed 129, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38279.docent.yaml
- lines changed 18, context: html, text, full: html, text
0d147408e678df6e37e2a7e0a24934b80d0826e4 Wed Sep 30 06:51:55 2026 -0700
docent rm38279: follow the window-size density note to its new wording, "window too large, zoom in", from 32eec44ad31. The nightly went red at step 2 on the old string. Steps 1 and 2 now check the new string, and the header no longer describes the prefix overlap that the reword removed. refs #38279, #38252
- src/hg/utils/docent/tests/regress/rm38283.docent.yaml
- lines changed 13, context: html, text, full: html, text
bcfcb704e8296f881896ee6197365ae719ea61d6 Wed Sep 23 11:06:11 2026 -0700
docent: rm38283 finds the container link by its text and a delimiter, refs #38252 #38283
Since 09f26ed9a7d (#38380) the page adds &hgsid= to every cgi-bin link, so the
description page's link no longer ends with the track name and the $= check failed.
A plain *= would pass without the substitution, because hgc prints its own hgTrackUi
and hgTables links that name the composite. So the check now requires the fixture's
link text, and "&" or the end of the href after the name. The delimiter matters
because _rm38283Super is a prefix of _rm38283SuperKid.
Passes on genome-test. Fails at step 5 on the v503 docker image, and fails when either
check is pointed at a wrong name or a prefix of the right one.
- src/hg/utils/docent/tests/regress/rm38298.docent.yaml
- lines changed 5, context: html, text, full: html, text
347d7590b576fa145bfd0d73cee612536158ed60 Wed Sep 23 11:06:11 2026 -0700
docent: rm38298 expects the reworded codon note, refs #38252 #38298
d459a7a421c changed the note from "at this codon" to "before this codon", because the
indel lies upstream of the shifted codon. The check now carries the whole new clause,
and the header makes the same correction.
Passes on genome-test. Fails at step 4 on hgwbeta (v503), which has no note.
- src/hg/utils/docent/tests/regress/rm38311.docent.yaml
- lines changed 68, context: html, text, full: html, text
1fbda5badde574c10884e5339fdda1f5b7495990 Thu Sep 24 13:45:30 2026 -0700
docent: regression script for the Sessions page Replace keeping who can load it, refs #38311
rm38311 saves a private session from the save card, saves over it with the
private box unticked, and checks that the row still has its lock. It passes on
hgwbeta (v504) and genome-test, and fails on hgw0 (v503).
Docent changes it needed:
- a fill: verb, to type into any form field
- login: no longer dies when a navigation is still under way during its
bad-password check, which is what broke it on ticket parks
- a park is driven on its https port, because hgLogin posts its form to
https:// on the port it was reached on; the parks' self-signed certificate
is accepted on loopback targets only
- hgw0 maps to hgcentral, and a park's https port finds its hg.conf
- src/hg/utils/docent/tests/regress/rm38313.docent.yaml
- lines changed 66, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38323.docent.yaml
- lines changed 66, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38372.docent.yaml
- lines changed 47, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38384.docent.yaml
- lines changed 52, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38393.docent.yaml
- lines changed 36, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/hg/utils/docent/tests/regress/rm38398.docent.yaml
- lines changed 60, context: html, text, full: html, text
521a3f76eebab0854aa5c46374356cadddd6ef7d Sat Sep 26 12:12:14 2026 -0700
docent regression scripts for the hgTracks tooltip text and the Hub Upload file card, refs #38252, #38226, #38398
Both fail on hgwbeta (v504) and pass on genome-test; the proof lines say what each failure
was.
- src/hg/utils/docent/tests/regress/rm38428.docent.yaml
- lines changed 41, context: html, text, full: html, text
49e53454d32ce13f5af4ece42112423534102fdd Tue Sep 29 14:30:20 2026 -0700
docent regression scripts for #38428 and #38430, and the #38387 registry note, refs #38428, #38430, #38387, #38252
rm38428 checks that a hub track's svg color legend survives the description
filter and the script inside it does not. rm38430 checks that hgGateway filters
a hub assembly's description page. Both need hubHtmlSanitize=on, and both fail
on a v504_branch build with the gate on and pass on genome-test. Fixtures in
docentFixtures/rm38428 and rm38430.
The #38387 registry note records the docker QA instances: kent-tip, built after
the fix, runs ft_min_word_len=3 and finds hs1; kent-beta, built before it, runs 4
and does not.
- src/hg/utils/docent/tests/regress/rm38430.docent.yaml
- lines changed 31, context: html, text, full: html, text
49e53454d32ce13f5af4ece42112423534102fdd Tue Sep 29 14:30:20 2026 -0700
docent regression scripts for #38428 and #38430, and the #38387 registry note, refs #38428, #38430, #38387, #38252
rm38428 checks that a hub track's svg color legend survives the description
filter and the script inside it does not. rm38430 checks that hgGateway filters
a hub assembly's description page. Both need hubHtmlSanitize=on, and both fail
on a v504_branch build with the gate on and pass on genome-test. Fixtures in
docentFixtures/rm38428 and rm38430.
The #38387 registry note records the docker QA instances: kent-tip, built after
the fix, runs ft_min_word_len=3 and finds hs1; kent-beta, built before it, runs 4
and does not.
- src/hg/utils/docent/tests/regress/rm38442.docent.yaml
- lines changed 54, context: html, text, full: html, text
f3bec731c93f26f8f1984fd727c6ee55ebf99f85 Tue Sep 29 13:00:12 2026 -0700
docent regression scripts for three v505 tickets, and registry updates, refs #37617, #37618, #38442, #38249, #38252
rm37617 checks that filter.AF on a VCF INFO field hides the variants below the
trackDb minimum, and rm37618 that colorByInfo colors each item by its INFO value.
Both use a four-variant fixture hub, docentFixtures/rm37617. rm38442 runs the
ticket's PCR search, sets the places a drag saves, and checks that the PCR track
keeps its place after a zoom. All three fail on hgwbeta (v504) and pass on
genome-test.
registry.tsv names the three scripts, adds a row for #38387, and raises the
#38249 quickLiftTester row to sandbox-ab: backing out either quickLift fix by
hand turns the test red.
- src/hg/utils/docent/tests/regress/rm38444.docent.yaml
- lines changed 46, context: html, text, full: html, text
bd1a1caa044f8b0e65d4f558831c83c1b8807d2e Sat Oct 3 17:02:05 2026 -0700
docent rm38444: a db name with its own dbDb row stays that assembly instead of its asmAlias accession, and its registry row, refs #38444, #38252
- src/hg/utils/docent/tests/regress/rm38456.docent.yaml
- lines changed 1, context: html, text, full: html, text
f8a1b70516b4cb68471cf5fda1f25fe5a06e034e Thu Oct 1 07:04:33 2026 -0700
docent rm38456: the fix reached genome-test, so the script is no longer an xfail, refs #38456
It failed on genome-test at check 1 before 35c5facfb9e arrived and passed there after
the same day's make alpha. Renamed from rm38456.xfail.docent.yaml, with a server-flip
proof line, and the registry row now names the new file.
- lines changed 2, context: html, text, full: html, text
c8f3ef912f63007961da179e06f2d6d96ea4cf34 Thu Oct 1 08:31:35 2026 -0700
docent rm38456: name the share checkbox's shadow variable in full, refs #38456
- src/hg/utils/docent/tests/regress/rm38456.xfail.docent.yaml
- lines changed 65, context: html, text, full: html, text
ebf73550fcb8e858388755a7d34541d510209bae Wed Sep 30 17:12:00 2026 -0700
docent rm38456: a Save request without the share flag or the name, and its registry row, refs #38456
Three checks: a fresh cart with no share flag, a cart that still holds a stored share
value while the request has none, and a request with no name. Committed as an xfail
until the fix reaches genome-test. Each check was seen to fail on a build without its
part of the fix.
- src/hg/utils/docent/tests/regress/rm38462.docent.yaml
- lines changed 4, context: html, text, full: html, text
fb5921dc918983ecc5182b1ef23a9fc64b556114 Fri Oct 2 10:00:42 2026 -0700
docent rm38462 out of xfail after genome-test built the fix, refs #38462, #38252
- src/hg/utils/docent/tests/regress/rm38462.xfail.docent.yaml
- lines changed 73, context: html, text, full: html, text
fcc4da57b6aa6aabe40dce88cb8b67e4a5508aff Fri Oct 2 09:35:00 2026 -0700
docent rm38462 xfail script for negateValues whiskers, and its registry row, refs #38462, #38252
- src/hg/utils/docent/tests/regress/sessionFiles/README.txt
- lines changed 34, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/sessionFiles/RM_35326_bug.txt
- lines changed 250, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/sessionFiles/RM_36805_TOGA_hangs.txt
- lines changed 87, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/sessionFiles/quickLift_CT_hub.ct.txt
- lines changed 207, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/docent/tests/regress/sessionFiles/quickLift_CT_hub.txt
- lines changed 281, context: html, text, full: html, text
4bf8479a43a493e2899953b7358c9464abbc3959 Wed Sep 23 17:15:55 2026 -0700
docent: regression scripts load sessions from text files, not from one machine's hgcentral, refs #38252
A named session runs only on the machine whose hgcentral holds it, so hgwbeta and the RR
answered "Could not find session". The sessions are now text files in
regress/sessionFiles, saved with hgSession's own save to file, and the scripts load them
by raw GitHub URL. rm36805, rm35580 and rm36340 pass on genome-test and hgwbeta.
rm36340's session held its custom tracks as a customTrash table on genome-test. The
track source is a file of its own now, loaded through hgt.customText, without two
commented-out tracks whose URLs carry a password. Its first check now asks for a custom
track row and the hub's row, and fails when the session file does not load.
A lifted session cannot be a file: it names its quickLift hub by a path on the server
that made it, and re-pointing it does not work (#38046). rm37388, rm37389 and rm38272
build that lift in steps instead, the GenArk GCA_018466835.2 mitochondrion lifted to hg38,
and pass on genome-test and hgwbeta. rm38272 also fails on genome.ucsc.edu (v503) at its
settings page, with the bug's own error, so it gains a release-ab proof line.
- src/hg/utils/hgConfCatalog/hgConfAges.json
- lines changed 115, context: html, text, full: html, text
eb4042bf96a8a37ea613e7c0860c6a49d210bc24 Wed Sep 23 09:38:32 2026 -0700
hgConfCatalog: rebuild the age cache at v504, refs #37925
Built at v503, so gates added since had no date. Rebuilt with
harvestHgConf.py --age --refresh after v504_branch was cut.
- src/hg/utils/hgConfCatalog/hgConfCatalog.py
- lines changed 8, context: html, text, full: html, text
4cc508894c798f9c27a347b7801b0215e15cfba7 Tue Sep 22 02:31:08 2026 -0700
hgConfCatalog: register hgGateway.showRefBadge, refs #37925
Written by nightlyRegister.sh, which records the settings the tree
reads that the catalog was missing. Only facts copied off the call
site are filled in. No classification is guessed: a new boolean gets no
role=, because calling a release gate a knob would hide it from the
sunset report for good, and every row lands in the 'Awaiting review'
section until somebody reads the call site.
hgGateway.showRefBadge hg/hgGateway/hgGateway.c:1102 (38401)
wrote 1 row to the 'Awaiting review' section of hgConfCatalog.py; classify it and move it out
- lines changed 33, context: html, text, full: html, text
aeb4691c5f621712c9918e5a6e6a58c8b2de837d Wed Sep 23 09:32:26 2026 -0700
hgConfCatalog: hgGateway.showRefBadge and denseClick are release gates, refs #37925
Both came in through --auto-register. showRefBadge (#38401) gates the
reference badge in the gateway search results; denseClick (#38364) gates
per-item map boxes in a dense row, with a trackDb opt-in under it.
- lines changed 22, context: html, text, full: html, text
18125243f8a0d219285fe081ed3f1eb8cd558ff2 Sat Sep 26 17:59:16 2026 -0700
hgTracks: GenBank as a fourth format in the "Download Current Track Data" dialog
The file holds the DNA of the region in view plus the selected track items
as a GenBank feature table, so a region opens in the sequence editors people
already use: SnapGene, Benchling, ApE and the rest. Blocks become join()
locations, thickStart..thickEnd a CDS for the types that really carry a gene
model, and an item running off the edge of the view gets the partial markers.
Written in javascript beside the existing JSON/CSV/TSV converters, because
the dialog is entirely client side: it adds one getData/sequence call to the
getData/track call it already makes.
Behind showGenbankDownload in hg.conf, default off, registered as a release
gate in hgConfCatalog.py. Wiggle-type tracks have no GenBank equivalent and
are greyed out while the format is selected, and the region is capped at
100 Mbp because the web browser has to build the whole file in memory.
The dialog itself is reworked at the same time, for every format: the output
format comes first, then the file name, the track list and the check-all
buttons; it uses the page's font size and normal-height buttons instead of
jquery-ui's smaller ones; and the position sits on its own line with the
strand the Reverse button is showing. hgTracks.c adds organism and
scientificName to jsonForClient, which the GenBank header needs.
refs #38433
- lines changed 25, context: html, text, full: html, text
0a83d5e5518e414b2745d4429f3770b70d8fc9ac Sat Sep 26 21:59:44 2026 -0700
hgConfCatalog: update groupDropdown description to match current behavior
refs #38434
- lines changed 7, context: html, text, full: html, text
d4e9b27ceb9fe5be2e6c121d7cc74adccf23a7f1 Sun Sep 27 02:30:51 2026 -0700
hgConfCatalog: register hubHtmlSanitize, refs #37925
Written by nightlyRegister.sh, which records the settings the tree
reads that the catalog was missing. Only facts copied off the call
site are filled in. No classification is guessed: a new boolean gets no
role=, because calling a release gate a knob would hide it from the
sunset report for good, and every row lands in the 'Awaiting review'
section until somebody reads the call site.
hubHtmlSanitize hg/lib/trackHub.c:1013 (38126)
wrote 1 row to the 'Awaiting review' section of hgConfCatalog.py; classify it and move it out
- lines changed 16, context: html, text, full: html, text
2bdcf31450f998eff8aaf558eabdae8aa949f3af Mon Sep 28 10:07:57 2026 -0700
hgConfCatalog: classify hubHtmlSanitize as a release gate, refs #37925 #38126
The nightly auto-register had written the row but left it unclassified,
so the reconcile flagged it. It ships off in v504 and is meant to flip on
in v505, so it is a gate.
- lines changed 19, context: html, text, full: html, text
6743564c0d16d85e588d5a9d80097e4690b91666 Tue Sep 29 15:37:43 2026 -0700
hgTracks: tell the user when a track download is incomplete or still being prepared, and put the GenBank size limit under hg.conf
Four things in the "Download Current Track Data" dialog, all of them about a
download that quietly does the wrong thing.
The api stops at a limit on how many items it will return and says so with
maxItemsLimit in the reply, which the dialog ignored. Worse, a truncated reply
carries two extra top level fields, maxItemsLimit and dataDownloadUrl, and the
CSV/TSV converter took every top level field it did not recognise for a track:
the string one was iterated one character per row, and the conversion threw
before writing anything. A truncated CSV or TSV download therefore produced no
file and no message at all. A track's value is always the array of its rows, so
that is now the test for what is a track, rather than a list of field names that
the api will keep outgrowing. All formats now say plainly that the file is
incomplete, and the GenBank file carries the same warning in its COMMENT block,
where it outlives the dialog.
Nothing showed that anything was happening between the click and the browser's
download, which is one second for two tracks and four for twenty, on a 20 kb
region. The Download button now goes disabled with a line beside it while the
file is prepared. It is in the button pane rather than the dialog body because
the body scrolls once the track list is long.
The GenBank region limit drops from 100 Mbp to 25 Mbp. 50 Mbp of chr1 with 24
tracks answers with 340 MB of track json and 50 MB of sequence, which the web
browser parses, copies into the file text and copies again into the Blob, so the
tab needs several times the region in memory. The limit is now the hg.conf
setting maxGenbankRegion, registered in hgConfCatalog.py as a knob: the ceiling
belongs to the machine and its users. It is read only when showGenbankDownload
is on, and a value that is not a positive number falls back to the default
rather than aborting the CGI.
refs #38433
- src/hg/utils/hgConfCatalog/nightlyRegister.sh
- lines changed 77, context: html, text, full: html, text
7cadd1e0531239dac79b60e741e8ba3221a32cac Wed Sep 23 09:48:31 2026 -0700
hgConfCatalog: nightlyRegister.sh rebuilds the age cache once a release, refs #37925
Nothing refreshed the committed hgConfAges.json: the wrap-up rebuilds a
private copy in the build's logs, so the committed one went stale at
every release and new gates showed as 'age unknown'. When CGI_VERSION
is newer than the cache, fetch all release branches, rebuild the cache
once the new v*_branch exists, and commit it with the catalog.
- src/hg/utils/hubCheck/hubCheck.c
- lines changed 1, context: html, text, full: html, text
722e46a2cca739fb7abe042315e8ca3c5e55f8f5 Wed Sep 23 14:25:15 2026 -0700
Run the hg/utils tests from make test, and fix the two that had gone red, no redmine
make test never reached hg/utils. hg/makefile only descends into an app that
has a tests/makefile, and hg/utils has none, so the hubCheck, vcfToHgvs and
other hg/utils tests were skipped without a message. Added utils to TEST_DIRS.
hubCheck stopped warning about a track with no description page after
1258d7f65e7. A track with no page now keeps the empty string that
trackDbCustom.c sets, and hubCheck tested for NULL. It now uses isEmpty().
badType gained a real error when 571aecdf42c stopped dropping tracks, and its
expected output was never updated. vcfToHgvs stopLoss reads the live hg38
ncbiRefSeq tables, which now have 32 more transcripts and NM_153819.2.
- src/hg/utils/hubCheck/tests/expected/badType.output.txt
- lines changed 3, context: html, text, full: html, text
722e46a2cca739fb7abe042315e8ca3c5e55f8f5 Wed Sep 23 14:25:15 2026 -0700
Run the hg/utils tests from make test, and fix the two that had gone red, no redmine
make test never reached hg/utils. hg/makefile only descends into an app that
has a tests/makefile, and hg/utils has none, so the hubCheck, vcfToHgvs and
other hg/utils tests were skipped without a message. Added utils to TEST_DIRS.
hubCheck stopped warning about a track with no description page after
1258d7f65e7. A track with no page now keeps the empty string that
trackDbCustom.c sets, and hubCheck tested for NULL. It now uses isEmpty().
badType gained a real error when 571aecdf42c stopped dropping tracks, and its
expected output was never updated. vcfToHgvs stopLoss reads the live hg38
ncbiRefSeq tables, which now have 32 more transcripts and NM_153819.2.
- src/hg/utils/hubCheck/tests/expected/fieldCountTooFew.output.txt
- lines changed 4, context: html, text, full: html, text
05c7e605c01e595561c32690eb44a7512041e540 Wed Sep 23 09:34:08 2026 -0700
hubCheck: reject a bigBed type line that declares fewer than three fields, refs #36940
hgc already stops on "type bigBed 1" or "type bigBed 2", but hubCheck
passed both, so a hub author only found out when a user clicked an item.
Check the declared count against the minimum of three next to the
existing check against the file's field count. A bare "type bigBed"
does not reach this code and is unchanged.
Adds a fieldCountTooFew test with bigBed 1 and bigBed 2 tracks.
- src/hg/utils/hubCheck/tests/input/fieldCountTooFew.txt
- lines changed 21, context: html, text, full: html, text
05c7e605c01e595561c32690eb44a7512041e540 Wed Sep 23 09:34:08 2026 -0700
hubCheck: reject a bigBed type line that declares fewer than three fields, refs #36940
hgc already stops on "type bigBed 1" or "type bigBed 2", but hubCheck
passed both, so a hub author only found out when a user clicked an item.
Check the declared count against the minimum of three next to the
existing check against the file's field count. A bare "type bigBed"
does not reach this code and is unchanged.
Adds a fieldCountTooFew test with bigBed 1 and bigBed 2 tracks.
- src/hg/utils/hubCheck/tests/makefile
- lines changed 5, context: html, text, full: html, text
05c7e605c01e595561c32690eb44a7512041e540 Wed Sep 23 09:34:08 2026 -0700
hubCheck: reject a bigBed type line that declares fewer than three fields, refs #36940
hgc already stops on "type bigBed 1" or "type bigBed 2", but hubCheck
passed both, so a hub author only found out when a user clicked an item.
Check the declared count against the minimum of three next to the
existing check against the file's field count. A bare "type bigBed"
does not reach this code and is unchanged.
Adds a fieldCountTooFew test with bigBed 1 and bigBed 2 tracks.
- src/hg/utils/otto/genArk/asmAlias/asmAliasUpdate.py
- lines changed 59, context: html, text, full: html, text
2b14cc7d4cd492874f2e2a89e05d5cd720dbe304 Thu Oct 1 15:54:21 2026 -0700
do not use any alias names if such a name, case insensitive, is already a name in hgcentral.dbDb.name column refs #38444
- src/hg/utils/otto/genArk/ncbiMirror/loadAssemblySummaries.sh
- lines changed 52, context: html, text, full: html, text
2289b2aaf691efca9e98d99681ae28d821012896 Wed Sep 23 16:51:58 2026 -0700
script used by fetch.sh to load the assembly_summary files into the "genark" database refs #32596
- src/hg/utils/otto/methbase2/makefile
- lines changed 1, context: html, text, full: html, text
ec8d25d5bd0eac0a4f5172603e704106cbf6c66b Sun Oct 4 06:37:38 2026 -0700
methbase2 otto: ssh to hgdownload as the invoking user, not as qateam, refs #34246
- src/hg/utils/otto/methbase2/methbaseDownload
- lines changed 1, context: html, text, full: html, text
ec8d25d5bd0eac0a4f5172603e704106cbf6c66b Sun Oct 4 06:37:38 2026 -0700
methbase2 otto: ssh to hgdownload as the invoking user, not as qateam, refs #34246
- src/hg/utils/otto/methbase2/methbaseOtto.sh
- lines changed 1, context: html, text, full: html, text
ec8d25d5bd0eac0a4f5172603e704106cbf6c66b Sun Oct 4 06:37:38 2026 -0700
methbase2 otto: ssh to hgdownload as the invoking user, not as qateam, refs #34246
- src/hg/utils/otto/ottoMonitor/README
- lines changed 63, context: html, text, full: html, text
3a5d6583ad4aea08655f9e1408baa712c6339cd1 Wed Sep 30 09:47:52 2026 -0700
ottoMonitor: compare each otto track on hgwdev with genome.ucsc.edu, refs #38101, #38436
A job can run on time while its output never reaches the RR, because the push
is a separate root cron that the otto run does not see. DECIPHER rebuilt its
track every week from 2022 while decipherAutoPush was commented out, and the
monitor called it on time.
The monitor now reads the "Data last updated at UCSC" line from hgTrackUi on
both hosts. It reports a track whose public copy has stayed behind hgwdev for
more than 8 days. It finds the tracks itself, from the /gbdb links into the
otto area and the trackDb bigDataUrl that names them. ottoMonitorPublic.tsv
lists only the few it cannot find that way, mostly SQL tables. --no-public
skips the check.
- src/hg/utils/otto/ottoMonitor/ottoMonitor.py
- lines changed 289, context: html, text, full: html, text
3a5d6583ad4aea08655f9e1408baa712c6339cd1 Wed Sep 30 09:47:52 2026 -0700
ottoMonitor: compare each otto track on hgwdev with genome.ucsc.edu, refs #38101, #38436
A job can run on time while its output never reaches the RR, because the push
is a separate root cron that the otto run does not see. DECIPHER rebuilt its
track every week from 2022 while decipherAutoPush was commented out, and the
monitor called it on time.
The monitor now reads the "Data last updated at UCSC" line from hgTrackUi on
both hosts. It reports a track whose public copy has stayed behind hgwdev for
more than 8 days. It finds the tracks itself, from the /gbdb links into the
otto area and the trackDb bigDataUrl that names them. ottoMonitorPublic.tsv
lists only the few it cannot find that way, mostly SQL tables. --no-public
skips the check.
- lines changed 30, context: html, text, full: html, text
a945138a550db38e817ea9fe9da16096e0f0ab45 Thu Oct 1 08:31:35 2026 -0700
ottoMonitor: remember the ticket it files, and add the ottoWatchers people to every ticket, refs #38101, #38436
fileTicket() now returns the new ticket number, and both callers store it,
so the "ticket is already open" check works and a failure that persists is
not filed again every night. The number is cleared when the job or track
is back to ok. A new "# ottoWatchers:" header line in ottoOwners.tsv names
people to add as watchers to every ticket.
- src/hg/utils/otto/ottoMonitor/ottoMonitorPublic.tsv
- lines changed 25, context: html, text, full: html, text
3a5d6583ad4aea08655f9e1408baa712c6339cd1 Wed Sep 30 09:47:52 2026 -0700
ottoMonitor: compare each otto track on hgwdev with genome.ucsc.edu, refs #38101, #38436
A job can run on time while its output never reaches the RR, because the push
is a separate root cron that the otto run does not see. DECIPHER rebuilt its
track every week from 2022 while decipherAutoPush was commented out, and the
monitor called it on time.
The monitor now reads the "Data last updated at UCSC" line from hgTrackUi on
both hosts. It reports a track whose public copy has stayed behind hgwdev for
more than 8 days. It finds the tracks itself, from the /gbdb links into the
otto area and the trackDb bigDataUrl that names them. ottoMonitorPublic.tsv
lists only the few it cannot find that way, mostly SQL tables. --no-public
skips the check.
- src/hg/utils/otto/uniprot/doUniprot
- lines changed 41, context: html, text, full: html, text
90abb8f3321fc8cc0feb99ec196cd692dd55a5b0 Fri Sep 25 14:42:10 2026 -0700
uniprot otto: size miniprot's memory from the proteins too, and survive a missing NCBI table
Twelve taxa died with "[morecore] insufficient memory" inside their reservation.
The formula sized the job from the genome alone, on a curve I measured by varying
the genome (227, 424 and 811 Mb) while holding the protein set at 125 sequences.
That characterised one input and generalised as though it had characterised the
function: the real runs align whole proteomes, 78457 sequences for zebrafish, and
the alignment work scales with that as well. A 0.46 Gb genome that the genome term
put at 8 GB ran out of memory.
There is now a term for the protein input and the floor is 16 GB rather than 8.
Checked by rerunning the exact job that failed, at the new reservation: it
completes and writes a 74 MB GFF. Reserving too much costs queue slots on a cluster
that absorbs these jobs easily; reserving too little throws the assembly away after
minutes of work.
Six more taxa died on a missing ncbi/<taxId>.tsv. Not every organism is in NCBI's
gene2refseq, so for some of them that file cannot exist. It is only used to resolve
UniProt's Entrez cross-references, and the caller already checks whether it got
anything, so a missing table now returns nothing and costs a little filtering
accuracy rather than the assembly. Those taxa would also have sent every future run
back to re-split 2.4 GB looking for a table that will never appear, so the split
now leaves an empty file behind to record that it looked.
refs #38300
- lines changed 62, context: html, text, full: html, text
51975d67889e63fbc5fbad0cf1a909ebcca5f25e Sat Sep 26 14:15:10 2026 -0700
uniprot otto: let a run finish when a few taxa fail, and say where to read about them
A run over hundreds of organisms always has a few that cannot be built: one UniProt
barely annotates, one NCBI has no gene table for, a genome needing more memory than
was reserved. Until now any single one of them aborted the run before the flip, so
24 failures out of 664 taxa kept the other 640 from being published, twice.
--allowFailures=N carries on and publishes when no more than N taxa failed, and
doUpdate.sh passes 10 unless the caller says otherwise, so the monthly cron is no
longer hostage to a handful of awkward organisms. Above the threshold it still
aborts and publishes nothing, which is the right answer when something systemic
has broken.
Nothing is quieter as a result. Every failure is reported with its traceback as
before, and now each one also gets its own file under failedTaxa/<taxId>.log
holding the taxon, its assemblies, the time and the traceback. lastRun.log is
overwritten by the next run and interleaves every taxon, so a failure someone wants
to look at a day later was hard to find in it; these files are not overwritten
except by another failure of the same taxon.
The end-of-run report names each failed taxon with its assemblies and the path to
its log, and prints the --dbs argument to retry exactly those. The failure mail
from doUpdate.sh lists the log paths too.
Checked all three paths: below the threshold the run continues, above it aborts,
with no failures nothing changes. Checked that the cron form gets
--allowFailures=10, that an explicit --allowFailures wins, and that it does not
disturb other arguments.
refs #38300
- lines changed 2, context: html, text, full: html, text
6831b39717c5f1b1c4c6e605916396c8b0890f7a Sat Sep 26 17:51:45 2026 -0700
uniprot otto: a help string cannot mix %default with python formatting
The --allowFailures help text ended with a python % substitution while also
containing optparse's %default placeholder, so python tried to read %d out of
%default and every invocation died before parsing arguments:
TypeError: %d format: a real number is required, not str
Spell the directory out instead. Checked that no other help string in the file
combines the two.
refs #38300
- lines changed 8, context: html, text, full: html, text
4decf5fbe82051b2d5aff9cabce3feae9dfafae1 Sat Sep 26 18:48:55 2026 -0700
uniprot: stop declaring the alignments as amino acid coordinates, and show them properly
The bigPsl seqType field describes the coordinates, not the letters stored beside
them, and the UniProt query side is in bases: these proteins reach the genome
through transcripts, so a query runs three bases to a residue. Declaring amino
acids made pslFromBigPsl divide the block sizes by three and leave the query
coordinates alone, so every reader got an alignment measured in two units at once.
That fed a heap overflow in the alignment page, drew blocks short in hgTracks, and
loaded sub-codon blocks as size 0, which aborted pslTransMap and took down the
lifted SwissProt track (#38249).
pslProtFromNaLike() converts such a psl to one counted in residues. Blocks are
trimmed to whole codons, and a residue whose codon straddles an exon junction sits
in two places in the genome at once, so it gets no column and the page says how
many are missing rather than dropping them silently: 0.9% of residues, though 87%
of alignments have at least one. A bigPsl also keeps the reference strand where a
psl reads the query strand, so minus-strand items arrived claiming the protein was
reversed and were rendered as reverse complemented nucleotide ambiguity codes;
pslRc moves them to the convention blat uses, query forward and the strand on the
target.
Checked on hg38 against the translated genome: 210,416 residues over both strands,
99.86% identical, the remainder real protein-vs-reference variation. All 29 items
of a test region render the stored protein at the right residues. Files already
published still say amino acid and must keep working until they are rebuilt, so the
conversion also requires the blocks to measure the target the way the target is
measured; verified that separates the two shapes on 3000 records each way, and that
all 29 render without crashing in the old format, where they now say plainly that
the coordinates and the sequence do not match.
refs #38300
- lines changed 9, context: html, text, full: html, text
8954c29282f84de8f41c183a4cbb2817fbbb87c5 Mon Sep 28 13:53:57 2026 -0700
uniprot otto: an empty cached mapping means nothing aligned, not a broken file, refs #38300
- lines changed 80, context: html, text, full: html, text
45eb30c0414d20710274af10680660b9d00f04b8 Mon Oct 5 01:23:09 2026 -0700
uniprot otto: raise miniprot's memory when a job runs out, and skip an assembly with no transcripts
Two of the eight taxa that failed the GenArk run died with
"[morecore] insufficient memory" inside their reservation, so the sizing was
wrong a second time. Measuring says it cannot be sized from the inputs at all:
0.46 Gb of genome with 78457 proteins fits in 16 GB, while 0.86 Gb with 50305
proteins peaks at 43.3 GB. Half the protein and twice the genome needs at least
2.7 times the memory, so no sum of a genome term and a protein term fits both.
What drives it is how much alignment work the sequence generates, which the file
sizes do not show.
So stop predicting. The formula stays as a first guess and the batch is run again
with four times the reservation when a job ran out of memory, up to three tries.
A batch that failed for any other reason is not retried, so the 2.5 Gb genome that
segfaults is still only run once. Checked the detector against both real batches:
the one that ran out of memory reads as such, the one that segfaulted does not.
para records the raw wait status, so 134 means the abort miniprot makes when
malloc fails. The reservation lives in the batch, so freeing it and deleting the
state files is what lets para make use a new one; checked that freeBatch does not
prompt and that a cleared batch runs again.
Three more of the eight had a gene track that produced no transcripts at all.
BLAST was pointed at an empty database and all 929 of its jobs crashed, taking the
taxon down after a long detour through the cluster. There is nothing to align
against, so that assembly is now skipped the way one with no alignments already is.
refs #38300
- src/hg/utils/otto/uniprot/doUpdate.sh
- lines changed 17, context: html, text, full: html, text
51975d67889e63fbc5fbad0cf1a909ebcca5f25e Sat Sep 26 14:15:10 2026 -0700
uniprot otto: let a run finish when a few taxa fail, and say where to read about them
A run over hundreds of organisms always has a few that cannot be built: one UniProt
barely annotates, one NCBI has no gene table for, a genome needing more memory than
was reserved. Until now any single one of them aborted the run before the flip, so
24 failures out of 664 taxa kept the other 640 from being published, twice.
--allowFailures=N carries on and publishes when no more than N taxa failed, and
doUpdate.sh passes 10 unless the caller says otherwise, so the monthly cron is no
longer hostage to a handful of awkward organisms. Above the threshold it still
aborts and publishes nothing, which is the right answer when something systemic
has broken.
Nothing is quieter as a result. Every failure is reported with its traceback as
before, and now each one also gets its own file under failedTaxa/<taxId>.log
holding the taxon, its assemblies, the time and the traceback. lastRun.log is
overwritten by the next run and interleaves every taxon, so a failure someone wants
to look at a day later was hard to find in it; these files are not overwritten
except by another failure of the same taxon.
The end-of-run report names each failed taxon with its assemblies and the path to
its log, and prints the --dbs argument to retry exactly those. The failure mail
from doUpdate.sh lists the log paths too.
Checked all three paths: below the threshold the run continues, above it aborts,
with no failures nothing changes. Checked that the cron form gets
--allowFailures=10, that an explicit --allowFailures wins, and that it does not
disturb other arguments.
refs #38300
- src/hg/utils/vcfToHgvs/tests/expected/stopLoss.tab
- lines changed 34, context: html, text, full: html, text
722e46a2cca739fb7abe042315e8ca3c5e55f8f5 Wed Sep 23 14:25:15 2026 -0700
Run the hg/utils tests from make test, and fix the two that had gone red, no redmine
make test never reached hg/utils. hg/makefile only descends into an app that
has a tests/makefile, and hg/utils has none, so the hubCheck, vcfToHgvs and
other hg/utils tests were skipped without a message. Added utils to TEST_DIRS.
hubCheck stopped warning about a track with no description page after
1258d7f65e7. A track with no page now keeps the empty string that
trackDbCustom.c sets, and hubCheck tested for NULL. It now uses isEmpty().
badType gained a real error when 571aecdf42c stopped dropping tracks, and its
expected output was never updated. vcfToHgvs stopLoss reads the live hg38
ncbiRefSeq tables, which now have 32 more transcripts and NM_153819.2.
- src/inc/htmlPage.h
- lines changed 8, context: html, text, full: html, text
d48a1f1935917a45b20ae782f4a0ab53da13e6a9 Tue Sep 15 12:53:04 2026 -0700
hgTablesTest: skip an oversized page instead of dying inside the allocator, refs #38359
A dense file-backed track can hand back hundreds of megabytes for a single
five-megabyte test region. hg38 hgdp returned 602MB, which took carefulAlloc
past its 500MB ceiling, and carefulAlloc exits the process where it stands
rather than errAborting, on the grounds that errAbort itself allocates. So the
run ended with one line on stderr, nothing in the log, and every table still to
come forfeited. The arm in quickSubmit meant to catch exactly this and name the
track had never once run.
htmlPage now takes an optional ceiling on the response it will read into memory.
Past it the fetch frees what it has read and errAborts naming the url, which the
robot's errCatch turns back into an ordinary return of no page. The ceiling
defaults to none, which leaves hgNearTest, hgBlatTest and htmlCheck exactly as
they were. hgTablesTest sets it to 100MB, a fifth of the allocator ceiling: the
dyString roughly doubles as it grows and the old buffer is still live while the
new one fills, and the parsed page then sits alongside its text.
An oversized page is logged and skipped, not counted as an error. A track that
answers a 5Mb region with 600MB is one this robot cannot test, which is the same
situation the row count screen already catches before submitting; counting it
would put a failure in every weekly run and leave the summary as useless a gate
as the one that never failed.
The log is line buffered now as well. Finding out that a run died partway
through is what this robot is for, and a block of buffered lines lost on the way
out is part of how the old failure left no trace of which track it was on.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/inc/net.h
- lines changed 5, context: html, text, full: html, text
d48a1f1935917a45b20ae782f4a0ab53da13e6a9 Tue Sep 15 12:53:04 2026 -0700
hgTablesTest: skip an oversized page instead of dying inside the allocator, refs #38359
A dense file-backed track can hand back hundreds of megabytes for a single
five-megabyte test region. hg38 hgdp returned 602MB, which took carefulAlloc
past its 500MB ceiling, and carefulAlloc exits the process where it stands
rather than errAborting, on the grounds that errAbort itself allocates. So the
run ended with one line on stderr, nothing in the log, and every table still to
come forfeited. The arm in quickSubmit meant to catch exactly this and name the
track had never once run.
htmlPage now takes an optional ceiling on the response it will read into memory.
Past it the fetch frees what it has read and errAborts naming the url, which the
robot's errCatch turns back into an ordinary return of no page. The ceiling
defaults to none, which leaves hgNearTest, hgBlatTest and htmlCheck exactly as
they were. hgTablesTest sets it to 100MB, a fifth of the allocator ceiling: the
dyString roughly doubles as it grows and the old buffer is still live while the
new one fills, and the parsed page then sits alongside its text.
An oversized page is logged and skipped, not counted as an error. A track that
answers a 5Mb region with 600MB is one this robot cannot test, which is the same
situation the row count screen already catches before submitting; counting it
would put a failure in every weekly run and leave the summary as useless a gate
as the one that never failed.
The log is line buffered now as well. Finding out that a run died partway
through is what this robot is for, and a block of buffered lines lost on the way
out is part of how the old failure left no trace of which track it was on.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/inc/psl.h
- lines changed 5, context: html, text, full: html, text
4decf5fbe82051b2d5aff9cabce3feae9dfafae1 Sat Sep 26 18:48:55 2026 -0700
uniprot: stop declaring the alignments as amino acid coordinates, and show them properly
The bigPsl seqType field describes the coordinates, not the letters stored beside
them, and the UniProt query side is in bases: these proteins reach the genome
through transcripts, so a query runs three bases to a residue. Declaring amino
acids made pslFromBigPsl divide the block sizes by three and leave the query
coordinates alone, so every reader got an alignment measured in two units at once.
That fed a heap overflow in the alignment page, drew blocks short in hgTracks, and
loaded sub-codon blocks as size 0, which aborted pslTransMap and took down the
lifted SwissProt track (#38249).
pslProtFromNaLike() converts such a psl to one counted in residues. Blocks are
trimmed to whole codons, and a residue whose codon straddles an exon junction sits
in two places in the genome at once, so it gets no column and the page says how
many are missing rather than dropping them silently: 0.9% of residues, though 87%
of alignments have at least one. A bigPsl also keeps the reference strand where a
psl reads the query strand, so minus-strand items arrived claiming the protein was
reversed and were rendered as reverse complemented nucleotide ambiguity codes;
pslRc moves them to the convention blat uses, query forward and the strand on the
target.
Checked on hg38 against the translated genome: 210,416 residues over both strands,
99.86% identical, the remainder real protein-vs-reference variation. All 29 items
of a test region render the stored protein at the right residues. Files already
published still say amino acid and must keep working until they are rebuilt, so the
conversion also requires the blocks to measure the target the way the target is
measured; verified that separates the two shapes on 3000 records each way, and that
all 29 render without crashing in the old format, where they now say plainly that
the coordinates and the sequence do not match.
refs #38300
- src/lib/htmlPage.c
- lines changed 33, context: html, text, full: html, text
d48a1f1935917a45b20ae782f4a0ab53da13e6a9 Tue Sep 15 12:53:04 2026 -0700
hgTablesTest: skip an oversized page instead of dying inside the allocator, refs #38359
A dense file-backed track can hand back hundreds of megabytes for a single
five-megabyte test region. hg38 hgdp returned 602MB, which took carefulAlloc
past its 500MB ceiling, and carefulAlloc exits the process where it stands
rather than errAborting, on the grounds that errAbort itself allocates. So the
run ended with one line on stderr, nothing in the log, and every table still to
come forfeited. The arm in quickSubmit meant to catch exactly this and name the
track had never once run.
htmlPage now takes an optional ceiling on the response it will read into memory.
Past it the fetch frees what it has read and errAborts naming the url, which the
robot's errCatch turns back into an ordinary return of no page. The ceiling
defaults to none, which leaves hgNearTest, hgBlatTest and htmlCheck exactly as
they were. hgTablesTest sets it to 100MB, a fifth of the allocator ceiling: the
dyString roughly doubles as it grows and the old buffer is still live while the
new one fills, and the parsed page then sits alongside its text.
An oversized page is logged and skipped, not counted as an error. A track that
answers a 5Mb region with 600MB is one this robot cannot test, which is the same
situation the row count screen already catches before submitting; counting it
would put a failure in every weekly run and leave the summary as useless a gate
as the one that never failed.
The log is line buffered now as well. Finding out that a run died partway
through is what this robot is for, and a block of buffered lines lost on the way
out is part of how the old failure left no trace of which track it was on.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed 14, context: html, text, full: html, text
99e615846246a19fdb5d01fcea5dce49179dd2ba Tue Sep 22 10:52:28 2026 -0700
htmlPage: parse valueless tag attributes such as SELECTED
The attribute name scanner read everything up to the next equals sign, so
<OPTION SELECTED value='any'> became a single attribute named "SELECTED
value". A lookup for SELECTED then found nothing and the SELECT fell back
to its first option. The same happened to CHECKED on a checkbox, and to the
src in <script async src=...>. A name now ends at white space as well, with
a look-ahead so that spaces around the equals sign still work.
This is what put 21 soft errors in every hgNearTest robot run since v495.
refs #38413
- src/lib/htmlSanitize.c
- lines changed 88, context: html, text, full: html, text
7a356d85dba1647c6d918b315e075da7e31ab7cb Sat Sep 26 12:10:36 2026 -0700
htmlSanitize: keep simple svg drawings in hub description pages, refs #38428
Description pages that draw small svg shapes, such as a colour legend, came
out empty. svg, g, circle, ellipse, rect, line, polyline, polygon and path
now come through with their size, position, fill and stroke attributes.
Other svg elements are left out.
Over the 5390-page hub corpus only the 32 pages that contain an svg
change, and no page's text changes.
- lines changed 173, context: html, text, full: html, text
3842ba31ab0b697b0d4026b5751da7dac7c84e35 Tue Sep 29 13:49:49 2026 -0700
htmlSanitize: keep the stdTbl and copyLinkSpan class names, refs #38126
GenArk description pages use these two classes from our own stylesheet and
scripts: stdTbl for bordered tables, and copyLinkSpan with data-target for
the Copy button next to the share link. They now come through, and
data-target gets the same prefix as the id it names.
Style values are now read the same way on every pass, so a page that is
saved again comes out unchanged.
Over the 5390-page hub corpus, 278 pages change, all in class or
data-target only, and no page's text changes.
- src/lib/htmshell.c
- lines changed 12, context: html, text, full: html, text
0c48fcbee53684d81c83e92973238ad49d8e1f32 Wed Sep 23 11:46:28 2026 -0700
Fix the html,css,,javascript, and attribute Encode methods to handle null input strings, refs #38226
- lines changed 2, context: html, text, full: html, text
ab2c23ac0279b262bbc6ecd601d1da77daefe67d Fri Sep 25 02:48:37 2026 -0700
htmlTextStripTags and htmlTextStripJavascriptCssAndTags allocated no room for the terminating NUL, so a label without tags got garbage bytes, e.g. in filter tooltips, refs #37617
- src/lib/net.c
- lines changed 20, context: html, text, full: html, text
d48a1f1935917a45b20ae782f4a0ab53da13e6a9 Tue Sep 15 12:53:04 2026 -0700
hgTablesTest: skip an oversized page instead of dying inside the allocator, refs #38359
A dense file-backed track can hand back hundreds of megabytes for a single
five-megabyte test region. hg38 hgdp returned 602MB, which took carefulAlloc
past its 500MB ceiling, and carefulAlloc exits the process where it stands
rather than errAborting, on the grounds that errAbort itself allocates. So the
run ended with one line on stderr, nothing in the log, and every table still to
come forfeited. The arm in quickSubmit meant to catch exactly this and name the
track had never once run.
htmlPage now takes an optional ceiling on the response it will read into memory.
Past it the fetch frees what it has read and errAborts naming the url, which the
robot's errCatch turns back into an ordinary return of no page. The ceiling
defaults to none, which leaves hgNearTest, hgBlatTest and htmlCheck exactly as
they were. hgTablesTest sets it to 100MB, a fifth of the allocator ceiling: the
dyString roughly doubles as it grows and the old buffer is still live while the
new one fills, and the parsed page then sits alongside its text.
An oversized page is logged and skipped, not counted as an error. A track that
answers a 5Mb region with 600MB is one this robot cannot test, which is the same
situation the row count screen already catches before submitting; counting it
would put a failure in every weekly run and leave the summary as useless a gate
as the one that never failed.
The log is line buffered now as well. Finding out that a run died partway
through is what this robot is for, and a block of buffered lines lost on the way
out is part of how the old failure left no trace of which track it was on.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/lib/psl.c
- lines changed 84, context: html, text, full: html, text
4decf5fbe82051b2d5aff9cabce3feae9dfafae1 Sat Sep 26 18:48:55 2026 -0700
uniprot: stop declaring the alignments as amino acid coordinates, and show them properly
The bigPsl seqType field describes the coordinates, not the letters stored beside
them, and the UniProt query side is in bases: these proteins reach the genome
through transcripts, so a query runs three bases to a residue. Declaring amino
acids made pslFromBigPsl divide the block sizes by three and leave the query
coordinates alone, so every reader got an alignment measured in two units at once.
That fed a heap overflow in the alignment page, drew blocks short in hgTracks, and
loaded sub-codon blocks as size 0, which aborted pslTransMap and took down the
lifted SwissProt track (#38249).
pslProtFromNaLike() converts such a psl to one counted in residues. Blocks are
trimmed to whole codons, and a residue whose codon straddles an exon junction sits
in two places in the genome at once, so it gets no column and the page says how
many are missing rather than dropping them silently: 0.9% of residues, though 87%
of alignments have at least one. A bigPsl also keeps the reference strand where a
psl reads the query strand, so minus-strand items arrived claiming the protein was
reversed and were rendered as reverse complemented nucleotide ambiguity codes;
pslRc moves them to the convention blat uses, query forward and the strand on the
target.
Checked on hg38 against the translated genome: 210,416 residues over both strands,
99.86% identical, the remainder real protein-vs-reference variation. All 29 items
of a test region render the stored protein at the right residues. Files already
published still say amino acid and must keep working until they are rebuilt, so the
conversion also requires the blocks to measure the target the way the target is
measured; verified that separates the two shapes on 3000 records each way, and that
all 29 render without crashing in the old format, where they now say plainly that
the coordinates and the sequence do not match.
refs #38300
- src/lib/pslShow.c
- lines changed 43, context: html, text, full: html, text
72282e5a10d847e7b8fc013b53bcff15e90499e8 Sat Sep 26 18:27:01 2026 -0700
pslShow: clip alignment blocks to the sequences supplied, a bigPsl with out-of-range query coords could write past the end of the heap buffers
- src/lib/tests/cgiDecodeTest.c
- lines changed 107, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/expected/cgiDecodeTest
- lines changed 33, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/expected/htmlEncodeTest
- lines changed 29, context: html, text, full: html, text
4e33b15085b7cd23fe95256b9d2e9911751aa598 Sat Sep 26 12:12:04 2026 -0700
lib tests: htmlEncode and attributeEncode on NULL, and the tag strippers on labels with no tags, refs #38226, #37617
Runs under the careful allocator, whose marker straight after each block makes a missing
terminator show up on every run.
- src/lib/tests/expected/htmlSanitizeTest
- lines changed 28, context: html, text, full: html, text
7a356d85dba1647c6d918b315e075da7e31ab7cb Sat Sep 26 12:10:36 2026 -0700
htmlSanitize: keep simple svg drawings in hub description pages, refs #38428
Description pages that draw small svg shapes, such as a colour legend, came
out empty. svg, g, circle, ellipse, rect, line, polyline, polygon and path
now come through with their size, position, fill and stroke attributes.
Other svg elements are left out.
Over the 5390-page hub corpus only the 32 pages that contain an svg
change, and no page's text changes.
- lines changed 25, context: html, text, full: html, text
3842ba31ab0b697b0d4026b5751da7dac7c84e35 Tue Sep 29 13:49:49 2026 -0700
htmlSanitize: keep the stdTbl and copyLinkSpan class names, refs #38126
GenArk description pages use these two classes from our own stylesheet and
scripts: stdTbl for bordered tables, and copyLinkSpan with data-target for
the Copy button next to the share link. They now come through, and
data-target gets the same prefix as the id it names.
Style values are now read the same way on every pass, so a page that is
saved again comes out unchanged.
Over the 5390-page hub corpus, 278 pages change, all in class or
data-target only, and no page's text changes.
- src/lib/tests/expected/netSlurpMaxTest
- lines changed 19, context: html, text, full: html, text
a9054011188cb975a65a7d9767096a0ffdceb366 Mon Sep 21 17:34:46 2026 -0700
netSlurpMaxTest: cover the response size ceiling, refs #38359
The fix this defends changes nothing on any page. Its only caller is the
hgTablesTest robot, and the failure it prevents is the process exiting from
inside carefulAlloc with nothing written to the log, so a unit test is the only
test there can be.
Four parts. netSlurpFileMax on a plain file, both sides of the boundary,
including a ceiling exactly at the file size, which has to read it. The same
calls under pushCarefulMemHandler, where carefulTotalAllocated() says whether
the abandoned buffer was really freed: a buffer left behind would stay counted
against the ceiling and the cap would buy one oversized page and no more. A
matched pair of forked children on a file past the allocator ceiling, one read
capped and one not, since exit(1) from inside the allocator cannot be seen any
other way. And htmlPageSetMaxSize reaching htmlSlurpWithCookies against a
server on the loopback interface, because the ceiling travels through a
module-wide static and that wiring can rot with no caller changing.
Backed the fix out three ways and watched each go red for its own reason.
Removing the size check fails 9 of the 18 assertions. Keeping the check and
dropping only the dyStringFree fails 3, and only the three that count
allocation. Reverting htmlSlurpWithCookies to a plain netSlurpFile fails 2,
and only the two that reach through htmlPage. Recorded as sandbox-ab.
The registry row carries "-" for the release: the ticket has no target version.
- src/lib/tests/expected/pngWriteTest
- lines changed 6, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/expected/udcDotsTest
- lines changed 26, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/expected/valuelessAttrs.out
- lines changed 15, context: html, text, full: html, text
99e615846246a19fdb5d01fcea5dce49179dd2ba Tue Sep 22 10:52:28 2026 -0700
htmlPage: parse valueless tag attributes such as SELECTED
The attribute name scanner read everything up to the next equals sign, so
<OPTION SELECTED value='any'> became a single attribute named "SELECTED
value". A lookup for SELECTED then found nothing and the SELECT fell back
to its first option. The same happened to CHECKED on a checkbox, and to the
src in <script async src=...>. A name now ends at white space as well, with
a look-ahead so that spaces around the equals sign still work.
This is what put 21 soft errors in every hgNearTest robot run since v495.
refs #38413
- src/lib/tests/htmlEncodeTest.c
- lines changed 71, context: html, text, full: html, text
4e33b15085b7cd23fe95256b9d2e9911751aa598 Sat Sep 26 12:12:04 2026 -0700
lib tests: htmlEncode and attributeEncode on NULL, and the tag strippers on labels with no tags, refs #38226, #37617
Runs under the careful allocator, whose marker straight after each block makes a missing
terminator show up on every run.
- src/lib/tests/htmlSanitizeTest.c
- lines changed 22, context: html, text, full: html, text
7a356d85dba1647c6d918b315e075da7e31ab7cb Sat Sep 26 12:10:36 2026 -0700
htmlSanitize: keep simple svg drawings in hub description pages, refs #38428
Description pages that draw small svg shapes, such as a colour legend, came
out empty. svg, g, circle, ellipse, rect, line, polyline, polygon and path
now come through with their size, position, fill and stroke attributes.
Other svg elements are left out.
Over the 5390-page hub corpus only the 32 pages that contain an svg
change, and no page's text changes.
- lines changed 15, context: html, text, full: html, text
3842ba31ab0b697b0d4026b5751da7dac7c84e35 Tue Sep 29 13:49:49 2026 -0700
htmlSanitize: keep the stdTbl and copyLinkSpan class names, refs #38126
GenArk description pages use these two classes from our own stylesheet and
scripts: stdTbl for bordered tables, and copyLinkSpan with data-target for
the Copy button next to the share link. They now come through, and
data-target gets the same prefix as the id it names.
Style values are now read the same way on every pass, so a page that is
saved again comes out unchanged.
Over the 5390-page hub corpus, 278 pages change, all in class or
data-target only, and no page's text changes.
- src/lib/tests/httpsFerryLeakTest.c
- lines changed 76, context: html, text, full: html, text
31f2090cd11876f61a92260838078077f68a94ee Thu Sep 24 15:32:25 2026 -0700
Add a test program and wrapper for debugging hung https connections, refs #38366
- src/lib/tests/httpsFerryLeakTest.sh
- lines changed 60, context: html, text, full: html, text
31f2090cd11876f61a92260838078077f68a94ee Thu Sep 24 15:32:25 2026 -0700
Add a test program and wrapper for debugging hung https connections, refs #38366
- src/lib/tests/input/valuelessAttrs.html
- lines changed 40, context: html, text, full: html, text
99e615846246a19fdb5d01fcea5dce49179dd2ba Tue Sep 22 10:52:28 2026 -0700
htmlPage: parse valueless tag attributes such as SELECTED
The attribute name scanner read everything up to the next equals sign, so
<OPTION SELECTED value='any'> became a single attribute named "SELECTED
value". A lookup for SELECTED then found nothing and the SELECT fell back
to its first option. The same happened to CHECKED on a checkbox, and to the
src in <script async src=...>. A name now ends at white space as well, with
a look-ahead so that spaces around the equals sign still work.
This is what put 21 soft errors in every hgNearTest robot run since v495.
refs #38413
- src/lib/tests/makefile
- lines changed 8, context: html, text, full: html, text
a9054011188cb975a65a7d9767096a0ffdceb366 Mon Sep 21 17:34:46 2026 -0700
netSlurpMaxTest: cover the response size ceiling, refs #38359
The fix this defends changes nothing on any page. Its only caller is the
hgTablesTest robot, and the failure it prevents is the process exiting from
inside carefulAlloc with nothing written to the log, so a unit test is the only
test there can be.
Four parts. netSlurpFileMax on a plain file, both sides of the boundary,
including a ceiling exactly at the file size, which has to read it. The same
calls under pushCarefulMemHandler, where carefulTotalAllocated() says whether
the abandoned buffer was really freed: a buffer left behind would stay counted
against the ceiling and the cap would buy one oversized page and no more. A
matched pair of forked children on a file past the allocator ceiling, one read
capped and one not, since exit(1) from inside the allocator cannot be seen any
other way. And htmlPageSetMaxSize reaching htmlSlurpWithCookies against a
server on the loopback interface, because the ceiling travels through a
module-wide static and that wiring can rot with no caller changing.
Backed the fix out three ways and watched each go red for its own reason.
Removing the size check fails 9 of the 18 assertions. Keeping the check and
dropping only the dyStringFree fails 3, and only the three that count
allocation. Reverting htmlSlurpWithCookies to a plain netSlurpFile fails 2,
and only the two that reach through htmlPage. Recorded as sandbox-ab.
The registry row carries "-" for the release: the ticket has no target version.
- lines changed 2, context: html, text, full: html, text
99e615846246a19fdb5d01fcea5dce49179dd2ba Tue Sep 22 10:52:28 2026 -0700
htmlPage: parse valueless tag attributes such as SELECTED
The attribute name scanner read everything up to the next equals sign, so
<OPTION SELECTED value='any'> became a single attribute named "SELECTED
value". A lookup for SELECTED then found nothing and the SELECT fell back
to its first option. The same happened to CHECKED on a checkbox, and to the
src in <script async src=...>. A name now ends at white space as well, with
a look-ahead so that spaces around the equals sign still work.
This is what put 21 soft errors in every hgNearTest robot run since v495.
refs #38413
- lines changed 5, context: html, text, full: html, text
31f2090cd11876f61a92260838078077f68a94ee Thu Sep 24 15:32:25 2026 -0700
Add a test program and wrapper for debugging hung https connections, refs #38366
- lines changed 8, context: html, text, full: html, text
4e33b15085b7cd23fe95256b9d2e9911751aa598 Sat Sep 26 12:12:04 2026 -0700
lib tests: htmlEncode and attributeEncode on NULL, and the tag strippers on labels with no tags, refs #38226, #37617
Runs under the careful allocator, whose marker straight after each block makes a missing
terminator show up on every run.
- lines changed 21, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/netSlurpMaxTest.c
- lines changed 362, context: html, text, full: html, text
a9054011188cb975a65a7d9767096a0ffdceb366 Mon Sep 21 17:34:46 2026 -0700
netSlurpMaxTest: cover the response size ceiling, refs #38359
The fix this defends changes nothing on any page. Its only caller is the
hgTablesTest robot, and the failure it prevents is the process exiting from
inside carefulAlloc with nothing written to the log, so a unit test is the only
test there can be.
Four parts. netSlurpFileMax on a plain file, both sides of the boundary,
including a ceiling exactly at the file size, which has to read it. The same
calls under pushCarefulMemHandler, where carefulTotalAllocated() says whether
the abandoned buffer was really freed: a buffer left behind would stay counted
against the ceiling and the cap would buy one oversized page and no more. A
matched pair of forked children on a file past the allocator ceiling, one read
capped and one not, since exit(1) from inside the allocator cannot be seen any
other way. And htmlPageSetMaxSize reaching htmlSlurpWithCookies against a
server on the loopback interface, because the ceiling travels through a
module-wide static and that wiring can rot with no caller changing.
Backed the fix out three ways and watched each go red for its own reason.
Removing the size check fails 9 of the 18 assertions. Keeping the check and
dropping only the dyStringFree fails 3, and only the three that count
allocation. Reverting htmlSlurpWithCookies to a plain netSlurpFile fails 2,
and only the two that reach through htmlPage. Recorded as sandbox-ab.
The registry row carries "-" for the release: the ticket has no target version.
- src/lib/tests/pngWriteTest.c
- lines changed 169, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/lib/tests/udcDotsTest.c
- lines changed 70, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- src/product/installer/browserSetup.sh
- lines changed 45, context: html, text, full: html, text
8f8455798f19c20cfabbf11e16c21f8352a02e9c Sat Sep 19 07:04:47 2026 -0700
set ft_min_word_len=3 in browserSetup.sh so three-letter assembly names can be found in the assembly search box, refs #38387
The assembly search box asks hubApi for assemblies matching what was typed, and
that lookup is a MySQL FULLTEXT search over hgcentral.assemblyList. The table is
MyISAM, so ft_min_word_len decides the shortest word that gets into the index.
Mariadb defaults to 4, which leaves out every three-letter assembly name, so hs1,
rn7 and dm6 could not be found in a mirror or in a released docker image. hgwdev
has always run with 3, which is why the same search worked here.
updateBlatServers now sets the value, restarts Mariadb and then loads
hgcentral.sql. That order matters: the new value is only live after a restart,
and the FULLTEXT index is rebuilt by the DROP TABLE, CREATE and INSERT of
assemblyList in that dump, so no REPAIR is needed. updateBlatServers is the one
place hgcentral is reloaded, reached from mysqlDbSetup on install and from
cgiUpdate on both cgiUpdate and update, so one call site covers every path and
every OS.
An error from the init script is tolerated around the restart. In the docker
image Mariadb runs under runit, so a stop shuts the server down, the supervisor
starts it again a second later, and the init script reports a failure although
the restart worked. The running value is checked afterwards, and a warning names
the REPAIR command if it did not take.
Tested in a stock container that had ft_min_word_len=4 and no assemblyList table
at all. Afterwards hs1, rn7 and dm6 are all found through
hubApi/findGenome?browser=mustExist, with hs1 first for a search of hs1.
- src/utils/barChartReorder/barChartReorder
- lines changed 95, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/makefile
- lines changed 11, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/expected/bars.txt
- lines changed 1, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/expected/simple.bed
- lines changed 2, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/expected/test.bed
- lines changed 4, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/expected/test.categories
- lines changed 5, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/bad.newOrder
- lines changed 3, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/short.bed
- lines changed 1, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/simple.bed
- lines changed 2, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/test.bed
- lines changed 4, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/test.categories
- lines changed 5, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/test.newOrder
- lines changed 5, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/in/test.oldOrder
- lines changed 5, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/barChartReorder/tests/makefile
- lines changed 35, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/expMatrixToBarchartBed
- lines changed 7, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/allOptions.output
- lines changed 10, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/allOptions2.output
- lines changed 10, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/extraFields.output
- lines changed 10, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/floats.output
- lines changed 3, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/makefile
- lines changed 8, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/test.output
- lines changed 10, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/expMatrixToBarchartBed/tests/test.output2
- lines changed 10, context: html, text, full: html, text
d2a7668073c78b3ed86ee6e23beebd6dac702640 Thu Oct 1 15:30:45 2026 -0700
Fix expMatrixToBarchartBed, which has aborted on every run since the python3 port, refs #37619
The port in 9ec8ecc35be left three things behind:
- median() and the tpmCutoffs block use / where they index a list. Under
python2 those were integer divisions; under python3 they are floats, so
both the default median path and --useMean abort with a TypeError.
- Every NamedTemporaryFile lost its bufsize=1, but two of them are read by
name through os.system while python still holds the buffer. Small inputs
came out as a header line with no data rows. Restored the original
line-buffered behaviour with an explicit flush before each read.
The six tests in tests/ would have caught this on the first run, but nothing
reaches them: testAll in src/utils/makefile iterates ALL_APPS, and
USER_APP_SCRIPTS is not part of it. They also invoked the bare program name,
which PATH resolves to the installed copy rather than the one in the tree, so
they were testing the shipped binary. They now run ../expMatrixToBarchartBed.
The makefile wiring that makes them run at all comes with barChartReorder.
Two columns of the expected output needed regenerating, neither of them
because of this fix:
- _lineLength is one smaller throughout. bedJoinTabOffset was rewritten in C
in 46dc535d3f5 and measures the line without its trailing newline. This is
harmless, since hgc reads _dataLen bytes and then chopByWhite's, and the
comment in getSampleValsFromFile says so. Confirmed that every offset and
length still lands on its own matrix row.
- score moves by one 111-wide bucket on rows whose value sits exactly on one
of the nine cutoffs. The value reaches an intermediate file through str()
and comes back through float(). python2's str() kept 12 significant digits,
so such a row compared as strictly less than its own cutoff and fell a
bucket; python3 round trips exactly. It affects about six rows whatever the
size of the dataset, since there are only nine cutoffs, and never by more
than one bucket.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/makefile
- lines changed 1, context: html, text, full: html, text
8331ea06f434b295c7b5383bc1e64f3f4a371387 Thu Sep 24 16:01:29 2026 -0700
adding pafToPsl to userApps output refs #34360
- lines changed 4, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- src/utils/pafToPsl/makefile
- lines changed 3, context: html, text, full: html, text
b269cf8292be3c573bb92058fbd6a3df5cf385c9 Thu Sep 24 15:44:03 2026 -0700
translation of Chenxi Zhou code from Gene Myers FASTGA PAFtoPSL.c code to kent C code refs #34360
- lines changed 3, context: html, text, full: html, text
1e49359da6689c022a312353f97af28d161802c3 Thu Sep 24 15:54:15 2026 -0700
add test target refs #34360
- src/utils/pafToPsl/pafToPsl.c
- lines changed 327, context: html, text, full: html, text
b269cf8292be3c573bb92058fbd6a3df5cf385c9 Thu Sep 24 15:44:03 2026 -0700
translation of Chenxi Zhou code from Gene Myers FASTGA PAFtoPSL.c code to kent C code refs #34360
- lines changed 11, context: html, text, full: html, text
13324df7d810e3cd1d64d93e8f83de7f7611e473 Fri Sep 25 18:55:52 2026 -0700
claude found and error in the code and added a test for the bug refs #34360
- src/utils/pafToPsl/tests/expected/hg38ChrMt.psl
- lines changed 1, context: html, text, full: html, text
0137e8b20a8d122324fcaa984c882ade51bd41f1 Thu Sep 24 15:53:48 2026 -0700
test for pafToPsl command refs #34360
- src/utils/pafToPsl/tests/expected/indelEdges.psl
- lines changed 4, context: html, text, full: html, text
13324df7d810e3cd1d64d93e8f83de7f7611e473 Fri Sep 25 18:55:52 2026 -0700
claude found and error in the code and added a test for the bug refs #34360
- src/utils/pafToPsl/tests/input/hg38ChrMt.paf
- lines changed 1, context: html, text, full: html, text
0137e8b20a8d122324fcaa984c882ade51bd41f1 Thu Sep 24 15:53:48 2026 -0700
test for pafToPsl command refs #34360
- src/utils/pafToPsl/tests/input/indelEdges.paf
- lines changed 4, context: html, text, full: html, text
13324df7d810e3cd1d64d93e8f83de7f7611e473 Fri Sep 25 18:55:52 2026 -0700
claude found and error in the code and added a test for the bug refs #34360
- src/utils/pafToPsl/tests/makefile
- lines changed 15, context: html, text, full: html, text
0137e8b20a8d122324fcaa984c882ade51bd41f1 Thu Sep 24 15:53:48 2026 -0700
test for pafToPsl command refs #34360
- lines changed 12, context: html, text, full: html, text
d6c5f9d4c46a1be9fc24bc548052232560710faf Fri Sep 25 18:58:33 2026 -0700
claude found and error in the code and added a test for the bug refs #34360
- src/utils/qa/qaTestScript.py
- lines changed 1, context: html, text, full: html, text
2ec957f2ac313ee21abfb3724042d681f5774eba Thu Sep 24 16:32:50 2026 -0700
Updating the hgBlat all genomes checkbox locator to work on both the classic and new BLAT pages, No RM
- src/utils/qa/weeklybld/buildEnv.csh
- lines changed 2, context: html, text, full: html, text
affd45994680abc5a5b4fbbeeacda1c0047ec63e Mon Oct 5 10:00:26 2026 -0700
v505 preview1 (automated)
- src/utils/qa/weeklybld/trackCheckRobot.py
- lines changed 9, context: html, text, full: html, text
27ded228b74091b4d9bf1bccfcc98b11eac32483 Mon Sep 28 15:04:56 2026 -0700
trackCheckRobot: skip hub-backed assemblies and wait longer for slow pages, refs #37424
The robot lists tracks from each assembly's MySQL trackDb table. Hub-backed
assemblies (dbDb nibPath "hub:...") have no such table, so 17 GenArk
assemblies failed with "Unknown database" every week. They are now left out.
The 30 second timeout was too short for seven tracks that fail every release.
The wuhCor1 phylogenetic tree tracks take about 40 seconds in hgTracks. The hg38
470-way and 241-way alignment details pages take 2 to 6 minutes in hgc. hgTracks
requests now wait 120 seconds and hgc requests wait 600 seconds.
- lines changed 71, context: html, text, full: html, text
fed2e9c1d310026a998c2212a2e2508670a16373 Mon Sep 28 15:16:04 2026 -0700
trackCheckRobot: probe faceted subtracks again, keep hub-backed dbs that have tables, show HGERROR text, refs #37424
Since #37662 a subtrack of a faceted composite can no longer override its
hidden ancestors, so "<subtrack>=full" after hideAll drew nothing. hg38 fell
from 19608 checked tracks to 9927, and mm10 from 8095 to 6182. For those
subtracks the robot now sets the parent composite and superTrack to full and
adds <subtrack>_sel=1. The other default-selected subtracks draw too, so only
hgc links with g=<subtrack> are kept.
The hub-backed skip also dropped hs1, rn8 and mpxvRivers. They have a "hub:"
nibPath but also a MySQL database, and they were checked before. Only
hub-backed assemblies without a database are skipped now.
HGERROR lines now include the message from the page, for example
"No chainAnoCar1 track in database hg38 for chr7".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- src/utils/redmineCli
- lines changed 37, context: html, text, full: html, text
67cf0a3977040d7f607149d36479886e3e9d12a3 Mon Sep 21 17:24:39 2026 -0700
redmineCli: let a comment say who wrote it. No RM.
A comment Claude posts carries a "From Claude:" line, which is wrong when the
words are the developer's own and Claude only sent them. The comment
subcommand takes --written-by NAME now, and writes "Written by NAME, posted by
Claude:" instead. With no NAME it reads the name off the API key.
prepend_attribution recognises both lines, so text that already begins with
either one is posted unchanged, and a draft file can carry its own header.
- src/utils/testRegistry/README
- lines changed 11, context: html, text, full: html, text
b1a4f0619269b4c813036fc592c97471de310515 Sun Sep 20 17:53:28 2026 -0700
registry: hold every v504 ticket, including the ones a unit test is wrong for
The table held only the tickets that want a unit test, 37 of the release's 66.
That cannot answer "how much of v504 is tested", because the 29 it left out are
indistinguishable from tickets nobody has looked at: both are absent.
So all 66 are here now, and the 29 carry a new why, "page" -- what changed is
what a page says or does, so the docent suite is the right test and no unit test
is wanted. Each says what changed and where the fix is, so the claim is
checkable rather than asserted; "this one does not need a unit test" was a
judgement living in one head, and now it is a row somebody can argue with.
A page row may not name a unit test, which check enforces. `needed` leaves them
out, since they are not waiting for anything. `unwatched` does not: a ticket
with no test of any kind is worth seeing whichever kind it should have had, and
that list is 19 now rather than 4 -- the four blocked ones plus fifteen that
nothing watches and nobody had recorded.
refs #38391
- src/utils/testRegistry/registry.tsv
- lines changed 3, context: html, text, full: html, text
e0002dfd343ef6768b23d4ae4e54ed88f2553669 Sun Sep 20 14:39:55 2026 -0700
registry: three tickets now have docent scripts
rm38086, rm38253 and rm38317 landed on #38252 this morning, from this
registry's own list of tickets that nothing was watching. Their rows said
there was no docent script, which stopped being true.
The check written yesterday for exactly this found all three on its first day,
by name, without anybody thinking to look. That is what the "-" half of the
docent column is for.
The unwatched list is four now, not seven.
refs #38391, refs #38252
- lines changed 39, context: html, text, full: html, text
b1a4f0619269b4c813036fc592c97471de310515 Sun Sep 20 17:53:28 2026 -0700
registry: hold every v504 ticket, including the ones a unit test is wrong for
The table held only the tickets that want a unit test, 37 of the release's 66.
That cannot answer "how much of v504 is tested", because the 29 it left out are
indistinguishable from tickets nobody has looked at: both are absent.
So all 66 are here now, and the 29 carry a new why, "page" -- what changed is
what a page says or does, so the docent suite is the right test and no unit test
is wanted. Each says what changed and where the fix is, so the claim is
checkable rather than asserted; "this one does not need a unit test" was a
judgement living in one head, and now it is a row somebody can argue with.
A page row may not name a unit test, which check enforces. `needed` leaves them
out, since they are not waiting for anything. `unwatched` does not: a ticket
with no test of any kind is worth seeing whichever kind it should have had, and
that list is 19 now rather than 4 -- the four blocked ones plus fifteen that
nothing watches and nobody had recorded.
refs #38391
- lines changed 1, context: html, text, full: html, text
a9054011188cb975a65a7d9767096a0ffdceb366 Mon Sep 21 17:34:46 2026 -0700
netSlurpMaxTest: cover the response size ceiling, refs #38359
The fix this defends changes nothing on any page. Its only caller is the
hgTablesTest robot, and the failure it prevents is the process exiting from
inside carefulAlloc with nothing written to the log, so a unit test is the only
test there can be.
Four parts. netSlurpFileMax on a plain file, both sides of the boundary,
including a ceiling exactly at the file size, which has to read it. The same
calls under pushCarefulMemHandler, where carefulTotalAllocated() says whether
the abandoned buffer was really freed: a buffer left behind would stay counted
against the ceiling and the cap would buy one oversized page and no more. A
matched pair of forked children on a file past the allocator ceiling, one read
capped and one not, since exit(1) from inside the allocator cannot be seen any
other way. And htmlPageSetMaxSize reaching htmlSlurpWithCookies against a
server on the loopback interface, because the ceiling travels through a
module-wide static and that wiring can rot with no caller changing.
Backed the fix out three ways and watched each go red for its own reason.
Removing the size check fails 9 of the 18 assertions. Keeping the check and
dropping only the dyStringFree fails 3, and only the three that count
allocation. Reverting htmlSlurpWithCookies to a plain netSlurpFile fails 2,
and only the two that reach through htmlPage. Recorded as sandbox-ab.
The registry row carries "-" for the release: the ticket has no target version.
- lines changed 1, context: html, text, full: html, text
ac540bf096a2398161cc910bf4fd965541469e06 Fri Sep 25 08:47:53 2026 -0700
registry: 38311 now has a docent script, fixes the nightly make test rot check, refs #38391
- lines changed 6, context: html, text, full: html, text
4ac2738c397a05c257e089715017f76c619b2634 Sat Sep 26 12:12:14 2026 -0700
testRegistry: rows for #37617, #37618, #38226, #38398 and #38414, refs #38391
- lines changed 7, context: html, text, full: html, text
99eb74885ff5bce42cadafee93274df7039dcab5 Sat Sep 26 17:34:11 2026 -0700
unit tests for four v503 tickets, refs #38391, #37262, #38120, #38107, #38125, #38154
cgiDecodeTest prints what malformed and cut-short %hh escapes decode to, and
checks that cgiDecode never reads past the length it is given. udcDotsTest
prints the cache directory udc makes for remote URLs with "." and ".." in
them, including the ones that must abort. pngWriteTest writes a memGfx image
as a PNG, reads it back with libpng, compares every pixel, and checks the row
filter of every row. pgSnpManyAllelesTester builds per-allele counts from a
VCF record with 150 ALT alleles.
Each test fails with its fix backed out, except that zlib-ng was not swapped
out for #38125. The test registry gets a row for each ticket.
- lines changed 2, context: html, text, full: html, text
d5dd2e676327434c209118ba222b50d1b4ef3b00 Sat Sep 26 17:58:10 2026 -0700
registry: #38120 and #38154 now have docent scripts, so testRegistry check passes again, refs #38391, #38252
- lines changed 1, context: html, text, full: html, text
da449b4fe2039f200a2f93d5209c48fe98c0a534 Tue Sep 29 10:58:30 2026 -0700
cartPcrVarTester: which hgPcrResult_ cart variables survive a cart load, refs #38442
Feeds hgPcrResult_ variables through cartParseOverHash() and says which are
kept. With the cart.c fix backed out it shows hgPcrResult_imgOrd dropped and
nothing else changes. Registry row and catalog note added.
- lines changed 6, context: html, text, full: html, text
f3bec731c93f26f8f1984fd727c6ee55ebf99f85 Tue Sep 29 13:00:12 2026 -0700
docent regression scripts for three v505 tickets, and registry updates, refs #37617, #37618, #38442, #38249, #38252
rm37617 checks that filter.AF on a VCF INFO field hides the variants below the
trackDb minimum, and rm37618 that colorByInfo colors each item by its INFO value.
Both use a four-variant fixture hub, docentFixtures/rm37617. rm38442 runs the
ticket's PCR search, sets the places a drag saves, and checks that the PCR track
keeps its place after a zoom. All three fail on hgwbeta (v504) and pass on
genome-test.
registry.tsv names the three scripts, adds a row for #38387, and raises the
#38249 quickLiftTester row to sandbox-ab: backing out either quickLift fix by
hand turns the test red.
- lines changed 2, context: html, text, full: html, text
27e27b2c53090276a82fa8a4a8ae89f8db288263 Tue Sep 29 14:13:18 2026 -0700
docent rm38198 release-ab proof line, and registry rows for #38428 and #38430, refs #38198, #38428, #38430, #38252
rm38198's container reopen section fails on hgwbeta (v504, which lacks
dba11b63364) and passes on genome-test. htmlSanitizeTest goes red when the svg
allowlist of 7a356d85dba is backed out by hand, so #38428 gets a sandbox-ab row.
#38430 gets a page row with no test yet. Both changes sit behind the
hubHtmlSanitize gate.
- lines changed 3, context: html, text, full: html, text
49e53454d32ce13f5af4ece42112423534102fdd Tue Sep 29 14:30:20 2026 -0700
docent regression scripts for #38428 and #38430, and the #38387 registry note, refs #38428, #38430, #38387, #38252
rm38428 checks that a hub track's svg color legend survives the description
filter and the script inside it does not. rm38430 checks that hgGateway filters
a hub assembly's description page. Both need hubHtmlSanitize=on, and both fail
on a v504_branch build with the gate on and pass on genome-test. Fixtures in
docentFixtures/rm38428 and rm38430.
The #38387 registry note records the docker QA instances: kent-tip, built after
the fix, runs ft_min_word_len=3 and finds hs1; kent-beta, built before it, runs 4
and does not.
- lines changed 20, context: html, text, full: html, text
58fa228f2f91ae8c6a5c62109e904f57e1f9a66d Wed Sep 30 11:03:02 2026 -0700
docent regression scripts for nineteen v504 tickets, and their registry rows
Each script watches one v504 fix. Fourteen fail on v503 (ts park 38316) and
pass on genome-test (release-ab). rm38313 and rm38393 are sandbox-ab, because
no release predates their fix. rm37984, rm38233 and rm38384 are
assertion-only; each header says why.
The registry now names the script in the docent column for these tickets, and
has new rows for #38157 and #38393. #38275 stays unwatched in the table: the
script that watches it is rm37389, which is named for another ticket.
refs #20824, #27988, #36292, #37595, #37621, #37929, #37984, #38157, #38192,
#38197, #38233, #38254, #38264, #38273, #38313, #38323, #38372, #38384,
#38393, #38252, #38391
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- lines changed 1, context: html, text, full: html, text
ebf73550fcb8e858388755a7d34541d510209bae Wed Sep 30 17:12:00 2026 -0700
docent rm38456: a Save request without the share flag or the name, and its registry row, refs #38456
Three checks: a fresh cart with no share flag, a cart that still holds a stored share
value while the request has none, and a request with no name. Committed as an xfail
until the fix reaches genome-test. Each check was seen to fail on a build without its
part of the fix.
- lines changed 1, context: html, text, full: html, text
f8a1b70516b4cb68471cf5fda1f25fe5a06e034e Thu Oct 1 07:04:33 2026 -0700
docent rm38456: the fix reached genome-test, so the script is no longer an xfail, refs #38456
It failed on genome-test at check 1 before 35c5facfb9e arrived and passed there after
the same day's make alpha. Renamed from rm38456.xfail.docent.yaml, with a server-flip
proof line, and the registry row now names the new file.
- lines changed 1, context: html, text, full: html, text
fcc4da57b6aa6aabe40dce88cb8b67e4a5508aff Fri Oct 2 09:35:00 2026 -0700
docent rm38462 xfail script for negateValues whiskers, and its registry row, refs #38462, #38252
- lines changed 1, context: html, text, full: html, text
fb5921dc918983ecc5182b1ef23a9fc64b556114 Fri Oct 2 10:00:42 2026 -0700
docent rm38462 out of xfail after genome-test built the fix, refs #38462, #38252
- lines changed 1, context: html, text, full: html, text
bd1a1caa044f8b0e65d4f558831c83c1b8807d2e Sat Oct 3 17:02:05 2026 -0700
docent rm38444: a db name with its own dbDb row stays that assembly instead of its asmAlias accession, and its registry row, refs #38444, #38252
- src/utils/testRegistry/testRegistry
- lines changed 24, context: html, text, full: html, text
b1a4f0619269b4c813036fc592c97471de310515 Sun Sep 20 17:53:28 2026 -0700
registry: hold every v504 ticket, including the ones a unit test is wrong for
The table held only the tickets that want a unit test, 37 of the release's 66.
That cannot answer "how much of v504 is tested", because the 29 it left out are
indistinguishable from tickets nobody has looked at: both are absent.
So all 66 are here now, and the 29 carry a new why, "page" -- what changed is
what a page says or does, so the docent suite is the right test and no unit test
is wanted. Each says what changed and where the fix is, so the claim is
checkable rather than asserted; "this one does not need a unit test" was a
judgement living in one head, and now it is a row somebody can argue with.
A page row may not name a unit test, which check enforces. `needed` leaves them
out, since they are not waiting for anything. `unwatched` does not: a ticket
with no test of any kind is worth seeing whichever kind it should have had, and
that list is 19 now rather than 4 -- the four blocked ones plus fifteen that
nothing watches and nobody had recorded.
refs #38391
- src/utils/testRegistry/tests/expected/check.out
- lines changed 2, context: html, text, full: html, text
b1a4f0619269b4c813036fc592c97471de310515 Sun Sep 20 17:53:28 2026 -0700
registry: hold every v504 ticket, including the ones a unit test is wrong for
The table held only the tickets that want a unit test, 37 of the release's 66.
That cannot answer "how much of v504 is tested", because the 29 it left out are
indistinguishable from tickets nobody has looked at: both are absent.
So all 66 are here now, and the 29 carry a new why, "page" -- what changed is
what a page says or does, so the docent suite is the right test and no unit test
is wanted. Each says what changed and where the fix is, so the claim is
checkable rather than asserted; "this one does not need a unit test" was a
judgement living in one head, and now it is a row somebody can argue with.
A page row may not name a unit test, which check enforces. `needed` leaves them
out, since they are not waiting for anything. `unwatched` does not: a ticket
with no test of any kind is worth seeing whichever kind it should have had, and
that list is 19 now rather than 4 -- the four blocked ones plus fifteen that
nothing watches and nobody had recorded.
refs #38391
- src/utils/testRegistry/tests/input/bad.tsv
- lines changed 1, context: html, text, full: html, text
b1a4f0619269b4c813036fc592c97471de310515 Sun Sep 20 17:53:28 2026 -0700
registry: hold every v504 ticket, including the ones a unit test is wrong for
The table held only the tickets that want a unit test, 37 of the release's 66.
That cannot answer "how much of v504 is tested", because the 29 it left out are
indistinguishable from tickets nobody has looked at: both are absent.
So all 66 are here now, and the 29 carry a new why, "page" -- what changed is
what a page says or does, so the docent suite is the right test and no unit test
is wanted. Each says what changed and where the fix is, so the claim is
checkable rather than asserted; "this one does not need a unit test" was a
judgement living in one head, and now it is a row somebody can argue with.
A page row may not name a unit test, which check enforces. `needed` leaves them
out, since they are not waiting for anything. `unwatched` does not: a ticket
with no test of any kind is worth seeing whichever kind it should have had, and
that list is 19 now rather than 4 -- the four blocked ones plus fifteen that
nothing watches and nobody had recorded.
refs #38391
- src/utils/userApps/mkREADME.sh
- lines changed 1, context: html, text, full: html, text
d87ef2fb8472135b899fd1a89434033d5895217a Thu Oct 1 15:31:26 2026 -0700
Add barChartReorder, a utility for changing the order of the bars in a barChart track, refs #37619
The bars of a barChart are drawn in the order their values appear in the
expScores field, and nothing re-sorts them when the track is drawn, so the
order is a property of the data file. Putting the bars in a different order
means rewriting that field in every row, which is awkward enough by hand that
we have twice done it for a data author instead of explaining it. This has
come up on #36998 and #37001.
barChartReorder takes the current bar order and the wanted order as two lists
of names, rewrites expScores in every row, optionally puts a .categories file
into the same order, and prints the barChartBars line for the track. It works
on any barChart BED whatever produced it, so unlike the --groupOrderFile
option of expMatrixToBarchartBed it does not assume the file was built here
from an expression matrix. A bigBarChart is handled by converting it with
bigBedToBed and rebuilding it afterwards, which the usage message spells out.
It refuses to write a half-correct file: the two orders must name the same
bars, every row must hold as many values as there are names, and a .categories
file must have a row for each bar.
Listed in USER_APP_SCRIPTS so it reaches hgdownload, and in the no-argument
branch of mkREADME.sh so the README picks up its usage message rather than the
argparse error that -verbose=2 would produce.
Its tests are also wired into the test target directly. testAll iterates
ALL_APPS, which does not include USER_APP_SCRIPTS, so none of these programs'
tests have ever been reachable from "make test" - that is why the suite sitting
next to expMatrixToBarchartBed never reported it was broken. The makefile
already keeps a short list of directories testAll cannot reach, and this adds
two more to it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- lines changed: 37255
- files changed: 1020