d23aa1e7bfa38c3cb266decd97e8878713872a91
max
  Tue Apr 30 14:29:27 2019 -0700
changing wording of "all genomes" BLAT docs, green lighted by Brian Lee, no redmine

diff --git src/hg/hgBlat/hgBlat.c src/hg/hgBlat/hgBlat.c
index d7de2f9..4f40209 100644
--- src/hg/hgBlat/hgBlat.c
+++ src/hg/hgBlat/hgBlat.c
@@ -1509,31 +1509,31 @@
     "document.mainForm.changeInfo.value='orgChange';"
     "document.mainForm.submit();";
 
 char *userSeq = NULL;
 char *type = NULL;
 
 printf( 
 "<FORM ACTION=\"../cgi-bin/hgBlat\" METHOD=\"POST\" ENCTYPE=\"multipart/form-data\" NAME=\"mainForm\">\n"
 "<H2>BLAT Search Genome</H2>\n");
 cartSaveSession(cart);
 puts("\n");
 puts("<INPUT TYPE=HIDDEN NAME=changeInfo VALUE=\"\">\n");
 puts("<TABLE BORDER=0 WIDTH=80>\n<TR>\n");
 printf("<TD ALIGN=CENTER style='overflow:hidden;white-space:nowrap;'>Genome:");
 printf(" <INPUT TYPE=CHECKBOX id=allGenomes NAME=allGenomes VALUE=\"\">");
-printf(" <span id=searchAllText> Search ALL<span>");
+printf(" <span id=searchAllText> Search all<span>");
 printf("</TD>");
 // clicking on the Search ALL text clicks the checkbox.
 jsOnEventById("click", "searchAllText", 
     "document.mainForm.allGenomes.click();"
     "return false;"   // cancel the default
     );
 
 printf("<TD ALIGN=CENTER>Assembly:</TD>");
 printf("<TD ALIGN=CENTER>Query type:</TD>");
 printf("<TD ALIGN=CENTER>Sort output:</TD>");
 printf("<TD ALIGN=CENTER>Output type:</TD>");
 printf("<TD ALIGN=CENTER>&nbsp</TD>");
 printf("</TR>\n<TR>\n");
 printf("<TD ALIGN=CENTER>\n");
 printBlatGenomeListHtml(db, "change", onChangeText);
