6e2ce95748a6b80895027e24e6f5086890d169bc
hiram
  Tue Nov 28 14:10:37 2023 -0800
correct style statements in html elements for border and text alignment and do not declare type javascript refs #29545

diff --git src/hg/makeDb/doc/asmHubs/mkHubIndex.pl src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
index 33a275a..5493a88 100755
--- src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
+++ src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
@@ -82,89 +82,89 @@
 my $subSetMessage = "subset of $asmHubName only";
 if ($asmHubName eq "vertebrate") {
    $subSetMessage = "subset of other ${asmHubName}s only";
 }
 
 if ($vgpIndex) {
   my $vgpSubset = "(set of primary assemblies)";
   if ($orderList =~ m/vgp.alternate/) {
      $vgpSubset = "(set of alternate/haplotype assemblies)";
   } elsif ($orderList =~ m/vgp.trio/) {
      $vgpSubset = "(set of trio assemblies, maternal/paternal)";
   } elsif ($orderList =~ m/vgp.legacy/) {
      $vgpSubset = "(set of legacy/superseded assemblies)";
   }
   print <<"END";
-<!DOCTYPE HTML 4.01 Transitional>
+<!DOCTYPE HTML>
 <!--#set var="TITLE" value="VGP - Vertebrate Genomes Project assembly hub" -->
 <!--#set var="ROOT" value="../.." -->
 
 <!--#include virtual="\$ROOT/inc/gbPageStartHardcoded.html" -->
 
 <h1>VGP - Vertebrate Genomes Project assembly hub</h1>
 <p>
 <a href='https://vertebrategenomesproject.org/' target=_blank>
 <img src='VGPlogo.png' width=280 alt='VGP logo'></a></p>
 <p>
 This assembly hub contains assemblies released
 by the <a href='https://vertebrategenomesproject.org/' target=_blank>
 Vertebrate Genomes Project.</a> $vgpSubset
 </p>
 
 END
 } else {
   if ($ccgpIndex) {
     print <<"END";
-<!DOCTYPE HTML 4.01 Transitional>
+<!DOCTYPE HTML>
 <!--#set var="TITLE" value="CCGP -  California Conservation Genomics Project " -->
 <!--#set var="ROOT" value="../.." -->
 
 <!--#include virtual="\$ROOT/inc/gbPageStartHardcoded.html" -->
 
 <h1>CCGP -  California Conservation Genomics Project assembly hub</h1>
 <p>
 <a href='https://www.ccgproject.org/' target=_blank>
 <img src='CCGP_logo.png' width=280 alt='CCGP logo'></a></p>
 <p>
 This assembly hub contains assemblies released
 by the <a href='https://www.ccgproject.org/' target=_blank>
 California Conservation Genomics Project.</a>
 </p>
 
 END
   } elsif ($hprcIndex) {
     print <<"END";
-<!DOCTYPE HTML 4.01 Transitional>
+<!DOCTYPE HTML>
 <!--#set var="TITLE" value="HPRC - Human Pangenome Reference Consortium" -->
 <!--#set var="ROOT" value="../.." -->
 
 <!--#include virtual="\$ROOT/inc/gbPageStartHardcoded.html" -->
 
 <h1>HPRC - Human Pangenome Reference Consortium assembly hub</h1>
 <p>
 <a href='https://humanpangenome.org/' target=_blank>
 <img src='HPRC_logo.png' width=280 alt='HPRC logo'></a></p>
 <p>
 This assembly hub contains assemblies released
 by the <a href='https://humanpangenome.org/' target=_blank>
 Human Pangenome Reference Consortium.</a>
 </p>
 
 END
   } else {
     print <<"END";
-<!DOCTYPE HTML 4.01 Transitional>
+<!DOCTYPE HTML>
 <!--#set var="TITLE" value="$Name genomes assembly hubs" -->
 <!--#set var="ROOT" value="../.." -->
 
 <!--#include virtual="\$ROOT/inc/gbPageStartHardcoded.html" -->
 
 <h1>$Name Genomes assembly hubs</h1>
 <p>
 Assemblies from NCBI/Genbank/Refseq sources, $subSetMessage.
 </p>
 
 END
   }
 }
 
 print <<"END";
