1ae12a1d8f166902e7697634f6a209fe15a70bf2
hiram
  Wed Oct 4 14:48:52 2023 -0700
adding outlink to IGV browser refs #29545

diff --git src/hg/makeDb/doc/asmHubs/mkHubIndex.pl src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
index e72a403..0a1bbc1 100755
--- src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
+++ src/hg/makeDb/doc/asmHubs/mkHubIndex.pl
@@ -165,30 +165,38 @@
 
 END
   }
 }
 
 print <<"END";
 <h3>How to view the assembly of interest</h3>
 <p>
 The links to the genome browser in the table below will attach that
 one specific assembly to the genome browser.  Use the links in
 the column labeled <b>common name and view in browser</b> to view that
 assembly in the genome browser.
 </p>
 
 <h3>See also: <a href='asmStats.html'>assembly statistics</a>,&nbsp;<a href='trackData.html'>track statistics</a> <== additional information for these assemblies.</h3><br>
+
+<h3>Cite reference: To reference these resources in publications, please credit:</h3>
+<p>
+Clawson, H., Lee, B.T., Raney, B.J. et al.
+"<b>GenArk: towards a million UCSC genome browsers</b>.<br><em>Genome Biol</em> 24, 217 (2023).
+<a href='https://doi.org/10.1186/s13059-023-03057-x' target=_blank>
+https://doi.org/10.1186/s13059-023-03057-x</a>
+</p>
 END
 
 if ($vgpIndex) {
   print <<"END";
 <h3>Listings:</h3>&nbsp;&nbsp;<b>(from RepeatModeler masking)</b>
 <p>
 <ul>
 <li><a href='modeler.families.urls.txt' target=_blank>families fasta.gz</a> list of URLs for the custom library created by the RepeatModeler run</li>
 <li><a href='modeler.2bit.urls.txt' target=_blank>assembly 2bit file list</a> of URLs as masked with the RepeatModeler + <b>TRF/simpleRepeats</b> with period of 12 or less</li>
 <li><a href='rmod.log.file.list.txt' target=_blank>the rmod.log files from each RepeatModeler run</a></li>
 <li><a href='default.twoBit.file.list.txt' target=_blank>default GenArk 2bit file list</a> of URLs as masked with the ordinary RepeatMasker + <b>TRF/simpleRepeats</b> with period of 12 or less</li>
 <li><a href='modeler.table.txt' target=_blank>this data table in tab-separated</a> file text format (including TBD not working yet, or in VGP collection but not on the alignment list)</li>
 </ul>
 </p>
 END
@@ -212,31 +220,31 @@
   }
 
 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">
 <thead style="position:sticky; top:0;"><tr><th>count</th>
-  <th>common&nbsp;name&nbsp;and<br>view&nbsp;in&nbsp;browser</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 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";
 }
 
 if ($ccgpIndex) {
@@ -384,31 +392,39 @@
        $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;
+    #  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;
+    }
+    # scientific name and data download
     printf "    <td 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;
     } else {
       printf "    <td 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;
       } else {
       printf "    <td align=left>n/a</td>\n";
       }
     }
     # one broken assembly_report