@@ -1574,42 +1574,32 @@
 );
 puts("<TR><TD COLSPAN=5 WIDTH=\"100%\">\n"); 
 puts("<BR><B>File Upload:</B> ");
 puts("Rather than pasting a sequence, you can choose to upload a text file containing "
 	 "the sequence.<BR>");
 puts("Upload sequence: <INPUT TYPE=FILE NAME=\"seqFile\">");
 puts(" <INPUT TYPE=SUBMIT Name=Submit VALUE=\"submit file\"><P>\n");
 printf("%s", 
 "<P>Only DNA sequences of 25,000 or fewer bases and protein or translated \n"
 "sequence of 10000 or fewer letters will be processed.  Up to 25 sequences\n"
 "can be submitted at the same time. The total limit for multiple sequence\n"
 "submissions is 50,000 bases or 25,000 letters.<br> A valid example "
 "is <tt>GTCCTCGGAACCAGGACCTCGGCGTGGCCTAGCG</tt> (human SOD1).\n</P>\n");
 
 printf("%s", 
-"<P>The <b>Search ALL</b> checkbox above the Genome drop-down list allows you to search the\n"
-"genomes of the default assemblies for all of our organisms. It also searches any attached hubs' blat servers.\n"
-"This shows you which organisms have the highest homology with your query sequence.\n"
-"The results are ordered so that the organism whose best alignment has the most hits is at the top,\n"
-"and shows the best region found.\n"
-"It makes quick approximate alignments based only on the raw hits,\n"
-"which are a perfectly matching short sub-sequence of a fixed size: \n"
-"11 for DNA and 4 for protein. \n"
-"The entire alignment, including mismatches and gaps, must score 20 \n"
-"or higher in order to appear in the BLAT output.\n"
-"Having too few hits will often yield no BLAT results.\n"
-"Click the Assembly column link on the results page to see the full BLAT output for that organism.\n</P>\n");
+"<P>The <b>Search all</b> checkbox allows you to search all\n"
+"genomes at the same time. It will query the default assembly of every organism and BLAT servers of attached hubs.\n");
 
 if (hgPcrOk(db))
     printf("<P>For locating PCR primers, use <A HREF=\"../cgi-bin/hgPcr?db=%s\">In-Silico PCR</A>"
            " for best results instead of BLAT.</P>", db);
 puts("</TD></TR></TABLE>\n");
 
 
 
 printf("</FORM>\n");
 
 webNewSection("About BLAT");
 printf( 
 "<P>BLAT on DNA is designed to\n"
 "quickly find sequences of 95%% and greater similarity of length 25 bases or\n"
 "more.  It may miss more divergent or shorter sequence alignments.  It will find\n"
@@ -1850,31 +1840,31 @@
     }
 if (isEmpty(userSeq) || orgChange)
     {
     cartWebStart(theCart, db, "%s BLAT Search", trackHubSkipHubName(organism));
     if (differentString(oldDb, db))
 	printf("<HR><P><EM><B>Note:</B> BLAT search is not available for %s %s; "
 	       "defaulting to %s %s</EM></P><HR>\n",
 	       hGenome(oldDb), hFreezeDate(oldDb), organism, hFreezeDate(db));
     askForSeq(organism,db);
     cartWebEnd();
     }
 else 
     {
     if (allGenomes)
 	{
-	cartWebStart(cart, db, "ALL Genomes BLAT Results");
+	cartWebStart(cart, db, "All Genomes BLAT Results");
 
 	struct dbDb *dbList = hGetBlatIndexedDatabases();
 
 	struct dbDb *this = NULL;
 	char *saveDb = db;
 	char *saveOrg = organism;
 	struct sqlConnection *conn = hConnectCentral();
 	int dbCount = 0;
 	for(this = dbList; this; this = this->next)
 	    {
 	    db = this->name;
 	    organism = hGenome(db);
 
 	    if (!trackHubDatabase(db))  // if not hub db, make sure it is the default assembly.
 		{	    
@@ -1931,57 +1921,61 @@
 	// Combine pairs with a query and its RC.
 	if (!(debuggingGfResults) &&
 	   (sameString(pfdDone->xType,"dna") || sameString(pfdDone->xType,"dnax")))
 	    {
 	    slSort(&pfdDone, rcPairsCmp);  
 	    hideWeakerOfQueryRcPairs(pfdDone);
 	    }
 
 	// requires db for chromSize, do database after multi-threading done.
 	changeMaxGenePositionToPositiveStrandCoords(pfdDone);
 
         // sort by maximum hits
 	slSort(&pfdDone, genomeHitsCmp);
 
 	// Print instructions
-	printf("Click the link in the Assembly column to see the full BLAT output for that Genome.<br><br>\n");
+        printf("The approximate results below are sorted by number of matching 'tiles', "
+                "perfectly matching sub-sequences of length 11 (DNA) "
+                "or 4 (protein). <br>");
+	printf("Click the 'assembly' link to trigger a full BLAT alignment for that genome. \n");
+	printf("If its alignment score is < 20 bp, no match will be found.<br>\n");
 
 	// Print report  // TODO move to final report at the end of ALL Assemblies
 	int lastSeqNumber = -1;
 	int idCount = 0;
 	char id[256];
 	struct genomeHits *gH = NULL;
 	for (gH = pfdDone; gH; gH = gH->next)
 	    {
 	    if (lastSeqNumber != gH->seqNumber)
 		{
 		if (lastSeqNumber != -1) // end previous table
 		    {
 		    printf("</TABLE><br><br>\n");
 		    }
 		lastSeqNumber = gH->seqNumber;
 		// print next sequence table header
 		printf("<TABLE cellspacing='5'>\n");
 		printf("<TR>\n");
 		printf(
 		    "<th style='text-align:left'>Name</th>"
 		    "<th style='text-align:left'>Genome</th>"
 		    "<th style='text-align:left'>Assembly</th>"
 		    );
 		
 		printf(
-		    "<th style='text-align:right'>Hits</th>"
+		    "<th style='text-align:right'>Tiles</th>"
 		    "<th style='text-align:left'>Chrom</th>"
 			);
 		if (debuggingGfResults)
 		    {
 		    printf(
 		    "<th style='text-align:left'>Pos</th>"
 		    "<th style='text-align:left'>Strand</th>"
 		    "<th style='text-align:left'>Exons</th>"
 		    "<th style='text-align:left'>Query RC'd</th>"
 		    "<th style='text-align:left'>Type</th>"
 			);
 		    }
 		printf("\n");
 		printf("</TR>\n");
 		}