@@ -218,31 +218,31 @@
 END
 
   }
 
 print <<"END";
 The other links provide access to NCBI resources for these assemblies.
 END
 
 }	#	sub startHtml()
 
 ##############################################################################
 ### start the table output
 ##############################################################################
 sub startTable() {
 print '
-<table class="sortable" border="1">
+<table class="sortable" style="border: 1px solid black;">
 <thead style="position:sticky; top:0;"><tr><th>count</th>
   <th><span style="float: left;">common&nbsp;name&nbsp;and<br>view&nbsp;in&nbsp;UCSC&nbsp;browser</span><span style="float: right;">[IGV&nbsp;browser]</span></th>
   <th>scientific name<br>and&nbsp;data&nbsp;download</th>
   <th>NCBI&nbsp;assembly</th>
   <th>BioSample</th>
 ';
 if ("viral" ne $asmHubName) {
   printf "  <th>BioProject</th>\n";
 }
 
 printf "<th>assembly&nbsp;date,<br>source&nbsp;link</th>\n";
 
 if ("legacy" eq $asmHubName) {
   printf "<th>clade</th>\n";
 }
@@ -391,92 +391,92 @@
        chomp $asmDate;
        $bioProject = `grep ^ncbiBioProject "${configRa}" | cut -d' ' -f2-`;
        chomp $bioProject;
        $bioSample = `grep ^ncbiBioSample "${configRa}" | cut -d' ' -f2-`;
        chomp $bioSample;
        $ncbiFtpLink = "https://ftp.ncbi.nlm.nih.gov/genomes/all/$accessionDir/${accessionId}_${asmName}";
     }
     my $hubUrl = "https://hgdownload.soe.ucsc.edu/hubs/$accessionDir/$accessionId";
     my $browserName = $commonName;
     my $browserUrl = "https://genome.ucsc.edu/h/$accessionId";
     if ($asmId !~ m/^GC/) {
        $hubUrl = "https://hgdownload.soe.ucsc.edu/goldenPath/$asmId/bigZips";
        $browserUrl = "https://genome.ucsc.edu/cgi-bin/hgTracks?db=$asmId";
        $browserName = "$commonName ($asmId)";
     }
-    printf "<tr><td align=right>%d</td>\n", ++$rowCount;
+    printf "<tr><td style='text-align: right;'>%d</td>\n", ++$rowCount;
     #  common name and view in browser
     if ( $asmId =~ m/^GC/ ) {
        my $hubTxt = "${hubUrl}/hub.txt";
        my $igvUrl = "https://igv.org/app-test/?hubURL=$hubTxt";
        printf "<td><span style='float: left;'><a href='%s' target=_blank>%s</a></span><span style='float: right;'>[<a href='%s' target=_blank>IGV</a>]</span></td>\n", $browserUrl, $browserName, $igvUrl;
     } else {
-       printf "<td align=center><a href='%s' target=_blank>%s</a></td>\n", $browserUrl, $browserName;
+       printf "<td style='text-align: center;'><a href='%s' target=_blank>%s</a></td>\n", $browserUrl, $browserName;
     }
     # scientific name and data download
