c9446936b026a803d97e7f5128404a327829fe2e
max
  Sun Jul 19 00:01:22 2026 -0700
ClinVar Mapped: add Pfam-domain mapping method

Maps ClinVar coding variants through Pfam protein domains as a second method
under the clinvarMapped container. Each Pfam family's profile HMM gives a shared
coordinate, so a variant inside a domain is projected to the residue in the same
HMM match-state column in every other MANE Select gene carrying that domain, then
mapped back to that gene's genomic codon. This links genes that share a domain
without being paralogs (e.g. the SCN sodium channels and the CACNA1 calcium
channels via Ion_trans). Each variant is shown at its 25 most conserved
equivalents. Uses Pfam-A 38.2. Adds two alpha subtracks (Pfam Domain Variants,
Pfam Domains), the hmmsearch/hmmalign build scripts, autoSql, makeDoc and
description page, refs #37883

diff --git src/hg/makeDb/scripts/clinvarMapped/clinvarMappedPfamAln.as src/hg/makeDb/scripts/clinvarMapped/clinvarMappedPfamAln.as
new file mode 100644
index 00000000000..c729a689a21
--- /dev/null
+++ src/hg/makeDb/scripts/clinvarMapped/clinvarMappedPfamAln.as
@@ -0,0 +1,24 @@
+table clinvarMappedPfamAln
+"Pfam domain instances on MANE Select genes (evidence for the Pfam variant projection)"
+    (
+    string chrom;         "Reference sequence chromosome"
+    uint   chromStart;    "Domain footprint start"
+    uint   chromEnd;      "Domain footprint end"
+    string name;          "Pfam domain name"
+    uint   score;         "Domain bit score scaled 0-1000"
+    char[1] strand;       "Gene strand"
+    uint   thickStart;    "Coding start (equal to chromStart)"
+    uint   thickEnd;      "Coding end (equal to chromEnd)"
+    uint   reserved;      "Display color"
+    int    blockCount;    "Number of exon blocks the domain spans"
+    int[blockCount] blockSizes;  "Block sizes"
+    int[blockCount] chromStarts; "Block starts relative to chromStart"
+    string gene;          "Gene|Gene symbol"
+    string pfamId;        "Pfam domain|Pfam domain name"
+    string pfamAcc;       "Pfam accession|Pfam family accession"
+    uint   aaStart;       "Protein start|First residue of the domain in the protein"
+    uint   aaEnd;         "Protein end|Last residue of the domain in the protein"
+    uint   hmmStart;      "Domain column start|First HMM match-state column covered"
+    uint   hmmEnd;        "Domain column end|Last HMM match-state column covered"
+    string iEval;         "i-E-value|Independent E-value of the domain hit"
+    )