5d23e68307f894bdcd024c138adc588591eceaaa
lrnassar
Mon Jun 29 12:11:44 2026 -0700
Polish TAD description pages and bold the track mouseOvers. refs #21599
Description pages (tads.html on hg19, hg38, mm10, mm39): add a Methods resolution
summary table (track / feature / calling method / resolution), placed at the end of
the Description section; add GitHub source links (makedoc, build scripts, trackDb.ra)
to the Methods section; sentence-case the "How to use these tracks" heading.
mouseOvers: wrap the field labels in <b> across all subtracks - Dixon ("Cell type:"),
Schmitt ("Sample:"), ENCODE ("Biosample:" / "Arrowhead corner score:", now on separate
lines), 3D Genome Browser ("3DGB TAD domain:"), and McArthur boundary stability
("Boundary recurrent:" / "Percentile:"). Updated the ENCODE and 3D Genome Browser build
scripts so regenerated stanzas carry the same formatting.
diff --git src/hg/makeDb/scripts/tad/buildTads3dgb.py src/hg/makeDb/scripts/tad/buildTads3dgb.py
index d0861fbd556..fc582ebdc54 100644
--- src/hg/makeDb/scripts/tad/buildTads3dgb.py
+++ src/hg/makeDb/scripts/tad/buildTads3dgb.py
@@ -130,31 +130,31 @@
cond = {"normal": "Normal", "cancer": "Cancer"}.get(r.get("normal_cancer",""), "Unknown")
treat = {"baseline": "Baseline", "pert": "Perturbation"}.get(r.get("baseline_pert",""), "Unknown")
prov = {"have": "Also in another UCSC track", "novel": "Novel to browser"}.get(r.get("have_novel",""), "Unknown")
yr = r.get("year") or a.get("year", "") # classification (human) or API (mouse)
try:
year = str(int(float(yr))) if yr else "Unknown"
except ValueError:
year = "Unknown"
study = clean(r.get("refNo") or a.get("refNo")) or "Unknown"
desc = clean(a.get("description")) or name
# display name: underscores -> spaces, sentence-cased (logic still keys on id/name)
dname = scap(name.replace("_", " "))
short = scap(shortlab(name))
long = "%s TAD domains (%s, %s, %s)" % (dname, organ, assay, study)
- mouse = "3DGB TAD domain: %s (%s, %s)" % (dname, organ, assay)
+ mouse = "<b>3DGB TAD domain:</b> %s (%s, %s)" % (dname, organ, assay)
# bed4: format-only. sort -k1,1 -k2,2n, then chrom/start/end + display name (-tab: name has spaces).
bb = os.path.join(BBDIR, did + ".bb")
tmp = os.path.join(BBDIR, did + ".bed4")
with open(tmp, "w") as out:
p1 = subprocess.run(["sort", "-k1,1", "-k2,2n", bed],
stdout=subprocess.PIPE, check=True, text=True)
for line in p1.stdout.splitlines():
f = line.split("\t")
if len(f) < 3:
continue
out.write("%s\t%s\t%s\t%s\n" % (f[0], f[1], f[2], dname))
rc = subprocess.run(["bedToBigBed", "-type=bed4", "-tab", tmp, CHROMS, bb],
stderr=subprocess.PIPE, text=True)
os.remove(tmp)