c385c1661b72541e1e8fb28187323f3b31c431e7 angie Fri May 29 18:24:49 2026 -0700 If new columns are present in ripples server output then use them to draw RIVET-like recombination diagram in pop-up. diff --git src/hg/hgPhyloPlace/hgPhyloPlace.c src/hg/hgPhyloPlace/hgPhyloPlace.c index c6051802695..d11553d2ce9 100644 --- src/hg/hgPhyloPlace/hgPhyloPlace.c +++ src/hg/hgPhyloPlace/hgPhyloPlace.c @@ -197,30 +197,36 @@ " color: white;\n" " font-weight: bold;\n" " font-size: 22px;\n" "}\n" "h2 { font-size: 18px; }\n" "h3 { font-size: 16px; }\n" "table.invisalign {\n" " border: 0px;\n" "}\n" "table.invisalign td {\n " " padding: 5px;\n" "}\n" "button.fullwidth {\n " " width: 100%;\n" "}\n" +"div.ui-dialog div.ui-dialog-buttonpane {\n" +" background: #FFFFFF;\n" +"}\n" +"div.ui-dialog {\n" +" background: #FFFFFF;\n" +"}\n" "</style>\n" ); // Container for bootstrap grid layout puts( "<div class='container-fluid'>\n"); } static void newPageEndStuff() { puts( "</div>"); jsIncludeFile("utils.js", NULL); @@ -444,43 +450,55 @@ "More tutorials from CDC COVID-19 Genomic Epidemiology Toolkit</a></h3>\n" "</p>" ); puts("</div>"); puts("</div>"); puts("</form>"); } static void mainPage(char *org) { // Start web page with new-style header webStartGbNoBanner(cart, org, "UShER: Upload"); jsInit(); jsIncludeFile("jquery.js", NULL); jsIncludeFile("ajax.js", NULL); +boolean debugRecombs = FALSE; +if (debugRecombs) + { + jsIncludeFile("jquery-ui.js", NULL); + jsIncludeFile("hgPhyloPlace.js", NULL); + webIncludeResourceFile("jquery-ui.css"); + } + newPageStartStuff(); // Hidden form for reloading page when hpp_org select is changed static char *saveVars[] = { orgVar }; jsCreateHiddenForm(cart, cgiScriptName(), saveVars, ArraySize(saveVars)); puts("<div class='row'>" " <div class='row gbSectionBannerLarge'>\n" " <div class='col-md-11'>UShER: Ultrafast Sample placement on Existing tRee</div>\n" " <div class='col-md-1'></div>\n" " </div>\n" "</div>\n" "<div class='row'>\n"); + +if (debugRecombs) + debugRecombinantDisplay(cart); + if (hgPhyloPlaceEnabled()) { inputForm(org); } else { puts(" <div class='gbControl col-md-12'>"); puts(" Sorry, this server is not configured to perform phylogenetic placement."); puts(" </div>"); } puts("</div>\n"); newPageEndStuff(); } @@ -490,30 +508,33 @@ { // If org is a real database or hub then set db to org. if (hDbExists(org)) db = org; else { // Not a db -- see if it's a hub that is already connected: struct trackHubGenome *hubGenome = trackHubGetGenomeUndecorated(org); if (hubGenome != NULL) db = org; // Otherwise we're counting on the config to specify a .2bit file and we won't make CTs. } webStartGbNoBanner(cart, db, "UShER: Results"); jsIncludeFile("jquery.js", NULL); jsIncludeFile("ajax.js", NULL); +jsIncludeFile("jquery-ui.js", NULL); +jsIncludeFile("hgPhyloPlace.js", NULL); +webIncludeResourceFile("jquery-ui.css"); newPageStartStuff(); if (issueBotWarning) { char *ip = getenv("REMOTE_ADDR"); botDelayMessage(ip, botDelayMillis); } // Allow 10 minutes for big sets of sequences lazarusLives(15 * 60); puts("<div class='row'>" " <div class='row gbSectionBannerLarge'>\n" " <div class='col-md-11'>UShER: Ultrafast Sample placement on Existing tRee</div>\n" " <div class='col-md-1'></div>\n"