f9a89b0e1ce3c937b4fbb879736c1619c35c271f lrnassar Tue Apr 21 12:11:02 2026 -0700 QA fixes for PromoterAI track. refs #37278 Description page: replaced the wrong reference (Gao et al. 2023, the PrimateAI-3D paper) with the actual PromoterAI citation (Jaganathan et al. Science 2025, PMID 40440429), corrected the score-direction wording (negative = under-expression, positive = over-expression, not "tolerated vs disruptive"), fixed the Data Access source link (Illumina BaseSpace, not the GitHub repo), and corrected the mouseover blurb to match mouseOverFunction noAverage behavior. Converter and AS: the overlap bigBed now carries the real per-transcript strand from the source TSV (was hardcoded '+'), with a new strands column in the AS, and the name field concatenates unique gene symbols so bidirectional-promoter items read as "HES4,ISG15" etc. BED score is now |PromoterAI|*1000 so scoreFilter is meaningful. Rewrote the converter to stream (sorted input), which drops peak memory from ~40 GB to a few MB. trackDb: added filterLabel/filterLimits on scoreDiff (the filter was unusable without labels), scoreFilter + scoreLabel, alwaysZero and autoScale off on the bigWig subtracks, color 200,0,0 / altColor 0,0,200 so signed bigWig bars draw red (over-expression) above zero and blue (under-expression) below, matching the overlap track itemRgb. Added maxWindowToDraw and maxItems on the overlap subtrack. Makedoc updated to describe the streaming pipeline, the new strands column, and the rebuild workflow. diff --git src/hg/makeDb/trackDb/human/promoterAi.ra src/hg/makeDb/trackDb/human/promoterAi.ra index 849abd509d2..361816b51cb 100644 --- src/hg/makeDb/trackDb/human/promoterAi.ra +++ src/hg/makeDb/trackDb/human/promoterAi.ra @@ -1,77 +1,99 @@ track promoterAi shortLabel PromoterAI longLabel PromoterAI Promoter Variant Impact Scores (zoom for exact score) type bigWig parent predictionScoresSuper compositeTrack on tableBrowser off visibility hide -color 80,150,50 track promoterAiA shortLabel Mutation: A longLabel PromoterAI: Mutation is A type bigWig parent promoterAi on visibility dense bigDataUrl /gbdb/$D/promoterAi/a.bw maxHeightPixels 128:20:8 viewLimits -1:1 viewLimitsMax -1:1 maxWindowToDraw 10000000 maxWindowToQuery 500000 mouseOverFunction noAverage + alwaysZero on + autoScale off + color 200,0,0 + altColor 0,0,200 track promoterAiC shortLabel Mutation: C longLabel PromoterAI: Mutation is C type bigWig parent promoterAi on visibility dense bigDataUrl /gbdb/$D/promoterAi/c.bw maxHeightPixels 128:20:8 viewLimits -1:1 viewLimitsMax -1:1 maxWindowToDraw 10000000 maxWindowToQuery 500000 mouseOverFunction noAverage + alwaysZero on + autoScale off + color 200,0,0 + altColor 0,0,200 track promoterAiG shortLabel Mutation: G longLabel PromoterAI: Mutation is G type bigWig parent promoterAi on visibility dense bigDataUrl /gbdb/$D/promoterAi/g.bw maxHeightPixels 128:20:8 viewLimits -1:1 viewLimitsMax -1:1 maxWindowToDraw 10000000 maxWindowToQuery 500000 mouseOverFunction noAverage + alwaysZero on + autoScale off + color 200,0,0 + altColor 0,0,200 track promoterAiT shortLabel Mutation: T longLabel PromoterAI: Mutation is T type bigWig parent promoterAi on visibility dense bigDataUrl /gbdb/$D/promoterAi/t.bw maxHeightPixels 128:20:8 viewLimits -1:1 viewLimitsMax -1:1 maxWindowToDraw 10000000 maxWindowToQuery 500000 mouseOverFunction noAverage + alwaysZero on + autoScale off + color 200,0,0 + altColor 0,0,200 track promoterAiOverlaps shortLabel PromoterAI overlaps longLabel PromoterAI: Positions with >1 score due to overlapping transcripts type bigBed 9 + parent promoterAi on visibility dense bigDataUrl /gbdb/$D/promoterAi/overlaps.bb mouseOverField _mouseOver itemRgb on + maxWindowToDraw 10000000 + maxItems 50000 filterByRange.scoreDiff on filter.scoreDiff 0.01 + filterLimits.scoreDiff 0:2 + filterLabel.scoreDiff Minimum score difference across transcripts + scoreFilter 0 + scoreFilterLimits 0:1000 + scoreLabel Absolute PromoterAI score * 1000