29af14b47208040441ab4ff7acf51aac71cad4e2 lrnassar Thu Sep 17 21:58:18 2026 -0700 Adding MaveMD track, clinically calibrated multiplexed variant effect measurements on hg38. refs #37800 MaveMD is a curated collection inside MaveDB holding the score sets with clinical relevance, restricted to genes with a moderate or stronger gene-disease association. Data come from the MaveDB API rather than the Zenodo snapshots, at the request of the MaveDB team, who also set the request pacing the fetch script follows. Two views under a new phenDis container. mavemdVar draws one item per measured variant per score set, carrying the assay score, the functional class, the ACMG/AMP functional evidence code and strength where the score set is calibrated, the assay metadata, and matching ClinVar and gnomAD annotations. mavemdMap draws each score set as a variant effect map, one column per amino acid position and one row per substitution, reusing Jonathan's heatmap display from the MaveDB track. MaveDB resolves about a third of the collection to the genome and the rest only to a protein sequence, so variants are placed from the genomic HGVS term where one exists, otherwise by projecting the protein term onto its codon through ncbiRefSeqLink and ncbiRefSeqCurated for RefSeq accessions or the GENCODE tables for Ensembl ones, otherwise by running the submitted transcript term through hgvsToVcf. The projection is cross-checked against the variants carrying both coordinate systems and the build aborts if they disagree beyond a threshold. Codons split across an exon junction are written as BED12 with the two real blocks. Haplotypes cannot be given a single position and are excluded, with every dropped measurement counted by reason in the makeDoc. Also adds reciprocal relatedTracks entries between mavedb and mavemd. Gated alpha pending QA. diff --git src/hg/makeDb/scripts/mavemd/mavemdHeatmap.as src/hg/makeDb/scripts/mavemd/mavemdHeatmap.as new file mode 100644 index 00000000000..1781fc72fb7 --- /dev/null +++ src/hg/makeDb/scripts/mavemd/mavemdHeatmap.as @@ -0,0 +1,36 @@ +table mavemdHeatmap +"MaveMD variant effect maps, one heatmap per score set, colored by clinical evidence" + ( + string chrom; "Chromosome" + uint chromStart; "Start position in chromosome" + uint chromEnd; "End position in chromosome" + string name; "Gene and score set" + uint score; "Score 0-1000 (fraction of measured substitutions with pathogenic evidence)" + char[1] strand; "+ or -" + uint thickStart; "Same as chromStart" + uint thickEnd; "Same as chromEnd" + uint reserved; "Unused" + int blockCount; "Number of amino acid positions covered (heatmap columns)" + int[blockCount] blockSizes; "Block sizes (codon width, clamped to avoid overlap)" + int[blockCount] chromStarts; "Block starts relative to chromStart" + int _rowCount; "Number of heatmap rows" + string[_rowCount] _labels; "Row labels|Single-letter amino acid codes by class, then * for nonsense" + lstring _colorBounds; "Comma-separated thresholds for the fallback color spectrum" + lstring _colorValues; "Comma-separated colors for each threshold" + lstring _scoreArray; "Row-major cell colors; empty cell = not measured" + lstring _labelArray; "Row-major mouseover labels" + lstring legend; "Legend" + string scoreSet; "Score set" + lstring scoreSetTitle; "Score set title" + string assayMethod; "Assay method|What the assay measured" + string assayModel; "Assay model system" + lstring assayMechanism; "Molecular mechanism assessed" + string libraryMethod; "Variant library method|An in vitro construct library cannot detect effects on splicing or nonsense-mediated decay" + string gene; "Gene" + string calibration; "Calibration|The calibration whose calls color the cells" + string calibrationSource; "Calibration chosen by|How the displayed calibration was picked" + string researchUseOnly; "Research use only|Whether that calibration is marked research use only" + string variantCount; "Variants shown|Measured substitutions drawn in this map" + lstring publication; "Publication" + lstring mavedbUrl; "MaveDB record" + )