5fe93cbef0d7692552e37e62bbf394cc7d222a28
max
  Thu Jul 16 00:32:55 2026 -0700
ClinVar Mapped track: map ClinVar coding variants through paralog alignments

#Preview2 week - bugs introduced now will need a build patch to fix
Adds the clinvarMapped composite (hg38) with two subtracks:
- clinvarMappedParalog: every protein-changing ClinVar variant projected onto
the equivalent (aligned) residue of each of its gene's paralogs
- clinvarMappedParalogAln: the pairwise protein alignments used to do the
mapping, as bigPsl, so the evidence for each projection can be inspected

Pipeline: paralog pairs from Ensembl BioMart, one representative transcript per
gene from MANE Select, pairwise global protein alignment (BLOSUM62) for pairs at
>=20% identity, variants projected residue-to-residue and mapped back to the
paralog's genomic codon. Colors and filters mirror the ClinVar track; the map
track is filterable by source gene, classification, review stars, residue
conservation and percent identity.

refs #37883

diff --git src/hg/makeDb/scripts/clinvarMapped/clinvarMappedParalog.as src/hg/makeDb/scripts/clinvarMapped/clinvarMappedParalog.as
new file mode 100644
index 00000000000..50bdb2a09ee
--- /dev/null
+++ src/hg/makeDb/scripts/clinvarMapped/clinvarMappedParalog.as
@@ -0,0 +1,30 @@
+table clinvarMappedParalog
+"ClinVar variants projected onto paralogous genes at the aligned residue"
+    (
+    string chrom;         "Reference sequence chromosome"
+    uint   chromStart;    "Start position of the equivalent codon in this gene"
+    uint   chromEnd;      "End position of the equivalent codon in this gene"
+    string name;          "Source gene and variant"
+    uint   score;         "Review status scaled 0-1000 (stars x 250)"
+    char[1] strand;       "Strand of this (paralog) gene"
+    uint   thickStart;    "Coding start (equal to chromStart)"
+    uint   thickEnd;      "Coding end (equal to chromEnd)"
+    uint   reserved;      "Color (itemRgb) by clinical significance of the source variant"
+    int    blockCount;    "Number of codon blocks (2 if the codon spans an intron)"
+    int[blockCount] blockSizes;  "Codon block sizes"
+    int[blockCount] chromStarts; "Codon block starts relative to chromStart"
+    string sourceGene;    "Source gene|Gene the ClinVar variant is annotated in"
+    string sourceVariant; "Source variant|ClinVar protein change in the source gene"
+    uint   sourceAaPos;   "Source residue #|Residue position in the source gene"
+    char[1] srcRes;       "Source residue|Reference residue in the source gene"
+    char[1] thisRes;      "This-gene residue|Aligned residue in this paralog"
+    string residueMatch;  "Residue match|identical, similar or different vs the source residue"
+    string clinSign;      "Clinical significance|ClinVar significance of the source variant"
+    string clinSignCode;  "Significance code"
+    uint   reviewStars;   "Review stars|ClinVar review status, 0-4 stars"
+    string molConseq;     "Consequence|Molecular consequence in the source gene"
+    float  bioPercId;     "Ensembl %id|Ensembl paralog percent identity"
+    float  alnPercId;     "Alignment %id|Pairwise alignment percent identity"
+    string vcvId;         "ClinVar VCV|ClinVar variant accession"
+    string sourceLocus;   "Source position|Position of the source variant on hg38"
+    )