0e4e0c0af65eea70f64edbc68348ce0972c4bbf4 braney Fri Aug 28 16:45:00 2026 -0700 Correct the track types listed for trackDb settings, and the hub settings list The "For Types" list in the trackDb docs was wrong for about sixty settings, so the docs named the wrong track types for settings that have always worked. Most named only the older type and left out its big* counterpart. The clearest case is the multiple-alignment family: a bigMaf track is drawn and configured by the same code as a wigMaf track, but only speciesOrder said so, while irows, itemFirstCharCase, speciesGroups, speciesCodonDefault, speciesDefaultOff, treeImage, pairwiseHeight and speciesUseFile all claimed wigMaf alone. The hapCluster settings said vcf and not vcfTabix. noScoreFilter said bed while its own example uses type bigBed 6 +. Six settings said "all" for something that only works on item tracks. Two documented settings do not exist. pslSequence describes a variable that was replaced by the baseColor family long before the setting was listed, and nothing has read either spelling since; it is removed. noStems is renamed to lollyNoStems, which is what the Browser actually reads. That one mattered: hubCheck builds its list of valid settings from trackDbHub.html, so it accepted the spelling that does nothing and rejected the one that works. Fourteen settings that work in hubs had no entry in the hub spec, so hubCheck reported them as unrecognized. They are listed now: chainColor, chainNormScoreAvailable, pairwiseHeight, barChartMatrixUrl, mouseOverFunction, intronGap, filterBy, baseColorTickColor, speciesGroups, speciesDefaultOff, speciesCodonDefault, itemFirstCharCase, irows, and canPack with configureByPopup and origAssembly. The last three, along with filterBy and baseColorTickColor, were marked "NOT FOR HUBS", which was wrong: the Browser reads them from a hub's trackDb the same way it reads them from ours. The type setting on the hub page listed every type the Browser knows, including ones that only work for tracks loaded into our own databases. It now shows only the types a hub can use. A hub-specific blurb for this already existed and had never been referenced. Three settings had no blurb at all, so the generated trackDbSettings.json never saw them: metadata, noInherit and useScore. Written, and the five hand-written copies in trackDbDoc.html that had drifted from the library are brought back into line. The library's header told the reader to always check their work in trackDbTestBlurbs.html, which was deleted in November 2025. It now points at "make settings" instead. That target regenerates trackDbSettings.yaml and .json, which are updated here, and its name map gains an entry so the hub-specific type blurb is still keyed as "type". refs #37908 diff --git src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html index d94748d68a0..59538249a4c 100755 --- src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html +++ src/hg/htdocs/goldenPath/help/trackDb/trackDbDoc.html @@ -1037,32 +1037,32 @@ <br><br> <a name="bigLolly"></a> <table class="settingsTable" id="bigLolly"> <thead><tr><td><div ID="bigLolly_intro" class="intro"></div></td></tr></thead> <tr valign=top><th><img alt="" class='toggle oneSection'> bigLolly - Lollipop charts </th></tr> <tr valign=top><td class="bigLolly"><img alt="" class='toggle detail'> <div class="format"> <code>type bigLolly</code></div> </td></tr> <tr valign=top><td class="bigDataUrl"><img alt="" class='toggle detail'> <div class="format"><code class="level-required">bigDataUrl <url/relativePath></code> </div> </td></tr> -<tr valign=top><td class="noStems"><img alt="" class='toggle detail'> - <div class="format"><code class="level-required">noStems <on/off></code> +<tr valign=top><td class="lollyNoStems"><img alt="" class='toggle detail'> + <div class="format"><code class="level-required">lollyNoStems <on/off></code> </div> </td></tr> <tr valign=top><td class="lollySizeField"><img alt="" class='toggle detail'> <div class="format"><code class="level-required">lollySizeField <integer></code> </div> </td></tr> <tr valign=top><td class="lollyMaxSize"><img alt="" class='toggle detail'> <div class="format"><code class="level-required">lollyMaxSize <integer></code> </div> </td></tr> <tr valign=top><td class="lollyField"><img alt="" class='toggle detail'> <div class="format"><code class="level-required">lollyField <integer></code> </div> </td></tr> <tr valign=top><td class="yAxisLabel"><img alt="" class='toggle detail'> @@ -1291,33 +1291,30 @@ psl - Sequence alignment tracks settings </TH></TR> <TR VALIGN=TOP><TD class="psl"><IMG class='toggle detail'> <div class="format"><code>type psl <subtype> [otherDb]</code></div> </TD></TR> <TR VALIGN=TOP><TD class="blastRef"><A name="blastRef"></A><IMG class='toggle detail'> <div class="format"><code>blastRef <assembly.table></code></div> </TD></TR> <TR VALIGN=TOP><TD class="colorChromDefault"> <A name="colorChromDefault"></A><IMG class='toggle detail'> <div class="format"><code>colorChromDefault off</code></div> </TD></TR> <TR VALIGN=TOP><TD class="pred"><A name="pred"></A><IMG class='toggle detail'> <div class="format"><code>pred <assembly.table></code></div> </TD></TR> - <TR VALIGN=TOP><TD class="pslSequence"><A name="pslSequence"></A><IMG class='toggle detail'> - <div class="format"><code>pslSequence <no/all/different></code></div> - </TD></TR> <TR VALIGN=TOP><TD class="transMapGene"> <A name="transMapGene"></A> <A name="transMapInfo"></A> <A name="transMapSrc"></A> <A name="transMapTypeDesc"></A><IMG class='toggle detail'> <div class="format"> <code>transMapGene <assembly.table></code><BR> <code>transMapInfo <table></code><BR> <code>transMapSrc <assembly.table></code><BR> <code>transMapTypeDesc <label></code></div> </TD></TR> <TR VALIGN=TOP><TD class="ucscRetroInfo"><A name="ucscRetroInfo"></A><IMG class='toggle detail'> <div class="format"><code>ucscRetroInfo</code></div> </TD></TR> <TR VALIGN=TOP><TD> @@ -2193,43 +2190,44 @@ <P> hg15.hg15Mm3L</P> <P> Completely replaced by type wig and more recently bigWig</P> <A name="miscLosers"></A> <H3>List of Miscellaneous Specal Case, Deprecated, Rejected or Rarely Used Settings</H3> <TABLE class="settingsTable" id="Miscellaneous_Rejected_Settings"> <TR VALIGN=TOP><TH WIDTH=100>Rejected settings</TH><TH WIDTH=100>For Types</TH><TH>Reason</TH> </TR> <TR VALIGN=TOP> <TD class="accession"><A name="accession"></A><code>accession</code></TD> <TD>all <I>ENCODE only</I></TD> <TD>ENCODE only; DEPRCATED (replaced with mdb )</TD> </TR> <TR VALIGN=TOP> - <TD class="canPack"><A name="canPack"></A><code>canPack <off/on></code></div></TD> + <TD class="canPack"><A name="canPack"></A><code>canPack <off/on></code></TD> <TD>all</TD> - <TD><I>NOT FOR HUBS. Deprecated.</I> - <P>Almost tracks can be displayed in the five + <TD><I>Deprecated. The track type usually decides this.</I> + <P>Almost all tracks can be displayed in the five standard visibilities. However on some track types such as wiggles, <code>squish</code> and <code>pack</code> offer no real advantage over <code>dense</code> and <code>full</code>. By default, these tracks will not offer the less valuable visibilities. Nevertheless, you can make your track offer these visibility choices by turning canPack on. Note: subtracks of composites will always offer all five choices.</P> <P><B>Example:</B></P> <pre> canPack on</pre> - </TD></TR> + </TD> + </TR> <TR VALIGN=TOP> <TD class="cdsDrawDefault"><A name="cdsDrawDefault"></A> <code>cdsDrawDefault</code></TD><TD>genePred</TD> <TD>There are a number of occurrences of cdsDrawDefault in our trackDbs, always set to ‘genomic\ codons ‘. However, I have found no documentation and no code that references this setting. </TD> </TR> <TR VALIGN=TOP> <TD class="cdsDrawOptions"><A name="cdsDrawOptions"></A> <code>cdsDrawOptions</code></TD><TD>psl</TD> <TD>I have found no documentation and no code that references this setting. Also, I do not see it in our trackDbs. </TD> @@ -2409,33 +2407,34 @@ <TD>Can't find this in any of our trackDb.ra files.</TD> </TR> <TR VALIGN=TOP> <TD class="mapDispatcher"><A name="mapDispatcher"></A><code>mapDispatcher</code></TD> <TD>expRatio</TD> <TD>Only hg17 group "x" [tingwang 2007] and not in C.</TD> </TR> <TR VALIGN=TOP> <TD class="maxScore"><A name="maxScore"></A><code>maxScore</code></TD><TD>broadPeak</TD> <TD>Obsolete, replaced with <A onclick="return jumpTo(this);" HREF="#">scoreFilterLimits</A>. </TD> </TR> <TR VALIGN=TOP> <TD class="metadata"><A name="metadata"></A><code>metadata</code></TD> - <TD>all <I>ENCODE only</I></TD> - <TD>OBSOLETE: replaced by metaDb. <I>Currently only way for datHubs to have - metadata dropdowns. Used by WashU hubs.</I> + <TD>all</TD> + <TD>OBSOLETE: replaced by <A onclick="return jumpTo(this);" HREF="#">meta</A>, + which names one metadata file for the whole hub. Still read, and still + used by some hubs. </TD> </TR> <TR VALIGN=TOP> <TD class="mgiUrl"><A name="mgiUrl"></A><code>mgiUrl</code></TD><TD>bed</TD> <TD>Special case variant of url used by no current tracks (tdbQuery -strict).</TD> </TR> <TR VALIGN=TOP> <TD class="mgiUrlLabel"><A name="mgiUrlLabel"></A><code>mgiUrlLabel</code></TD><TD>bed</TD> <TD>Special case variant of url used by no current tracks (tdbQuery -strict).</TD> </TR> <TR VALIGN=TOP> <TD class="minMax"><A name="minMax"></A><code>minMax</code></TD><TD>chromGraph</TD> <TD>Unused track type (tdbQuery -strict).</TD> </TR> <TR VALIGN=TOP> @@ -2460,37 +2459,37 @@ </TD> </TR> <TR VALIGN=TOP> <TD class="nextItemButton"><A name="nextItemButton"></A><code>nextItemButton</code></TD> <TD>all</TD> <TD><!-- <I>(Jim says LOSE)</I> --> This setting lets you override the Browser wide setting to disable nextItem arrows (which is off by default). When this is on, the nextItem arrows will show up for your track. The opposite does not seem to be the case, where nextItems are enabled, but you want to exclude them from your track. </TD> </TR> <TR VALIGN=TOP> <TD class="noInherit"><A name="noInherit"></A><code>noInherit</code></TD><TD>all</TD> - <TD>This one should be - OBSOLETE but there continue to be edge cases where this setting - has some affect. Currently only 2 places this is read this:</P> + <TD><P>This one should be OBSOLETE, but there are still edge cases where it + has an effect. It is read in a few places:</P> <OL> - <LI>in hdb to makesuperChildren inherit settings from their supertrack. This is - done by putting the super settings into the child's settings hash.</LI> - <LI>tdbQuery where it appears to have no affect.</LI> + <LI>in hdb, to stop a subtrack inheriting its parent's settings. Without + it the parent settings are copied into the child's settings hash.</LI> + <LI>in hgCollection, which removes it.</LI> + <LI>in tdbQuery and raSqlQuery, where it appears to have no effect.</LI> </OL> </TD> </TR> <TR VALIGN=TOP> <TD class="nonBedFieldsLabel"><A name="nonBedFieldsLabel"></A> <code>nonBedFieldsLabel</code></TD> <TD>bigBed</TD> <TD>OBSOLETE when bigBed has "as" definitions. Instead, the extraFieldsPrint should pick up the non-standard bed fields straight from the as definition. </TD> </TR> <TR VALIGN=TOP> <TD class="notNCBI"><A name="notNCBI"></A><code>notNCBI</code></TD><TD>bed</TD> <TD>Only used in drosophila dm2/dm3. Referenced in hgc.c code.</TD> @@ -2645,40 +2644,41 @@ <TD>OBSOLETE. Not in our trackDbs (tdbQuery -strict). Specifically ifdef'd out of code with <BR><code>#define BRANEY_SAYS_USETARG_IS_OBSOLETE.</code> </TD> </TR> <TR VALIGN=TOP> <TD class="speciesTree"><A name="speciesTree"></A><code>speciesTree</code></TD><TD>wigMaf</TD> <TD>OBSOLETE. Replaced by <A onclick="return jumpTo(this);" HREF="#">treeImage</A>. Not in our trackDbs (tdbQuery -strict). Specifically ifdef'd out of code with <BR><code>#define BRANEY_SAYS_USETARG_IS_OBSOLETE.</code> </TD> </TR> <TR VALIGN=TOP> <TD class="speciesUseFile"><A name="speciesUseFile"></A> - <code>speciesUseFile <fileName></code></TD> - <TD>wigMaf</TD> + <code>speciesUseFile <cartVariableName></code></TD> + <TD>wigMaf, bigMaf</TD> <TD> <P><I>Deprecated</I></P> <P>Much more rarely used, this setting can replace <code>speciesOrder</code> and <code>speciesGroups</code>. - Set the <code>speciesUseFile</code> to a path relative to the apache cgi-bin. - The file should contain a single species name as the first word of each line.</P> + The value is not a file name. It is the name of a cart variable, and the + Browser reads the species list from the file that variable points to. + The file holds one species name as the first word of each line.</P> <P><B>Example:</B></P> - <pre> speciesUseFile speciesLists/conserved8Way.txt</pre> + <pre> speciesUseFile myTrack.speciesList</pre> </TD> </TR> <TR VALIGN=TOP> <TD class="stripPrefix"><A name="stripPrefix"></A><code>stripPrefix</code></TD><TD>bam</TD> <TD><I>Not yet implemented? Only on hg18.oneKGHighCovSeq experimental track.</I></TD> </TR> <TR VALIGN=TOP> <TD class="subgroups"><A name="subgroups"></A><code>subgroups</code></TD><TD>bed</TD> <TD>Typo: should be <A onclick="return jumpTo(this);" HREF="#">subGroups</R>.</TD> </TR> <TR VALIGN=TOP> <TD class="subTrack"><A name="subTrack"></A><code>subTrack</code></TD><TD>all</TD> <TD>OBSOLETE: replaced with <A HREF="#parent">parent</A>.</TD> </TR> <TR VALIGN=TOP> @@ -2701,33 +2701,33 @@ hg18: encodePseudogeneConsensus, encodePseudogeneYale). </TD> </TR> <TR VALIGN=TOP> <TD class="url2"><A name="url2"></A><code>url2</code></TD><TD>bed</TD> <TD>Special cased second URL used much like <A HREF="#url">url</A>. </TD> </TR> <TR VALIGN=TOP> <TD class="url2Label"><A name="url2Label"></A><code>url2Label</code></TD><TD>bed</TD> <TD>Special cased second URL label used much like <A HREF="#urlLabel">urlLabel</A>. </TD> </TR> <TR VALIGN=TOP> <TD class="useScore"><A name="useScore"></A> - <code>useScore</code></TD><TD>bed, factorSource, bed5FloatScore, broadPeak</TD> - <TD>Deprecate: replaced with <A onclick="return jumpTo(this);" HREF="#">spectrum</A> - as a slighly less obscurely named setting. + <code>useScore</code></TD><TD>bed, bigBed, bigGenePred, psl, bigPsl</TD> + <TD>Deprecated: replaced with <A onclick="return jumpTo(this);" HREF="#">spectrum</A> + as a slightly less obscurely named setting. Either name sets the same flag. </TD> </TR> <TR VALIGN=TOP> <TD class="vegaGeneIdUrl"><A name="vegaGeneIdUrl"></A><code>vegaGeneIdUrl</code></TD> <TD>genePred <I>ENCODE Gencode Only</I></TD> <TD>Special for ENCODE Gencode to generate external URL.</TD> </TR> <TR VALIGN=TOP> <TD class="vegaTranscriptIdUrl"><A name="vegaTranscriptIdUrl"></A> <code>vegaTranscriptIdUrl</code></TD> <TD>genePred <I>ENCODE Gencode Only</I></TD> <TD>Special for ENCODE Gencode to generate external URL.</TD> </TR> <TR VALIGN=TOP> <TD class="visibilityViewDefaults"><A name="visibilityViewDefaults"></A>