2c0adaa48b2f9a14109c3f90713405f259d920bc
max
  Wed Sep 9 06:08:46 2026 -0700
hg38: pcLAI local ancestry track for HPRC Release 2 haplotypes

Point cloud local ancestry inference (pcLAI) for HPRC Release 2, projected
onto GRCh38: a composite with one subtrack per haplotype, both haplotypes of
231 samples plus CHM13, 463 in all. 11,936,603 windows, autosomes only, no
windows dropped from the source files.

Each window carries the (PC1,PC2) coordinate pcLAI predicts for it, the
discretized ancestry centroid, and a confidence score. The details page draws
the window's position against the 1000 Genomes reference panel that defines
the space, via detailsScript/scatterPlot; metaDataUrl is what lets hgTrackUi
serve that panel file for a native (non-hub) track.

thickStart is one base before chromStart in 54,811 of the windows (0.46%),
against the format the pcLAI authors document, so bedToBigBed rejects it.
Neither thick column carries information here, so both are set to the item
bounds rather than dropping those windows.

Testing only for now, alpha, no ticket yet; a ticket may follow if this
becomes a real track. The makeDoc carries the detail in the meantime,
including what was deliberately left undone.

diff --git src/hg/makeDb/scripts/hprcPclai/hprcPclai.as src/hg/makeDb/scripts/hprcPclai/hprcPclai.as
new file mode 100644
index 00000000000..185487c36aa
--- /dev/null
+++ src/hg/makeDb/scripts/hprcPclai/hprcPclai.as
@@ -0,0 +1,17 @@
+table hprcPclai
+"HPRC point cloud local ancestry inference (pcLAI), GRCh38 coordinates"
+    (
+    string chrom;      "Reference sequence chromosome or scaffold"
+    uint   chromStart; "Start position in chromosome"
+    uint   chromEnd;   "End position in chromosome"
+    string name;       "Unused (values are shown on mouseover)"
+    uint   score;      "Confidence score (0-1000, higher is more confident)"
+    char[1] strand;    "+ or -"
+    uint   thickStart; "Start of thick drawing"
+    uint   thickEnd;   "End of thick drawing"
+    uint   reserved;   "Item color (R,G,B)"
+    string haplotype;  "Sample and haplotype this window comes from"
+    string window;     "Local ancestry window id (~1000 SNPs)"
+    string pca;        "Window PCA|PCA-space coordinates (PC1,PC2) predicted for this window"
+    string centroid;   "Ancestry centroid|Discretized pcLAI ancestry of this window, given as the (PC1,PC2) centroid of that ancestry cluster"
+    )