752cb1161a3dc006932fd3ba179c9b2fbe449c8d jnavarr5 Fri Sep 25 14:27:43 2026 -0700 Updating the episignatures makedoc for the semicolon filter labels and adding a recount command for the opposite-direction sites count, refs #38112 diff --git src/hg/makeDb/doc/hg38/episignatures.txt src/hg/makeDb/doc/hg38/episignatures.txt index 826e2a9c354..550d4a4aca8 100644 --- src/hg/makeDb/doc/hg38/episignatures.txt +++ src/hg/makeDb/doc/hg38/episignatures.txt @@ -248,41 +248,54 @@ # every one of them is at the same position; 799 are only here. bigBedToBed /gbdb/hg38/episignatures/methaDory.bb stdout \ | awk -F'\t' '{print $4"\t"$1":"$2}' | sort -u > /tmp/md.pos awk -F'\t' '{print $4"\t"$1":"$2}' epigenCentral.bed | sort -u > /tmp/ec.pos join -t$'\t' /tmp/md.pos /tmp/ec.pos | awk -F'\t' '$2!=$3' | wc -l # 0 # The signature filter menu and the "Included episignatures" table of the description # page are generated by the build, into epigenCentralFilters.ra and # epigenCentralTable.html. On a refresh, paste the two .ra lines back into # human/hg38/episignatures.ra, and the table back into human/hg38/epigenCentral.html # between the "<!-- BEGIN generated ... -->" and "<!-- END generated -->" markers, # rather than editing either by hand. The counts quoted in the Description and Methods # paragraphs of that page have to be updated at the same time. # +# One of those counts, in Display Conventions, is how many multi-signature sites also carry +# a signature in the opposite direction to the strongest one, which the color and the +# direction filter do not show (1,618 of 2,848 in this build). Recount it with: +python3 -c " +m = x = 0 +for l in open('epigenCentral.bed'): + rows = [r.split('|') for r in l.rstrip('\\n').split('\\t')[16].split(';')][1:] + if len(rows) > 1: + m += 1 + x += len({r[3] for r in rows if r[3] != 'NA'}) > 1 +print(x, 'of', m)" +# # The publication behind each signature comes from the hub's README and is kept in # scripts/episignatures/epigenCentralRefs.tsv, since the README is not machine # readable. All 18 distinct PMIDs were checked against PubMed esummary before being # written down; EHMT1 is the one signature with no PubMed record and is cited by DOI. # The hub's own HTML page has every one of these links pointing at PMID 31311581 while # displaying a different number, which is why they are generated here instead. # A comma in a filterValues entry is the entry separator and cannot be escaped when the -# filterType is one of the *List* kinds, so the commas inside four of the disorder names -# ("Dystonia 28, childhood-onset" and friends) are dropped in the menu labels by -# writeRa() in epigenCentralToBed.py. The bigBed keeps the names as the source has them. +# filterType is one of the *List* kinds, so the commas inside three of the disorder names +# ("Dystonia 28, childhood-onset" and friends) become semicolons in the menu labels, as in +# the methaDory menu, by writeRa() in epigenCentralToBed.py. The bigBed keeps the names as +# the source has them. (Changed from dropping the commas during QA, 2026-09-25.) # Track search: the position box finds a probe by its cg number. The bigBed carries # -extraIndex=name and episignatures.ra has a matching searchTable stanza. Both this # spec and the methaDory one carry termRegex and semiShortCircuit, so a probe ID that # is in both tracks returns a hit in both, plus the Illumina array tracks. hgsql hg38 -Ne "select searchName, shortCircuit, searchPriority from hgFindSpec_max where searchTable='epigenCentral'" # epigenCentral 1 51 # Lou asked on the ticket for downloads to be off, so the stanza has "tableBrowser off" # and the Data Access section points at EpigenCentral's own portal and repository. That # switch covers the Table Browser, the Data Integrator and the REST API; the bigBed # still sits in /gbdb and is reachable on hgdownload, so it is not a hard block, and QA # should confirm with the lab that this is what they wanted. # Visibility: the track is sparse almost everywhere, 15,035 sites over the genome, but it