-    printf "    <td align=center><a href='%s/' target=_blank>%s</a></td>\n", $hubUrl, $sciName;
+    printf "    <td style='text-align: center;'><a href='%s/' target=_blank>%s</a></td>\n", $hubUrl, $sciName;
     if ($asmId !~ m/^GC/) {
-      printf "    <td align=left><a href='https://www.ncbi.nlm.nih.gov/assembly/%s_%s/' target=_blank>%s_%s</a></td>\n", $gcPrefix, $asmAcc, $accessionId, $asmName;
+      printf "    <td style='text-align: left;'><a href='https://www.ncbi.nlm.nih.gov/assembly/%s_%s/' target=_blank>%s_%s</a></td>\n", $gcPrefix, $asmAcc, $accessionId, $asmName;
     } else {
-      printf "    <td align=left><a href='https://www.ncbi.nlm.nih.gov/assembly/%s/' target=_blank>%s</a></td>\n", $accessionId, $asmId;
+      printf "    <td style='text-align: left;'><a href='https://www.ncbi.nlm.nih.gov/assembly/%s/' target=_blank>%s</a></td>\n", $accessionId, $asmId;
     }
     # viruses do not appear to have BioSample
     if ($asmHubName ne "viral") {
       if ( $bioSample ne "notFound" ) {
-        printf "    <td align=left><a href='https://www.ncbi.nlm.nih.gov/biosample/?term=%s' target=_blank>%s</a></td>\n", $bioSample, $bioSample;
+        printf "    <td style='text-align: left;'><a href='https://www.ncbi.nlm.nih.gov/biosample/?term=%s' target=_blank>%s</a></td>\n", $bioSample, $bioSample;
       } else {
-      printf "    <td align=left>n/a</td>\n";
+      printf "    <td style='text-align: left;'>n/a</td>\n";
       }
     }
     # one broken assembly_report
     $bioProject= "PRJEB25768" if ($accessionId eq "GCA_900324465.2");
     if ($bioProject eq "notFound") {
-      printf "    <td align=left>%s</td>\n", $bioProject;
+      printf "    <td style='text-align: left;'>%s</td>\n", $bioProject;
     } else {
-      printf "    <td align=left><a href='https://www.ncbi.nlm.nih.gov/bioproject/?term=%s' target=_blank>%s</a></td>\n", $bioProject, $bioProject;
+      printf "    <td style='text-align: left;'><a href='https://www.ncbi.nlm.nih.gov/bioproject/?term=%s' target=_blank>%s</a></td>\n", $bioProject, $bioProject;
     }
-    printf "    <td align=center><a href='%s' target=_blank>%s</a></td>\n", $ncbiFtpLink, $asmDate;
+    printf "    <td style='text-align: center;'><a href='%s' target=_blank>%s</a></td>\n", $ncbiFtpLink, $asmDate;
     if ("legacy" eq $asmHubName) {
       if (! defined($cladeId{$asmId})) {
          printf STDERR "# ERROR: missing clade definition for %s\n", $asmId;
          exit 255;
       } else {
-         printf "    <td align=center>%s</td>\n", $cladeId{$asmId};
+         printf "    <td style='text-align: center;'>%s</td>\n", $cladeId{$asmId};
       }
     }
     if ($ccgpIndex) {
       my $sciNameUnderscore = $sciName;
       $sciNameUnderscore =~ s/ /_/g;
       $sciNameUnderscore = "Strigops_habroptilus" if ($sciName =~ m/Strigops habroptila/);
 
       if (! defined($extraClass{$asmId})) {
          printf STDERR "# ERROR: no 'class' defined for CCGP assembly %s\n", $asmId;
          exit 255;
       }
 # it isn't clear how we can get these names
 # https://www.ccgproject.org/species/corynorhinus-townsendii-townsends-big-eared-bat
-      printf "    <td align=center><a href='https://www.ccgproject.org/species/%s/' target=_blank>%s</a></td>\n", $sciNameUnderscore, $extraClass{$asmId}
+      printf "    <td style='text-align: center;'><a href='https://www.ccgproject.org/species/%s/' target=_blank>%s</a></td>\n", $sciNameUnderscore, $extraClass{$asmId}
     } elsif ($vgpIndex) {
       my $sciNameUnderscore = $sciName;
       $sciNameUnderscore =~ s/ /_/g;
       $sciNameUnderscore = "Strigops_habroptilus" if ($sciName =~ m/Strigops habroptila/);
 
       if (! defined($extraClass{$asmId})) {
          printf STDERR "# ERROR: no 'class' defined for VGP/CCGP assembly %s\n", $asmId;
          exit 255;
       }
-      printf "    <td align=center><a href='https://vgp.github.io/genomeark/%s/' target=_blank>%s</a></td>\n", $sciNameUnderscore, $extraClass{$asmId}
+      printf "    <td style='text-align: center;'><a href='https://vgp.github.io/genomeark/%s/' target=_blank>%s</a></td>\n", $sciNameUnderscore, $extraClass{$asmId}
     }
     printf "</tr>\n";
   }
 }	#	sub tableContents()
 
 ##############################################################################
 ### main()
 ##############################################################################
 
 # if there is a 'promoted' list, it has been taken out of the 'orderList'
 # so will need to stuff it back in at the correct ordered location
 my %promotedList;	# key is asmId, value is common name
 my $promotedList = dirname(${orderList}) . "/promoted.list";
 my @promotedList;	# contents are asmIds, in order by lc(common name)
 my $promotedIndex = -1;	# to walk through @promotedList;