3d194de4d74f67c1a453035e20c4769d88bec4c4
lrnassar
Mon Jul 13 12:52:57 2026 -0700
Order popEVE heatmap amino acid rows by class to match the MaveDB track. refs #37791
Change the heatmap row order from alphabetical to physicochemical-amino-acid-class order
(A V L I M F Y W R H K D E S T N Q G C P), matching the MaveDB Experiments heatmap so the
tracks can be compared row-for-row. Rebuilds popEve.bb; updates the makedoc, the AutoSql
row label comment, and the description page.
diff --git src/hg/makeDb/doc/hg38/popEve.txt src/hg/makeDb/doc/hg38/popEve.txt
index 10d67bb13ef..e1cd8256d86 100644
--- src/hg/makeDb/doc/hg38/popEve.txt
+++ src/hg/makeDb/doc/hg38/popEve.txt
@@ -11,31 +11,32 @@
# coordinates plus INFO fields protein (RefSeq NP_), gene, mutant (e.g. E773D),
# gap_frequency, popEVE, pop-adjusted_EVE, pop-adjusted_ESM1v, EVE, ESM1v.
# Source size 1476124568 bytes, Last-Modified 2025-10-29.
mkdir -p /hive/data/outside/popEve
mkdir -p /hive/data/genomes/hg38/bed/popEve/sorttmp
cd /hive/data/genomes/hg38/bed/popEve
ln -s /hive/data/outside/popEve input
cd /hive/data/outside/popEve
wget -nv https://data.evemodel.org/popeve/v1.1/downloads/grch38_popEVE_ukbb_20250715.vcf.gz
# The combined VCF is one position-sorted file with all proteins interleaved (overlapping
# genes share positions), so records are grouped by protein on disk before conversion.
# Each protein becomes one heatmap BED12+ entry: columns = amino acid positions at codon
-# genomic coordinates, rows = 20 standard amino acids (A-Y). Multiple codon changes encoding
+# genomic coordinates, rows = 20 standard amino acids ordered by class (A V L I M F Y W R H
+# K D E S T N Q G C P), matching the MaveDB heatmap track. Multiple codon changes encoding
# the same amino acid substitution carry identical popEVE scores and are deduplicated.
# Wildtype cells are empty. popEVE lists only positions carrying a missense alt, so a codon
# may have only 2 of its 3 genomic positions; block sizes are clamped (min(3, gap-to-next))
# so adjacent codon blocks cannot overlap, which keeps the file valid for bedToBigBed.
# Strand is taken from NCBI RefSeq (the VCF has no strand field), cross-checked against the
# strand inferred from genomic-vs-protein-position direction.
# Color: global cross-gene gradient keyed to raw popEVE; interior anchors at the published
# severe (-5.056) and moderate (-4.617) cutoffs and the proteome median (~-3.5); outer
# saturation anchors at the 0.5th / 99.5th percentiles of the proteome-wide distribution.
# Records with popEVE=nan (e.g. start-codon M1 variants) are skipped.
cd /hive/data/genomes/hg38/bed/popEve
# Full build (download already done): strand map, extract, color anchors, sort, convert,
# filter to chrom.sizes, bigBed. See runBuild.sh in this directory.
bash runBuild.sh
@@ -58,22 +59,22 @@
# substitutions are scored; each heatmap column (codon) therefore has ~6-9 of 19 rows
# filled. This is expected and sparser than the EVE track (which scores all 19).
# - The heatmap renderer parses the score array (chopCommas, keeps trailing empty) and the
# label array (chopByCharRespectDoubleQuotesKeepEmpty, drops one trailing empty)
# differently. When the last cell (row Y, last column) is empty the counts disagree and
# the track aborts; the converter sets a non-empty placeholder label on that one trailing
# cell (its score stays empty so the cell is uncolored). trailingFix count below.
# Build results:
# records extracted: 66,400,085 (nan skipped: 15,156)
# color anchors: loAnchor=-5.742 hiAnchor=-2.287 (popEVE p0.5 / p99.5; median -3.358)
# proteins: 18,968 (18,343 distinct gene symbols; remainder are RefSeq isoforms)
# amino-acid positions: 10,114,809; bases covered: 886,638,890
# strand: 0 inferred-vs-RefSeq mismatches; 25 proteins not in the RefSeq map (strand from
# coordinate inference); 0 with no strand signal; 0 dropped by chrom.sizes filter
-# trailingFix (trailing empty cell relabeled): 16,571 proteins
+# trailingFix (trailing empty cell relabeled): 15,555 proteins
# mouseover: HTML multi-line labels (
/); component scores rounded to 3 dp;
# missing/nan components shown as NA
-# popEve.bb size: 1,593,137,151 bytes
+# popEve.bb size: 1,592,586,266 bytes
mkdir -p /gbdb/hg38/popEve
ln -sf /hive/data/genomes/hg38/bed/popEve/popEve.bb /gbdb/hg38/popEve/popEve.bb