730f1cb766d7ab79175fc0c27f88e8139cdb9a60
hiram
  Fri Sep 20 12:05:47 2024 -0700
customized text for index page on BRC project (these custom headers should instead be header.html in the project source directories) and now sending out assemblyList.json file refs #34337

diff --git src/hg/makeDb/doc/asmHubs/mkHubIndex.pl src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
index e08ae56..529a5b3 100755
--- src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
+++ src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
@@ -26,33 +26,35 @@
 
 my $Name = shift;
 my $asmHubName = shift;
 my $defaultAssembly = shift;
 my $inputList = shift;
 my $orderList = $inputList;
 if ( ! -s "$orderList" ) {
   $orderList = $toolsDir/$inputList;
 }
 my %cladeId;	# value is asmId, value is clade, useful for 'legacy' index page
 
 printf STDERR "# mkHubIndex %s %s %s %s\n", $Name, $asmHubName, $defaultAssembly, $orderList;
 my $hprcIndex = 0;
 my $ccgpIndex = 0;
 my $vgpIndex = 0;
+my $brcIndex = 0;
 $hprcIndex = 1 if ($Name =~ m/hprc/i);
 $ccgpIndex = 1 if ($Name =~ m/ccgp/i);
 $vgpIndex = 1 if ($Name =~ m/vgp/i);
+$brcIndex = 1 if ($Name =~ m/brc/i);
 my %extraClass;	# key is asmId, value is taxon 'class' as set by VGP project
 if ($vgpIndex || $ccgpIndex) {
   my $whichIndex = "vgp";
   $whichIndex = "ccgp" if ($ccgpIndex);
   my $extraClass = "$home/kent/src/hg/makeDb/doc/${whichIndex}AsmHub/${whichIndex}.taxId.asmId.class.txt";
   open (FH, "<$extraClass") or die "can not read $extraClass";
   while (my $line = <FH>) {
     my ($taxId, $asmId, $class) = split('\t', $line);
     $extraClass{$asmId} = $class;
   }
   close (FH);
 }
 
 my @orderList;	# asmId of the assemblies in order from the *.list files
 # the order to read the different .list files:
@@ -138,30 +140,54 @@
 <!--#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
+  } elsif ($brcIndex) {
+    print <<"END";
+<!DOCTYPE HTML>
+<!--#set var="TITLE" value="BRC - Bioinformatics Research Center" -->
+<!--#set var="ROOT" value="../.." -->
+
+<!--#include virtual="\$ROOT/inc/gbPageStartHardcoded.html" -->
+
+<h1>BRC - Bioinformatics Research Center</h1>
+<p>
+<a href='https://brc-analytics.org/' target=_blank>
+<img src='BRClogo.svg' height=26 alt='BRC logo'></a></p>
+<p>
+This site will provide data access to genomes and annotations for all
+eukaryotic pathogens, host taxa, and vectors previously served by
+VEuPathDB. This is a part of the BRC Analytics project funded by the NIAID.
+For more information, see also:
+<a href=' https://brc-analytics.org' target=_blank>brc-analytics.org</a>.
+Access this assembly data in
+<a href='assemblyList.json' target=_blank rel='noopener noreferrer' aria-label='Download the assembly data in JSON format'>
+JSON format</a>.
+</p>
+
+END
   } else {
     print <<"END";
 <!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
   }
@@ -397,31 +423,31 @@
        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 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";
+       my $igvUrl = "https://igv.org/app/?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 style='text-align: center;'><a href='%s' target=_blank>%s</a></td>\n", $browserUrl, $browserName;
     }
     # scientific name and data download
     printf "    <td style='text-align: center;'><a href='%s/' target=_blank>%s</a></td>\n", $hubUrl, $sciName;
     if ($asmId !~ m/^GC/) {
       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 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 style='text-align: left;'><a href='https://www.ncbi.nlm.nih.gov/biosample/?term=%s' target=_blank>%s</a></td>\n", $bioSample, $bioSample;