5a34c495d5fe1db2aab6d1785c0b0239dbed2520
angie
  Sat Aug 16 21:21:02 2025 -0700
New track type lorax: details page embeds Lorax multi-tree viewer.
The trees are subtrees of an Ancestral Recombination Graph (ARG).
This commit also adds a track with 1000 Genomes data, tgpLorax.
The details page uses an iframe to embed the Lorax viewer from
a separate server (most likely will run in a docker container on
the GB server hosts; that will make this track more complicated for
mirror operators than other tracks).

diff --git src/hg/hgTables/schema.c src/hg/hgTables/schema.c
index 31f991dcbc3..cbb2b52c879 100644
--- src/hg/hgTables/schema.c
+++ src/hg/hgTables/schema.c
@@ -712,30 +712,32 @@
     showSchemaBigBed(table, tdb);
 else if (isLongTabixTable(table))
     showSchemaLongTabix(table, tdb);
 else if (isBamTable(table))
     showSchemaBam(table, tdb);
 else if (isVcfTable(table, &isTabix))
     showSchemaVcf(table, tdb, isTabix);
 else if (isHicTable(table))
     showSchemaHic(table, tdb);
 else if (isCustomTrack(table))
     showSchemaCt(db, table);
 else if (sameWord(table, WIKI_TRACK_TABLE))
     showSchemaWiki(tdb, table);
 else if (isBigWig(database, table, curTrack, ctLookupName) && !hTableExists(db, table))
 	showSchemaBigWigNoTable(db, table, tdb);
+else if (tdb && sameString(tdb->type, "lorax"))
+    showSchemaBigBed(table, tdb);
 else
     showSchemaDb(db, tdb, table);
 }
 
 void doTableSchema(char *db, char *table, struct sqlConnection *conn)
 /* Show schema around table (which is not described by curTrack). */
 {
 struct trackDb *tdb = NULL;
 char parseBuf[256];
 dbOverrideFromTable(parseBuf, &db, &table);
 htmlOpen("Schema for %s", table);
 tdb = hTrackDbForTrack(database, table);
 showSchema(db, tdb, table);
 htmlClose();
 }