9b6653339725825ef07c07651fd3003ac1fd88b6
hiram
Fri May 15 12:49:43 2026 -0700
adding in html description page refs #31811
diff --git src/hg/makeDb/doc/vgp577way/mkHtml.pl src/hg/makeDb/doc/vgp577way/mkHtml.pl
new file mode 100755
index 00000000000..38a7594c2e4
--- /dev/null
+++ src/hg/makeDb/doc/vgp577way/mkHtml.pl
@@ -0,0 +1,351 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+my $argc = scalar(@ARGV);
+if ($argc != 3) {
+ printf STDERR "usage: mkHtml
+This track shows a multiple alignment of 577 vertebrate genomes made with Cactus.
+This alignment represents the largest and most taxonomically diverse vertebrate
+alignment to date, spanning mammals, birds, fishes, reptiles, and amphibians from
+the Vertebrate Genomes Project (VGP)
+and related sequencing initiatives.
+
+All alignments were performed using the Cactus toolkit, which uses a reference-free approach to construct
+genome alignments and ancestral reconstructions. Unlike traditional progressive
+alignment methods, Cactus simultaneously considers all input genomes to minimize
+reference bias and improve alignment accuracy across diverse evolutionary distances.
+
+The alignment includes:
+Description
+
+__EOF__
+
+# print clade statistics
+foreach my $cl (@cladeOrder) {
+ my $count = scalar(@{$cladeSpecies{$cl}});
+ my $displayName = cladeDisplayName($cl);
+ print "
+
+This broad phylogenetic sampling enables comparative genomics studies across +the vertebrate tree of life, supporting research in evolution, conservation, +and functional genomics. +
+__EOF__ + +#+# Downloads for data in this track are available from the directory: +#
+Pairwise alignments of each species to the reference genome are +displayed as a grayscale density plot (in pack mode) or as a wiggle (in full mode) +that indicates alignment quality. In dense display mode, alignments are shown in +grayscale using darker values to indicate higher levels of coverage. +
++Checkboxes on the track configuration page allow selection of the +species to include in the pairwise display. +Note that excluding species from the pairwise display does not alter the +underlying alignment data. +
++To view detailed information about the alignments at a specific +position, zoom the display in to 30,000 or fewer bases, then click on +the alignment. +
+ ++The Display chains between alignments configuration option +enables display of gaps between alignment blocks in the pairwise alignments in +a manner similar to the Chain track display. Missing sequence in any +assembly is highlighted in the track display by regions of yellow when zoomed +out and by Ns when displayed at base level. The following conventions are used: +
+Discontinuities in the genomic context (chromosome, scaffold or region) of the +aligned DNA in the aligning species are shown as follows: +
+When zoomed-in to the base-level display, the track shows the base +composition of each alignment. The numbers and symbols on the Gaps +line indicate the lengths of gaps in the reference sequence at those +alignment positions relative to the longest non-reference sequence. +If there is sufficient space in the display, the size of the gap is shown. +If the space is insufficient and the gap size is a multiple of 3, a +"*" is displayed; other gap sizes are indicated by "+".
+ ++The VGP 577-way alignment was created using the Cactus multiple genome alignment tool. +Cactus employs a reference-free progressive alignment strategy that constructs a series +of pairwise alignments organized according to a guide tree, then uses these to build +progressively larger alignments up to the full multiple alignment. +
+ ++Unlike traditional progressive alignment approaches, Cactus performs an additional +"bar" phase that identifies and resolves alignment conflicts by considering all +genomes simultaneously. This helps reduce reference bias and improves accuracy +across diverse evolutionary distances present in vertebrate genomes. +
+ ++The input genomes represent high-quality chromosome-level assemblies primarily +from the Vertebrate Genomes Project, with additional assemblies from NCBI RefSeq +and GenBank that meet quality standards for whole-genome alignment. +
+ ++
++ ++
+__EOF__ + +# print species table +my $rowCount = 1; +foreach my $item (@orderData) { + my $pos = sprintf("%03d", $rowCount++); + my $acc = $item->{acc}; + my $tsvKey = $item->{tsvKey}; + my $coverage = formatNumber($item->{coverage}); + + my $commonName = $comName{$tsvKey} || "unknown"; + my $sciName = $sciName{$tsvKey} || "unknown"; + my $cladeDisplay = cladeDisplayName($clade{$tsvKey} || "unknown"); + + # clean up common name - remove extra info after / + $commonName =~ s/\/.*$//; + + # create scientific name with link if available + my $sciNameDisplay = $sciName; + my $dbLink = getDbLink($acc); + if (defined($dbLink)) { + $sciNameDisplay = $sciName . " count +common +
nameclade +scientific name +
(link to browser when existing)
$acc"; + } elsif ($acc =~ /^GC[AF]_/) { + $sciNameDisplay = $sciName . "
$acc"; + } else { + $sciNameDisplay = $sciName . "
$acc"; + } + + # make reference species special + if ($acc eq $refAcc || $tsvKey eq $refAcc) { + $sciNameDisplay .= "
reference species"; + } + + print "\n"; +} + +print <<'__EOF__'; + $pos $commonName $cladeDisplay $sciNameDisplay
+Table 1. Genome assemblies included in the VGP 577-way alignment. +
+Rhie A, McCarthy SA, Fedrigo O, Damas J, Formenti G, Koren S, Uliano-Silva M, Chow W, Fungtammasan A, Kim J +et al. + +Towards complete and error-free genome assemblies of all vertebrate species. +Nature. 2021 Apr 29;592(7856):737-746. +DOI: 10.1038/s41586-021-03451-0; PMID: 33911273; +PMC: PMC8081667 +
++Paten B, Earl D, Nguyen N, Diekhans M, Zerbino D, Haussler D. + +Cactus: Algorithms for genome multiple sequence alignment. +Genome Biol. 2011 Jun 24;12(6):R63. +DOI: 10.1186/gb-2011-12-6-r63; PMID: 21703006; +PMC: PMC3218810 +
+__EOF__