d5302bd1e0cf296545df9ad3e0d3ab57859a51eb lrnassar Fri Jul 24 17:17:17 2026 -0700 varFreqs: post-QA polish on new hostseq subtrack. refs #37882 Findings from the qa-track pass on the gnomAD-Canada HostSeq subtrack added in 99764ad55bb: - hostseq.html: fix non-ASCII byte in Alföldi (Alföldi), swap hardcoded hg38 for $db in the hgdownload URL, extend the FILTER enumeration to include InbreedingCoeff;RF (34,540 sites), add nhomalt and grpmax to the Display Conventions details-page list, and add an "Effective sample size per ancestry group" subsection warning that AF_fin (~4 individuals) and AF_mid (~72) are too sparse to be reliable population estimates. Collapsed a stray double blank line between refs. - populations.tsv, hostseqHtToVcf.py: harmonize the "oth" group label to "Remaining individuals" per the gnomAD README. The existing VCF header still shows the old label; it picks up the new one on the next re-emit (not worth re-running the 104 GB Hail table just for this). - varFreqs.ra: hostseq priority 2 -> 33 to break the sort-order collision with allofus (also at priority 2). diff --git src/hg/makeDb/scripts/varFreqs/hostseqHtToVcf.py src/hg/makeDb/scripts/varFreqs/hostseqHtToVcf.py index 091ca681503..e2fff7dd628 100644 --- src/hg/makeDb/scripts/varFreqs/hostseqHtToVcf.py +++ src/hg/makeDb/scripts/varFreqs/hostseqHtToVcf.py @@ -34,31 +34,31 @@ import sys import hail as hl # gnomAD genetic-ancestry groups present in the HostSeq release, in the order # used for the per-population INFO fields. Labels are for the VCF header only. # Note: the release uses the key "oth" for the group the README calls # "Remaining individuals (formerly Other)". POPS = [ ("afr", "African/African-American"), ("amr", "Latino/Admixed-American"), ("asj", "Ashkenazi Jewish"), ("eas", "East Asian"), ("fin", "European (Finnish)"), ("mid", "Middle Eastern"), ("nfe", "European (non-Finnish)"), - ("oth", "Remaining/Other individuals"), + ("oth", "Remaining individuals"), ("sas", "South Asian"), ] CANON = ["chr%d" % i for i in range(1, 23)] + ["chrX", "chrY", "chrM"] def find_meta_index(freq_meta, want): """Return the index i where freq_meta[i] == want, else None.""" for i, d in enumerate(freq_meta): if dict(d) == want: return i return None def main():