a213555a50875b9a04c3bb4a267a54bea2dd427f
hiram
  Thu Aug 29 14:02:39 2024 -0700
now with proper interface to assembly status, refSeq category, assembly level refs #32596

diff --git src/hg/htdocs/assemblySearch.html src/hg/htdocs/assemblySearch.html
index b57f0a5..c07eb24 100755
--- src/hg/htdocs/assemblySearch.html
+++ src/hg/htdocs/assemblySearch.html
@@ -27,61 +27,91 @@
 <li> - (minus) sign before <b>-word</b> to exclude word from result</li>
 <li> * (asterisk) character at end of <b>word*</b> to make the word be a prefix search</li>
 <li> enclose "words in quotes" to form a phrase for the search</li>
 <li> all searches are case insensitive</li>
 <li> single word searches become prefix searches if the word does not match by itself </li>
 <!-- javaScript will add an extra element in debug mode
      to show the API reference -->
 </ol>
 </span> <!-- a hidden span for a pop-up help message -->
            </span>
         <!-- URL argument maxItemsOutput to html page can change this -->
         <input type="hidden" id="maxItemsOutput" value="500">
         </div> <!-- container div for search box and submit/clear buttons -->
         <div id="advancedSearchOptions" class="radioGroupContainer">
            <div class="radioGroup">
+             <fieldset class="colVertical">
+             <legend>assembly view/request</legend>
            <label><input type="checkbox" id="mustExist" onclick="atLeastOneCheckBoxOn(this)" name="mustExist" value="mustExist" checked>
-              show assemblies in available browsers
+              in available browsers
            </label><br>
            <label><input type="checkbox" id="notExist" onclick="atLeastOneCheckBoxOn(this)" name="notExist" value="notExist" checked>
-              show assemblies that can be requested
+              can be requested
            </label>
+             </fieldset>
            </div>
            <div class="radioGroup">
-              <label><input type="checkbox" name="refSeqLatest" value="refSeqLatest" id="refSeqLatest"> must also be RefSeq '<em>latest</em>' status</label>
-              <label><input type="checkbox" name="refSeqRepresentative" value="refSeqRepresentative" id="refSeqRepresentative"> must also be RefSeq '<em>representative</em>' status</label>
+              <fieldset class="colVertical">
+              <legend>assembly status</legend>
+              <label><input type="radio" name="asmStatus" value="latest" id="statusLatest"> latest</label>
+              <label><input type="radio" name="asmStatus" value="replaced" id="statusReplaced"> replaced</label>
+              <label><input type="radio" name="asmStatus" value="suppressed" id="statusSuppressed"> suppressed</label>
+              <label><input type="radio" name="asmStatus" value="statusAny" id="statusAny" checked> any assembly status</label>
+              </fieldset>
            </div>
            <div class="radioGroup">
+              <fieldset class="colVertical">
+              <legend>RefSeq category</legend>
+              <label><input type="radio" name="refSeqCategory" value="reference" id="refSeqReference"> reference'</label>
+              <label><input type="radio" name="refSeqCategory" value="representative" id="refSeqRepresentative"> representative' category</label>
+              <label><input type="radio" name="refSeqCategory" value="refSeqAny" id="refSeqAny" checked> any RefSeq category</label>
+              </fieldset>
+           </div>
+           <div class="radioGroup">
+              <fieldset class="colVertical">
+              <legend>assembly level</legend>
+              <label><input type="radio" name="asmLevel" value="complete" id="asmLevelComplete"> complete</label>
+              <label><input type="radio" name="asmLevel" value="chromosome" id="asmLevelChromosome"> chromosome</label>
+              <label><input type="radio" name="asmLevel" value="scaffold" id="asmLevelScaffold"> scaffold</label>
+              <label><input type="radio" name="asmLevel" value="contig" id="asmLevelContig"> contig</label>
+              <label><input type="radio" name="asmLevel" value="asmLevelAny" id="asmLevelAny" checked> any level assembly</label>
+              </fieldset>
+           </div>
+           <div class="radioGroup">
+              <fieldset class="colVertical">
               <label><input type="radio" name="wordMatch" value="anyWord" id="anyWord"> may match any word</label>
               <label><input type="radio" name="wordMatch" value="allWords" id="allWords" checked> must match all words</label>
+              </fieldset>
            </div>
         </div>	<!-- the radioGroupContainer -->
         </div> <!-- the entire form element -->
     </form>
     <div>	<!-- search results status line -->
     <span id="resultCounts">&nbsp;</span>
     <span id="measureTiming">- <em>search time: </em><span id="elapsedTime">0 milliseconds</span>.</span>
     </div>	<!-- search results status line -->
     <hr>
     <table id="dataTable" class="dataTable sorttable fifthRowHighlight" style="border: 1px solid black; display:block; max-width:1300px; position:sticky; top:0;">
         <colgroup id='colDefinitions'>
           <col id='viewReq' style="width: 10%">
           <col id='comName' style="width: 10%">
           <col id='sciName' style="width: 10%">
-          <col id='asmId' style="width: 20%">
+          <col id='asmId' style="width: 15%">
+          <col id='year' style="width: 5%">
           <col id='clade' style="width: 8%">
-          <col id='description' style="width: 42%">
+          <col id='description' style="width: 30%">
+          <col id='status' style="width: 12%">
         </colgroup>
         <thead style="position:sticky; top:0; border:1px solid #ddd; width:100%" id="tableHeader">
          <!-- table header rows are filled in by javaScript since they can
               be altered by the sorttable system and need to be refreshed -->
          <tr><td>&nbsp;</td></tr>
         </thead>
         <tbody id="tableBody"></tbody>
     </table>
     </hr>
     <div id="metaData">
     </div>
     </hr>
 
 
 <hr />