7aba31f14aed7f2620e4746b54f9569a5c93e1ad braney Sat Sep 12 15:07:34 2026 -0700 docent: ten regression tests for quickLift, on hgTracks and on hgc, refs #38252 Fourteen scripts here already lift something -- they are the ones that call `convert: {quicklift: true}` -- so these take the parts of the lift that had no test. Five read the lifted image and five read a details page: rm38032 the target keeps the source's track order. First use of `ordered:`, which was added to expect: for this bug rm38042 a ClinVar CNV running past the chains quickLift loads is clipped rather than dropped, so the spanned-item merge still has it rm37646 a lolly composite subtrack lifts, and its map boxes still carry its own track name -- the string the stale pop pointer clobbered rm36048 the spanned-item merge still works on a lifted DECIPHER track rm37815 "Hide all default tracks on the target" hides all six of hs1's own tracks and keeps the lifted one rm36059 a lifted GENCODE Versions item gives the real details page, in destination coordinates, with no "Can't start query" rm36370 a lifted knownGene click renders GeneReviews and Methods, the two sections the ticket says were missing rm36125 a lifted RefSeq item's page, and its Predicted Protein link returning SHH's peptide instead of a blank page rm36942 the Alignment Differences description, reached from a difference item: the four colors and the figure rm38146 the same page with a GenArk assembly as the SOURCE, down to the base alignment that reads query bases out of a two bit file All ten are assertion-only: every fix shipped long ago. make test is 57 of 57 green in 10m18s, up from 7m34s -- each script costs a convert, about 17 seconds, because no URL builds a quickLift hub. README.txt gains what the batch cost. A lifted row and map box carry a per-run hub__ prefix, so rows: matches by suffix and a has: selector must use a substring. Never assert a count an otto reload can move: rm38042 and rm36048 both read the merged-item box and leave its count (45 for ClinVar today) to a comment. And a details page prints the track's own labels whether or not it worked, so each hgc assertion names something only the fixed page has. Three candidates were rejected: #38033's "(N items could not be lifted)" label is only in the drawn image and the page JSON, where no expect: check reaches it; #37970 needs a broadPeak track and hg38 has none; #37974's center-label drag is pixels. diff --git src/hg/utils/docent/tests/regress/rm38146.docent.yaml src/hg/utils/docent/tests/regress/rm38146.docent.yaml new file mode 100644 index 00000000000..a0168c8b413 --- /dev/null +++ src/hg/utils/docent/tests/regress/rm38146.docent.yaml @@ -0,0 +1,50 @@ +# #38146 -- a quickLift whose SOURCE is a GenArk assembly worked, but clicking either of +# the alignment links on the difference track errored with +# +# Couldn't connect to database 'GCA_002844635.1' on 'localhost' as hguser. +# Unknown database 'GCA_002844635.1' +# +# Something took the GenArk accession for a MySQL database name instead of a hub genome. +# Split out of #37974 so the center-label drag fix there could close separately. Jairo's +# case is the pig assembly GCA_002844635.1 (USMARCv1.0) lifted to susScr11, and it is the +# one used here. +# +# 25c1787f5c2 is the fix: hgc reads the chain's query sequence from the two bit file +# whenever the track names one, instead of opening the query assembly as a database. +# +# So the script goes all the way to the page that needed the sequence. The details page +# is the first half and the whole-window base alignment is the second, and only the second +# actually reads query bases -- a test that stopped at the details page would pass on a +# build that still could not produce the alignment. +# +# The GenArk assembly is reached by accession with no hubUrl, the way hgTracks resolves one +# from the genark table, and nothing is turned on by hand: its default view carries the +# tracks this lifts. +proof: + - "assertion-only 2026-09-12 -- written from the ticket and from 25c1787f5c2, after the fix shipped" + +target: genome-test +db: GCA_002844635.1 +reset: true +fast: true +steps: + - goto: "/cgi-bin/hgTracks?db=GCA_002844635.1&pix=1100" + - expect: {rows: [augustus], noText: "Warning/Error"} + + - convert: {to: susScr11, quicklift: true, hideDefaults: true} + - open: lift + - expect: {rows: [quickLiftChain, augustus], noText: "Unknown database"} + + # The details page. The source assembly has to be named as a hub genome, with its own + # sequence name, rather than looked up as a database. + - click: {track: quickLiftChain, frac: 0.5} + - expect: + text: "GCA_002844635.1 position" + noText: "Unknown database" + + # And the page that reads query bases out of the two bit. + - click: 'a:has-text("DNA sequence alignment of whole window")' + - expect: + text: "Only query sequence" + noText: "Couldn't connect to database" + - expect: {text: "Base Alignment: susScr11"}