aab4f66a2aca5293f3536cc1d1438b17d2b09dfd
tdreszer
  Thu May 5 16:14:15 2011 -0700
A large set of tiny changes.  These fix a lot of discrepencies with bgcolor and font color declarations which were tripping up docttype 4.01.
diff --git src/hg/hgc/lowelab.c src/hg/hgc/lowelab.c
index 3756d67..7a822aa 100644
--- src/hg/hgc/lowelab.c
+++ src/hg/hgc/lowelab.c
@@ -300,33 +300,33 @@
     char refSeq[50];
     char xraTable[50];
     char product[255];
     struct blastTab *blastpHits;
     struct minGeneInfo *ginfo;
     char *blastpTarget[2];
     char **buffer = NULL;
     boolean findTable = FALSE;
     unsigned int cdsStart = 0;
     unsigned int cdsEnd = 0;
 
     printf("<br>\n");
     printf("<b>Homologs within genome</b><BR>\n");
 
     /* Print table */
-    printf("<table style=\"width: 60%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
+    printf("<table style='width:60%%; background-color:#%s;' border=0 cellpadding=1 cellspacing=0>", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"20%%\"><b>Gene</b></td>\n");
     printf("<td><b>Product</b></td>\n");
     printf("<td width=\"30%%\"><b>BlastP E-value</b></td>\n");
     printf("</tr>\n");
 
     blastpHits = blastpHitsList;
     while (blastpHits != NULL)
     {
         parseDelimitedString(blastpHits->target, ':', blastpTarget, 2);
 
 		if (hTableExists(blastpTarget[0], "lookup"))
@@ -545,37 +545,37 @@
 {
     printf("<B>UniProtKB:</B> ");
     printf("<A HREF=");
     printf(uniprotFormat, spAcc);
     if (spAcc == NULL)
     {
         printf(" TARGET=_blank>%s</A></B><BR>\n", item);
     }
     else
     {
         printf(" TARGET=_blank>%s</A></B><BR>\n", spAcc);
     }
 }
 
 /* print table of contents */
-printf("<br><hr style=\"width: 100%%; height: 2px;\"><font size=\"+1\">\n");
+printf("<br><hr style='width:100%%; height:2px;'><span style='font-size:larger;'>\n");
 printf("<b>[<a href=\"#positions\">Positions and Sequence</a>]&nbsp;&nbsp;&nbsp;\n"); 
 printf("[<a href=\"#COG\">COG</a>]&nbsp;&nbsp;&nbsp;\n");
 printf("[<a href=\"#GO\">Gene Ontology</a>]&nbsp;&nbsp;&nbsp;\n"); 
 printf("[<a href=\"#domain\">Protein Domain and Structure Infomation</a>]&nbsp;&nbsp;&nbsp;\n"); 
 printf("[<a href=\"#homology\">Gene Homology</a>]&nbsp;&nbsp;&nbsp;\n");
-printf("[<a href=\"#pathway\">Pathway</a>]</b></font> <br>\n"); 
+printf("[<a href=\"#pathway\">Pathway</a>]</b></span> <br>\n");
 printf("<hr style=\"width: 100%%; height: 2px;\"><br>\n");
 
 /* Positions and sequence */
 printf("<table style=\"text-align: left; width: 99%%;\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
 printf("<tbody><tr><td style=\"background-color:#eee9e9;\">\n");
 printf("<a name=\"positions\"></a><b>Positions and Sequence</b><br></td></tr>\n");
 printf("<tr><td>\n");
 
 hFindSplitTable(database, seqName, table, tableName, &hasBin);
 safef(query, sizeof(query), "name = \"%s\"", item);
 gpList = genePredReaderLoadQuery(conn, tableName, query);
 for (gp = gpList; gp != NULL; gp = gp->next)
 {
     sequence = hDnaFromSeq(database, gp->chrom, gp->txStart, gp->txEnd, dnaUpper);
     if (sequence != NULL)
@@ -1329,47 +1329,47 @@
 char **row;
 int rowOffset;
 
 genericHeader(tdb,egName);
 rowOffset = hOffsetPastBin(database, seqName, tdb->table);
 sprintf(query, "select * from %s where name = '%s'", tdb->table, egName);
 sr = sqlGetResult(conn, query);
 while ((row = sqlNextRow(sr)) != NULL)
     slAddTail(&egList,easyGeneLoad(row+rowOffset));
 slReverse(&egList);
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 for (eg = egList; eg != NULL; eg = eg->next)
     {
     if (eg->genbank[0] == 'Y')
-    printf("<FONT COLOR=\"#FF0000\">\n");
+    printf("<span style='color:#FF0000;'>\n");
     else
-    printf("<FONT COLOR=\"#000000\">\n");
+    printf("<span style='color:#000000;'>\n");
     printf("<B>Item:</B> %s<BR>\n",eg->name);
     printf("<B>Feature identifier:</B> %s<BR>\n",eg->feat);
     printf("<B>Start codon:</B> %s<BR>\n",eg->startCodon);
     printf("<B>EasyGene descriptor:</B> %s<BR>\n",eg->descriptor);
     if (eg->R >= 0.001)
     printf("<B>R value:</B> %.3f<BR>\n",eg->R);
     else
     printf("<B>R value:</B> %.2e<BR>\n",eg->R);
     printf("<B>Log-odds :</B> %.1f<BR>\n",eg->logOdds);
     printf("<B>Frame:</B> %d<BR>\n",eg->frame);
     printf("<B>Swiss-Prot match:</B> %s<BR>\n",eg->swissProt);
     printf("<B>ORF identifier:</B> %s<BR>\n",eg->orf);
     printPos(eg->chrom, eg->chromStart, eg->chromEnd, eg->strand, TRUE, eg->name);
-    printf("</FONT>\n");
+    printf("</span>\n");
     if (eg->next != NULL)
     printf("<hr>\n");
     }
 printTrackHtml(tdb);
 easyGeneFreeList(&egList);
 }
 
 void doCodeBlast(struct trackDb *tdb, char *trnaName)
 {
 struct pepPred *pp=NULL;
 struct codeBlast *cb=NULL;
 struct codeBlastScore *cbs=NULL, *cbs2, *list=NULL;
 struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr;
 char query[512];
@@ -2059,31 +2059,31 @@
                "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
                hgTracksPathAndSettings(), database, tigrOperon->chrom, tigrOperon->chromStart + 1, tigrOperon->chromEnd);
         printf("%s:%d-%d</A><BR>\n", tigrOperon->chrom, tigrOperon->chromStart + 1, tigrOperon->chromEnd);
         printf("<B>Strand:</B> %s<BR>\n", tigrOperon->strand);
         printf("<B>Genomic size: </B> %d nt<BR>\n", (tigrOperon->chromEnd - tigrOperon->chromStart));
         if (tigrOperon->next != NULL)
             printf("<hr>\n");
     }
     sqlFreeResult(&sr);
 
     printf("<br><B>OperonDB predicted gene pairs</B><br>\n");
 
     /* Print table */
     printf("<table style=\"width: 50%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"25%%\"><b>Gene 1</b></td>\n");
     printf("<td width=\"25%%\"><b>Gene 2</b></td>\n");
     printf("<td width=\"25%%\"><b>Confidence</b></td>\n");
     printf("<td width=\"25%%\"><b>Number of Conserved Genomes</b></td>\n");
     printf("</tr>\n");
 
     sprintf(query, "select * from lowelabTIGROperonScore where name = '%s'", tigrOperonName);
     sr = sqlGetResult(conn, query);
     while ((row = sqlNextRow(sr)) != NULL)
     {
         tigrOperonScore = lowelabTIGROperonScoreLoad(row);
@@ -2151,31 +2151,31 @@
                "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
                hgTracksPathAndSettings(), database, arkinOperon->chrom, arkinOperon->chromStart + 1, arkinOperon->chromEnd);
         printf("%s:%d-%d</A><BR>\n", arkinOperon->chrom, arkinOperon->chromStart + 1, arkinOperon->chromEnd);
         printf("<B>Strand:</B> %s<BR>\n", arkinOperon->strand);
         printf("<B>Genomic size: </B> %d nt<BR>\n", (arkinOperon->chromEnd - arkinOperon->chromStart));
         if (arkinOperon->next != NULL)
             printf("<hr>\n");
     }
     sqlFreeResult(&sr);
 
     printf("<br><B>Arkin operon predicted gene pairs</B><br>\n");
 
     /* Print table */
     printf("<table style=\"width: 50%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"25%%\"><b>Gene 1</b></td>\n");
     printf("<td width=\"25%%\"><b>Gene 2</b></td>\n");
     printf("<td width=\"25%%\"><b>Probability of the Same Operon</b></td>\n");
     printf("<td width=\"25%%\"><b>Gene neighbor score</b></td>\n");
     printf("</tr>\n");
 
     sprintf(query, "select * from lowelabArkinOperonScore where name = '%s'", arkinOperonName);
     sr = sqlGetResult(conn, query);
     while ((row = sqlNextRow(sr)) != NULL)
     {
         arkinOperonScore = lowelabArkinOperonScoreLoad(row);
@@ -2401,31 +2401,31 @@
     char clade[50] = "";
     unsigned int hitStart = 0;
     unsigned int hitEnd = 0;
     char **buffer = NULL;
     boolean findTable = FALSE;
 
     int tStart = cartInt(cart, "o");
     int tEnd = cartInt(cart, "t");
     char *tChrom = cartString(cart, "c");
 
     printf("<br>\n");
 
     /* Print table */
     printf("<table style=\"width: 100%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"18%%\"><b>Organism</b></td>\n");
     printf("<td width=\"7%%\"><b>Clade</b></td>\n");
     printf("<td width=\"7%%\"><b>Gene</b></td>\n");
     printf("<td><b>Product</b></td>\n");
     printf("<td width=\"5%%\"><b>Percent Length of Full Protein</b></td>\n");
     printf("<td width=\"8%%\"><b>Position in Source Protein</b></td>\n");
     printf("<td width=\"5%%\"><b>Protein Identity (%%)</b></td>\n");
     printf("<td width=\"5%%\"><b>E-value</b></td>\n");
     printf("<td width=\"5%%\"><b>Log of E-value</b></td>\n");
     printf("<td width=\"5%%\"><b>Bit Score</b></td>\n");
     printf("<td width=\"6%%\"><b>Protein Alignment Length</b></td>\n");
@@ -2806,31 +2806,31 @@
     unsigned int targetProteinStart = 0;
     unsigned int targetProteinEnd = 0;
     unsigned int hitStart = 0;
     unsigned int hitEnd = 0;
     char **buffer = NULL;
 
     int tStart = cartInt(cart, "o");
     int tEnd = cartInt(cart, "t");
     char *tChrom = cartString(cart, "c");
 
     printf("<br>\n");
 
     /* Print table */
     printf("<table style=\"width: 100%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"10%%\"><b>Organism</b></td>\n");
     printf("<td width=\"7%%\"><b>Clade</b></td>\n");
     printf("<td width=\"7%%\"><b>Gene</b></td>\n");
     printf("<td><b>Product</b></td>\n");
     printf("<td width=\"7%%\"><b>Position in Query Genomic Sequence</b></td>\n");
     printf("<td width=\"7%%\"><b>Position in Target Protein</b></td>\n");
     printf("<td width=\"7%%\"><b>Percent Length of Target Protein</b></td>\n");
     printf("<td width=\"5%%\"><b>Protein Identity (%%)</b></td>\n");
     printf("<td width=\"5%%\"><b>E-value</b></td>\n");
     printf("<td width=\"5%%\"><b>Log of E-value</b></td>\n");
     printf("<td width=\"5%%\"><b>Bit Score</b></td>\n");
@@ -3112,31 +3112,31 @@
             printf("<B>nmole/OD<sub>260</sub>:</B> %0.3f <BR>\n", computeNMolePerOD(sequence->dna, sequence->size));
             printf("<B>ug/OD<sub>260</sub>:</B> %0.3f <BR>\n", computeNMolePerOD(sequence->dna, sequence->size) *
                    computeMolecularWeight(sequence->dna, sequence->size) * pow(10,-3));
         }
 
         if (primer->next != NULL)
             printf("<hr>\n");
     }
     sqlFreeResult(&sr);
 
     printf("<br><B>Primer pairing</B><br>\n");
 
     /* Print table */
     printf("<table style=\"width: 90%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
     printf("<tbody><tr><td>\n");
-    printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+    printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
     printf("<tbody>\n");
 
     /* Print table column heading */
     printf("<tr style=\"vertical-align: top;\">\n");
     printf("<td width=\"20%%\"><b>Primer Name</b></td>\n");
     printf("<td width=\"10%%\"><b>Primer Type</b></td>\n");
     printf("<td width=\"30%%\"><b>Primer Sequence</b></td>\n");
     printf("<td width=\"10%%\"><b>PCR Region</b></td>\n");
     printf("<td width=\"10%%\"><b>PCR Length (bp)</b></td>\n");
     printf("<td width=\"10%%\"><b>PCR Region<BR>GC Content (%%)</b></td>\n");
     printf("</tr>\n");
 
     memset(query, 0, 512);
     if (strcmp(primer->strand, "+") == 0)
     {
@@ -3278,40 +3278,40 @@
 
   cartWebStart(cart, database, "%s", "RNAHybridization Sites");
 
   if (hTableExists(database, rnaHybridizationTable))
     {
       /* Get query gene from refSeq */
       sprintf(query, "select * from %s where name='%s'", rnaHybridizationTable, itemName);
       sr = sqlGetResult(conn, query);
       if ((row = sqlNextRow(sr)) != NULL)
     {
       rnaHyb = rnaHybridizationLoad(row);
 
       printf("<b>Hybridization Site:</b><br/><br/>");
 
       /* print hybridization site */
-      printf("<font face=\"Courier\">");
+      printf("<span style='font-family:Courier;'>");
       printf("Pattern 5%s3<br>", rnaHyb->patternSeq);
 
       printf("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
       for(i=0;i<rnaHyb->matchLength;i++)
         printf("|");
       printf("<br/>");
 
       printf("Target&nbsp 3%s5", rnaHyb->targetSeq);
-      printf("</font><br/><br/>");
+      printf("</span><br/><br/>");
 
 
       printf("<BR><B>Genomic size: </B> %d nt<BR>\n",rnaHyb->matchLength);
       printf("<b>Percentage G-C base-pairs:</b> %d<br/>", (int)(rnaHyb->gcContent * 100));
 
       printf("<B>Position:</B> "
          "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
          hgTracksPathAndSettings(), database, rnaHyb->chrom, rnaHyb->chromStart+1, rnaHyb->chromEnd);
       printf("%s:%d-%d</A><BR>\n", rnaHyb->chrom, rnaHyb->chromStart+1, rnaHyb->chromEnd);
       printf("<B>Strand:</B> %s<BR>\n", rnaHyb->strand);
 
       printf("<B>Target Position:</B> "
          "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
          hgTracksPathAndSettings(), database, rnaHyb->chromTarget, rnaHyb->chromStartTarget+1, rnaHyb->chromEndTarget+1);
       printf("%s:%d-%d</A><BR>\n", rnaHyb->chromTarget, rnaHyb->chromStartTarget+1, rnaHyb->chromEndTarget+1);
@@ -3676,31 +3676,31 @@
         printf("<B>Name: </B> %s<BR>\n", crisprName);
 		printf("<B>Position:</B> "
                "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
                hgTracksPathAndSettings(), database, crispr->chrom, crispr->chromStart + 1, crispr->chromEnd);
         printf("%s:%d-%d</A><BR>\n", crispr->chrom, crispr->chromStart + 1, crispr->chromEnd);
         printf("<B>Strand:</B> %s<BR>\n", crispr->strand);
         printf("<B>Genomic size:</B> %d nt<BR><BR>\n", (crispr->chromEnd - crispr->chromStart));
 		printf("<B>Number of spacers:</B> %u<BR><BR>\n", crispr->blockCount - 1);
 		
         sequence = hDnaFromSeq(database, crispr->chrom, crispr->chromStart, crispr->chromEnd, dnaUpper);
         if (sequence != NULL)
         {
 			/* Print table */
 			printf("<table style=\"width: 100%%;\" bgcolor=\"#%s\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\">", HG_COL_BORDER);
 			printf("<tbody><tr><td>\n");
-			printf("<table style=\"width: 100%%; text-align: left;\" bgcolor=\"%s\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n", HG_COL_INSIDE);
+			printf("<table style='width:100%%; text-align:left; background-color:#%s;' border=1 cellpadding=2 cellspacing=2>\n", HG_COL_INSIDE);
 			printf("<tbody>\n");
 			
 			/* Print table column heading */
 			printf("<tr style=\"vertical-align: top;\">\n");
 			printf("<td colspan=\"3\"><b>Direct Repeat</b></td>\n");
 			printf("<td colspan=\"3\"><b>Spacer</b></td>\n");
 			printf("</tr>\n");
 			printf("<tr style=\"vertical-align: top;\">\n");
 			printf("<td width=\"8%%\"><b>Start Pos</b></td>\n");
 			printf("<td width=\"36%%\"><b>Sequence</b></td>\n");
 			printf("<td width=\"4%%\"><b>Length</b></td>\n");
 			printf("<td width=\"8%%\"><b>Start Pos</b></td>\n");
 			printf("<td><b>Sequence</b></td>\n");
 			printf("<td width=\"4%%\"><b>Length</b></td>\n");
 			printf("</tr>\n");