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/hgc.c src/hg/hgc/hgc.c index 463d4f2..107f2db 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -1564,31 +1564,31 @@ return MAGENTA; case REGULATORY: return YELLOW; case INTERGENIC: return GRAY; case LABEL: default: return BLACK; } } void startColorStr(struct dyString *dy, int color, int track) { currentColor[track] = color; if (prevColor[track] != currentColor[track]) - dyStringPrintf(dy,"</FONT><FONT COLOR=\"%06X\">",color); + dyStringPrintf(dy,"</span><span style='color:#%06X'>",color); } void stopColorStr(struct dyString *dy, int track) { prevColor[track] = currentColor[track]; } void addTag(struct dyString *dy, struct dyString *tag) { dyStringPrintf(dy,"<A name=%s></a>",tag->string); } void setClassStr(struct dyString *dy, int class, int track) { if (class == STARTCODON) @@ -3348,57 +3348,57 @@ hFindSplitTable(database, seqName, "tfbsConsFactors", table, &hasBin); sprintf(query, "select * from %s where name = '%s' ", table, item); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { tfbsConsFactor = tfbsConsFactorsLoad(row+hasBin); slAddHead(&tfbsConsFactorList, tfbsConsFactor); } sqlFreeResult(&sr); slReverse(&tfbsConsFactorList); if (tfbsConsFactorList) mappedId = cloneString(tfbsConsFactorList->ac); -printf("<B><font size=\"5\">Transcription Factor Binding Site information:</font></B><BR><BR><BR>"); +printf("<B style='font-size:large;'>Transcription Factor Binding Site information:</B><BR><BR><BR>"); for(tfbsConsSites=tfbsConsSitesList ; tfbsConsSites != NULL ; tfbsConsSites = tfbsConsSites->next) { /* print each strand only once */ if ((printedMinus && (tfbsConsSites->strand[0] == '-')) || (printedPlus && (tfbsConsSites->strand[0] == '+'))) continue; if (!firstTime) htmlHorizontalLine(); else firstTime = FALSE; printf("<B>Item:</B> %s<BR>\n", tfbsConsSites->name); if (mappedId != NULL) printCustomUrl(tdb, mappedId, FALSE); printf("<B>Score:</B> %d<BR>\n", tfbsConsSites->score ); printf("<B>zScore:</B> %.2f<BR>\n", tfbsConsSites->zScore ); printf("<B>Strand:</B> %s<BR>\n", tfbsConsSites->strand); printPos(tfbsConsSites->chrom, tfbsConsSites->chromStart, tfbsConsSites->chromEnd, NULL, TRUE, tfbsConsSites->name); printedPlus = printedPlus || (tfbsConsSites->strand[0] == '+'); printedMinus = printedMinus || (tfbsConsSites->strand[0] == '-'); } if (tfbsConsFactorList) { htmlHorizontalLine(); - printf("<B><font size=\"5\">Transcription Factors known to bind to this site:</font></B><BR><BR>"); + printf("<B style='font-size:large;'>Transcription Factors known to bind to this site:</B><BR><BR>"); for(tfbsConsFactor =tfbsConsFactorList ; tfbsConsFactor != NULL ; tfbsConsFactor = tfbsConsFactor ->next) { if (!sameString(tfbsConsFactor->species, "N")) { printf("<BR><B>Factor:</B> %s<BR>\n", tfbsConsFactor->factor); printf("<B>Species:</B> %s<BR>\n", tfbsConsFactor->species); printf("<B>SwissProt ID:</B> %s<BR>\n", sameString(tfbsConsFactor->id, "N")? "unknown": tfbsConsFactor->id); factorDb = hDefaultDbForGenome(tfbsConsFactor->species); safef(protMapTable, sizeof(protMapTable), "%s.kgProtMap", factorDb); /* Only display link if entry exists in protein browser */ if (hTableExists(database, protMapTable)) { sprintf(query, "select * from %s where qName = '%s'", protMapTable, tfbsConsFactor->id ); @@ -3456,62 +3456,62 @@ sqlFreeResult(&sr); slReverse(&tfbsConsList); if (hTableExists(database, "tfbsConsMap")) { sprintf(query, "select * from tfbsConsMap where id = '%s'", tfbsConsList->name); sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) != NULL) { tfbsConsMapStaticLoad(row, &tfbsConsMap); mappedId = cloneString(tfbsConsMap.ac); } } sqlFreeResult(&sr); -printf("<B><font size=\"5\">Transcription Factor Binding Site information:</font></B><BR><BR><BR>"); +printf("<B style='font-size:large;'>Transcription Factor Binding Site information:</B><BR><BR><BR>"); for(tfbs=tfbsConsList ; tfbs != NULL ; tfbs = tfbs->next) { if (!sameString(tfbs->species, "N")) printFactors = TRUE; /* print each strand only once */ if ((printedMinus && (tfbs->strand[0] == '-')) || (printedPlus && (tfbs->strand[0] == '+'))) continue; if (!firstTime) htmlHorizontalLine(); else firstTime = FALSE; printf("<B>Item:</B> %s<BR>\n", tfbs->name); if (mappedId != NULL) printCustomUrl(tdb, mappedId, FALSE); printf("<B>Score:</B> %d<BR>\n", tfbs->score ); printf("<B>Strand:</B> %s<BR>\n", tfbs->strand); printPos(tfbsConsList->chrom, tfbs->chromStart, tfbs->chromEnd, NULL, TRUE, tfbs->name); printedPlus = printedPlus || (tfbs->strand[0] == '+'); printedMinus = printedMinus || (tfbs->strand[0] == '-'); } if (printFactors) { char protMapTable[256]; char *factorDb; htmlHorizontalLine(); - printf("<B><font size=\"5\">Transcription Factors known to bind to this site:</font></B><BR><BR>"); + printf("<B style='font-size:large;'>Transcription Factors known to bind to this site:</B><BR><BR>"); for(tfbs=tfbsConsList ; tfbs != NULL ; tfbs = tfbs->next) { /* print only the positive strand when factors are on both strands */ if ((tfbs->strand[0] == '-') && printedPlus) continue; if (!sameString(tfbs->species, "N")) { printf("<BR><B>Factor:</B> %s<BR>\n", tfbs->factor); printf("<B>Species:</B> %s<BR>\n", tfbs->species); printf("<B>SwissProt ID:</B> %s<BR>\n", sameString(tfbs->id, "N")? "unknown": tfbs->id); factorDb = hDefaultDbForGenome(tfbs->species); safef(protMapTable, sizeof(protMapTable), "%s.kgProtMap", factorDb); @@ -5225,31 +5225,31 @@ msg = "is from the InVitroGen/Genoscope full-length library. Some of the entries " "associated with this dataset appear to have been aligned to the reference " "genome and the sequences subsequently modified to match the genome. This " "process may have resulted in apparent high-quality alignments to pseudogenes."; break; case gbWarnAthRage: msg = "is from the Athersys RAGE library. These sequences were created by inducing expression and may not " "be an indication of in vivo expression."; break; case gbWarnOrestes: msg = "is from an ORESTES library. This protocol includes a PCR step subject to genomic contamination."; break; } assert(msg != NULL); char *msg2= "Care should be taken in using alignments of this sequence as evidence of transcription."; -printf("<B>Warning:<font color=\"red\"> %s %s %s</font></B><BR>\n", acc, msg, msg2); +printf("<B>Warning:<span style='color:red;'> %s %s %s</span></B><BR>\n", acc, msg, msg2); } static void printRnaSpecs(struct trackDb *tdb, char *acc, struct psl *psl) /* Print auxiliarry info on RNA. */ { struct dyString *dy = newDyString(1024); struct sqlConnection *conn = hAllocConn(database); struct sqlConnection *conn2= hAllocConn(database); struct sqlResult *sr; char **row; char rgdEstId[512]; char query[256]; char *type,*direction,*source,*orgFullName,*library,*clone,*sex,*tissue, *development,*cell,*cds,*description, *author,*geneName, *date,*productName; @@ -5650,37 +5650,37 @@ char *face = "Times"; /* specifies font face to use */ char *fsize = "+1"; /* specifies font size */ /* check if there is an alignment available for this sequence. This checks * both genbank sequences and other sequences in the seq table. If so, * set it up so they can click through to the alignment. */ if (hGenBankHaveSeq(database, item, NULL)) { printf("<H3>%s/Genomic Alignments</H3>", item); printAlignments(pslList, start, "htcCdnaAli", tdb->table, item); } else { /* print out the psls */ printf("<PRE><TT>"); - printf("<FONT FACE = \"%s\" SIZE = \"%s\">\n", face, fsize); + printf("<span style='font-family:%s; font-size:%s;'>\n", face, fsize); for (psl = pslList; psl != NULL; psl = psl->next) { pslOutFormat(psl, stdout, '\n', '\n'); } - printf("</FONT></TT></PRE>\n"); + printf("</span></TT></PRE>\n"); } pslFreeList(&pslList); } void doAffy(struct trackDb *tdb, char *item, char *itemForUrl) /* Display information for Affy tracks*/ { char *dupe, *type, *words[16]; char *orthoTable = trackDbSetting(tdb, "orthoTable"); char *otherDb = trackDbSetting(tdb, "otherDb"); int wordCount; int start = cartInt(cart, "o"); char query[256]; char **row; @@ -14534,39 +14534,39 @@ if(snp->avHetSE>0) { printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/Hetfreq.html\" target=\"_blank\">"); printf("Average Heterozygosity</A>:</B> %f<BR>\n",snp->avHet); printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/Hetfreq.html\" target=\"_blank\">"); printf("Standard Error of Avg. Het.</A>: </B> %f<BR>\n", snp->avHetSE); } else { printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/Hetfreq.html\" target=\"_blank\">"); printf("Average Heterozygosity</A>:</B> Not Known<BR>\n"); printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/Hetfreq.html\" target=\"_blank\">"); printf("Standard Error of Avg. Het.</A>: </B> Not Known<BR>\n"); } /* printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/snp_legend.cgi?legend=snpFxnColor\" target=\"_blank\">"); - printf("Functional Status</A>:</B> <font face=\"Courier\">%s<BR></font>\n", snp->func); -*/ printf("<B>Functional Status:</B> <font face=\"Courier\">%s<BR></font>\n", snp->func); + printf("Functional Status</A>:</B> <span style='font-family:Courier;'>%s<BR></span>\n", snp->func); +*/ printf("<B>Functional Status:</B> <span style='font-family:Courier;'>%s<BR></span>\n", snp->func); printf("<B><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/snp_legend.cgi?legend=validation\" target=\"_blank\">"); - printf("Validation Status</A>:</B> <font face=\"Courier\">%s<BR></font>\n", snp->valid); -/* printf("<B>Validation Status:</B> <font face=\"Courier\">%s<BR></font>\n", snp->valid);*/ - printf("<B>Allele1: </B> <font face=\"Courier\">%s<BR></font>\n", snp->allele1); - printf("<B>Allele2: </B> <font face=\"Courier\">%s<BR>\n", snp->allele2); + printf("Validation Status</A>:</B> <span style='font-family:Courier;'>%s<BR></span>\n", snp->valid); +/* printf("<B>Validation Status:</B> <span style='font-family:Courier;'>%s<BR></span>\n", snp->valid);*/ + printf("<B>Allele1: </B> <span style='font-family:Courier;'>%s<BR></span>\n", snp->allele1); + printf("<B>Allele2: </B> <span style='font-family:Courier;'>%s<BR>\n", snp->allele2); printf("<B>Sequence in Assembly</B>: %s<BR>\n", snp->assembly); - printf("<B>Alternate Sequence</B>: %s<BR></font>\n", snp->alternate); + printf("<B>Alternate Sequence</B>: %s<BR></span>\n", snp->alternate); } dbSnpRsFree(&snp); } sqlDisconnect(&hgFixed); if (sameString(dbOrg,"Hg")) { safef(query, sizeof(query), "select source, type from snpMap where name = '%s'", name); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { printf("<B><A HREF=\"#source\">Variant Source</A></B>: %s<BR>\n",row[0]); printf("<B><A HREF=\"#type\">Variant Type</A></B>: %s\n",row[1]); } sqlFreeResult(&sr); @@ -14687,53 +14687,53 @@ char *id; char *br=" "; char *noteColor="#7f0000"; boolean firstException=TRUE; boolean multiplePositions=FALSE; if (sameString(exceptionList,"0")) return; tokens=cloneString(exceptionList); lf=lineFileOnString("snpExceptions", TRUE, tokens); tkz=tokenizerOnLineFile(lf); while ((id=tokenizerNext(tkz))!=NULL) { if (firstException) { - printf("<BR><B><font color=%s>Note(s):</font></B><BR>\n",noteColor); + printf("<BR><B style='color:%s;'>Note(s):</B><BR>\n",noteColor); firstException=FALSE; } if (sameString(id,",")) /* is there a tokenizer that doesn't return separators? */ continue; if (sameString(id,"18")||sameString(id,"19")||sameString(id,"20")) multiplePositions=TRUE; br=cloneString("<BR>"); safef(query, sizeof(query), "select * from snpExceptions where exceptionId = %s", id); sr = sqlGetResult(conn, query); /* exceptionId is a primary key; at most 1 record returned */ while ((row = sqlNextRow(sr))!=NULL) { snpExceptionsStaticLoad(row, &se); - printf(" <font color=%s><B>%s</B></font><BR>\n", + printf(" <B style='color:%s;'>%s</B><BR>\n", noteColor,se.description); } } printf("%s\n",br); if (multiplePositions) { struct snp snp; - printf("<font color=#7f0000><B>Other Positions</font></B>:<BR><BR>"); + printf("<B style='color:#7f0000;'>Other Positions</B>:<BR><BR>"); safef(query, sizeof(query), "select * from snp where name='%s'", itemName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr))!=NULL) { snpStaticLoad(row+rowOffset, &snp); if (differentString(chrom,snp.chrom) || chromStart!=snp.chromStart) { bedPrintPos((struct bed *)&snp, 3, tdb); printf("<BR>\n"); } } } } void printSnpInfo(struct snp snp) @@ -15194,47 +15194,47 @@ " NA17101, NA17102, NA17103, NA17104, NA17105, NA17106, " " NA17201, NA17202, NA17203, NA17204, NA17205, NA17206, " " NA17207, NA17208, NA17210, NA17211, NA17212, NA17213, " " PD01, PD02, PD03, PD04, PD05, PD06, PD07, PD08, " " PD09, PD10, PD11, PD12, PD13, PD14, PD15, PD16, " " PD17, PD18, PD19, PD20, PD21, PD22, PD23, PD24 " "from affy120KDetails " "where affyId = %s", name); snp = affy120KDetailsLoadByQuery(conn, query); if (snp!=NULL) { printf("<BR>\n"); printf("<B>Sample Prep Enzyme:</B> <I>%s</I><BR>\n",snp->enzyme); printf("<B>Minimum Allele Frequency:</B> %.3f<BR>\n",snp->minFreq); printf("<B>Heterozygosity:</B> %.3f<BR>\n",snp->hetzyg); - printf("<B>Base A: </B> <font face=\"Courier\">%s<BR></font>\n", + printf("<B>Base A: </B> <span style='font-family:Courier;'>%s</span><BR>\n", snp->baseA); - printf("<B>Base B: </B> <font face=\"Courier\">%s<BR></font>\n", + printf("<B>Base B: </B> <span style='font-family:Courier;'>%s</span><BR>\n", snp->baseB); - printf("<B>Sequence of Allele A:</B> <font face=\"Courier\">"); - printf("%s</font><BR>\n",snp->sequenceA); - printf("<B>Sequence of Allele B:</B> <font face=\"Courier\">"); - printf("%s</font><BR>\n",snp->sequenceB); + printf("<B>Sequence of Allele A:</B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->sequenceA); + printf("<B>Sequence of Allele B:</B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->sequenceB); if (snp->rsId>0) { printf("<BR><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/snp_ref.cgi?"); printf("type=rs&rs=%s\" TARGET=_blank>dbSNP link for %s</A><BR>\n", snp->rsId, snp->rsId); } doSnpEntrezGeneLink(tdb, snp->rsId); printf("<BR>Genotypes:<BR>"); - printf("\n<BR><font face=\"Courier\">"); + printf("\n<BR><span style='font-family:Courier;'>"); printf("NA04477: %s ", snp->NA04477); printf("NA04479: %s ", snp->NA04479); printf("NA04846: %s ", snp->NA04846); printf("NA11036: %s ", snp->NA11036); printf("NA11038: %s ", snp->NA11038); printf("NA13056: %s ", snp->NA13056); printf("\n<BR>NA17011: %s ", snp->NA17011); printf("NA17012: %s ", snp->NA17012); printf("NA17013: %s ", snp->NA17013); printf("NA17014: %s ", snp->NA17014); printf("NA17015: %s ", snp->NA17015); printf("NA17016: %s ", snp->NA17016); printf("\n<BR>NA17101: %s ", snp->NA17101); printf("NA17102: %s ", snp->NA17102); printf("NA17103: %s ", snp->NA17103); @@ -15265,31 +15265,31 @@ printf("PD10: %s ", snp->PD10); printf("PD11: %s ", snp->PD11); printf("PD12: %s ", snp->PD12); printf("\n<BR>PD13: %s ", snp->PD13); printf("PD14: %s ", snp->PD14); printf("PD15: %s ", snp->PD15); printf("PD16: %s ", snp->PD16); printf("PD17: %s ", snp->PD17); printf("PD18: %s ", snp->PD18); printf("\n<BR>PD19: %s ", snp->PD19); printf("PD20: %s ", snp->PD20); printf("PD21: %s ", snp->PD21); printf("PD22: %s ", snp->PD22); printf("PD23: %s ", snp->PD23); printf("PD24: %s ", snp->PD24); - printf("\n</font>\n"); + printf("\n</span>\n"); } affy120KDetailsFree(&snp); sqlDisconnect(&conn); } void doCnpLocke(struct trackDb *tdb, char *itemName) { char *table = tdb->table; struct cnpLocke thisItem; struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr; char **row; char query[256]; int rowOffset = hOffsetPastBin(database, seqName, table); int start = cartInt(cart, "o"); @@ -15765,38 +15765,38 @@ "select affyId, rsId, tscId, baseA, baseB, " "sequenceA, sequenceB, enzyme " /** minFreq, hetzyg, and avHetSE are waiting for additional data from Affy **/ /* " , minFreq, hetzyg, avHetSE "*/ "from affy10KDetails " "where affyId = '%s'", name); snp = affy10KDetailsLoadByQuery(conn, query); if (snp!=NULL) { printf("<BR>\n"); printf("<B>Sample Prep Enzyme: </B> <I>XbaI</I><BR>\n"); /** minFreq, hetzyg, and avHetSE are waiting for additional data from Affy **/ /* printf("<B>Minimum Allele Frequency:</B> %.3f<BR>\n",snp->minFreq);*/ /* printf("<B>Heterozygosity: </B> %.3f<BR>\n",snp->hetzyg);*/ /* printf("<B>Average Heterozygosity: </B> %.3f<BR>\n",snp->avHetSE);*/ - printf("<B>Base A: </B> <font face=\"Courier\">"); - printf("%s<BR></font>\n",snp->baseA); - printf("<B>Base B: </B> <font face=\"Courier\">"); - printf("%s<BR></font>\n",snp->baseB); - printf("<B>Sequence of Allele A: </B> <font face=\"Courier\">"); - printf("%s</font><BR>\n",snp->sequenceA); - printf("<B>Sequence of Allele B: </B> <font face=\"Courier\">"); - printf("%s</font><BR>\n",snp->sequenceB); + printf("<B>Base A: </B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->baseA); + printf("<B>Base B: </B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->baseB); + printf("<B>Sequence of Allele A: </B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->sequenceA); + printf("<B>Sequence of Allele B: </B> <span style='font-family:Courier;'>"); + printf("%s</span><BR>\n",snp->sequenceB); printf("<P><A HREF=\"https://www.affymetrix.com/LinkServlet?probeset="); printf("%s", snp->affyId); printf("\" TARGET=_blank>Affymetrix NetAffx Analysis Center link for "); printf("%s</A></P>\n", snp->affyId); if (strncmp(snp->rsId,"unmapped",8)) { printf("<P><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/snp_ref.cgi?"); printf("type=rs&rs=%s\" TARGET=_blank>dbSNP link for rs%s</A></P>\n", snp->rsId, snp->rsId); } printf("<BR><A HREF=\"http://snp.cshl.org/cgi-bin/snp?name="); printf("%s\" TARGET=_blank>TSC link for %s</A>\n", snp->tscId, snp->tscId); @@ -17660,31 +17660,32 @@ return id; } void doEncodeErge(struct trackDb *tdb, char *item) /* Print ENCODE data from dbERGE II */ { struct sqlConnection *conn = hAllocConn(database); char query[1024]; struct encodeErge *ee=NULL; int start = cartInt(cart, "o"); char *newLabel = tdb->longLabel + 7; /* removes 'ENCODE ' from label */ char *encodeName = getEncodeName(item); char *encodeId = getEncodeId(item); cartWebStart(cart, database, "ENCODE Region Data: %s", newLabel); -printf("<H2>ENCODE Region <U>%s</U> Data for %s.</H2>\n", newLabel, encodeName); +printf("<H2>ENCODE Region <span style='text-decoration:underline;'>%s</span> Data for %s.</H2>\n", + newLabel, encodeName); genericHeader(tdb, encodeName); genericBedClick(conn, tdb, item, start, 14); /* reserved field has changed to itemRgb in code 2004-11-22 - Hiram */ safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand, " " thickStart, thickEnd, reserved, blockCount, blockSizes, " " chromStarts, Id, color " "from %s " "where name = '%s' and chromStart = %d " "order by Id ", tdb->table, item, start); for (ee = encodeErgeLoadByQuery(conn, query); ee!=NULL; ee=ee->next) { printf("<BR>\n"); if (ee->Id>0) @@ -17703,31 +17704,32 @@ void doEncodeErgeHssCellLines(struct trackDb *tdb, char *item) /* Print ENCODE data from dbERGE II */ { struct sqlConnection *conn = hAllocConn(database); char query[1024]; struct encodeErgeHssCellLines *ee=NULL; int start = cartInt(cart, "o"); char *dupe, *words[16]; int wordCount=0; char *encodeName = getEncodeName(item); char *encodeId = getEncodeId(item); int i; cartWebStart(cart, database, "ENCODE Region Data: %s", tdb->longLabel+7); -printf("<H2>ENCODE Region <U>%s</U> Data for %s</H2>\n", tdb->longLabel+7, encodeName); +printf("<H2>ENCODE Region <span style='text-decoration:underline;'>%s</span> Data for %s</H2>\n", + tdb->longLabel+7, encodeName); genericHeader(tdb, item); dupe = cloneString(tdb->type); wordCount = chopLine(dupe, words); genericBedClick(conn, tdb, item, start, atoi(words[1])); /* reserved field has changed to itemRgb in code 2004-11-22 - Hiram */ safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand, " " thickStart, thickEnd, reserved, blockCount, blockSizes, " " chromStarts, Id, color, allLines " "from %s " "where name = '%s' and chromStart = %d " "order by Id ", tdb->table, item, start); for (ee = encodeErgeHssCellLinesLoadByQuery(conn, query); ee!=NULL; ee=ee->next) { @@ -18413,42 +18415,42 @@ hFreeConn(&conn); } void doProbeDetails(struct trackDb *tdb, char *item) { struct sqlConnection *conn = hAllocConn(database); struct dnaProbe *dp = NULL; char buff[256]; genericHeader(tdb, item); snprintf(buff, sizeof(buff), "select * from dnaProbe where name='%s'", item); dp = dnaProbeLoadByQuery(conn, buff); if(dp != NULL) { printf("<h3>Probe details:</h3>\n"); - printf("<b>Name:</b> %s <font size=-2>[dbName genomeVersion strand coordinates]</font><br>\n",dp->name); + printf("<b>Name:</b> %s <span style='font-size:x-small;'>[dbName genomeVersion strand coordinates]</span><br>\n",dp->name); printf("<b>Dna:</b> %s", dp->dna ); printf("[<a href=\"hgBlat?type=DNA&genome=hg8&sort=&query,score&output=hyperlink&userSeq=%s\">blat (blast like alignment)</a>]<br>", dp->dna); printf("<b>Size:</b> %d<br>", dp->size ); printf("<b>Chrom:</b> %s<br>", dp->chrom ); printf("<b>ChromStart:</b> %d<br>", dp->start+1 ); printf("<b>ChromEnd:</b> %d<br>", dp->end ); printf("<b>Strand:</b> %s<br>", dp->strand ); printf("<b>3' Dist:</b> %d<br>", dp->tpDist ); - printf("<b>Tm:</b> %f <font size=-2>[scores over 100 are allowed]</font><br>", dp->tm ); + printf("<b>Tm:</b> %f <span style='font-size:x-small;'>[scores over 100 are allowed]</span><br>", dp->tm ); printf("<b>%%GC:</b> %f<br>", dp->pGC ); - printf("<b>Affy:</b> %d <font size=-2>[1 passes, 0 doesn't pass Affy heuristic]</font><br>", dp->affyHeur ); + printf("<b>Affy:</b> %d <span style='font-size:x-small;'>[1 passes, 0 doesn't pass Affy heuristic]</span><br>", dp->affyHeur ); printf("<b>Sec Struct:</b> %f<br>", dp->secStruct); printf("<b>blatScore:</b> %d<br>", dp->blatScore ); printf("<b>Comparison:</b> %f<br>", dp->comparison); } /* printf("<h3>Genomic Details:</h3>\n"); * genericBedClick(conn, tdb, item, start, 1); */ printTrackHtml(tdb); hFreeConn(&conn); } void doChicken13kDetails(struct trackDb *tdb, char *item) { struct sqlConnection *conn = hAllocConn(database); struct chicken13kInfo *chick = NULL; char buff[256]; @@ -18784,84 +18786,80 @@ void chuckHtmlStart(char *title) /* Prints the header appropriate for the title * passed in. Links html to chucks stylesheet for * easier maintaince */ { printf("<HTML>\n<HEAD>\n"); //FIXME blueStyle should not be absolute to genome-test and should bae called by: webIncludeResourceFile("blueStyle.css"); printf("<LINK REL=STYLESHEET TYPE=\"text/css\" href=\"http://genome-test.cse.ucsc.edu/style/blueStyle.css\" title=\"Chuck Style\">\n"); printf("<title>%s</title>\n</head><body bgcolor=\"#f3f3ff\">",title); } void chuckHtmlContactInfo() /* Writes out Chuck's email so people bother Chuck instead of Jim */ { -puts("<br><br><font size=-2><i>If you have comments and/or suggestions please email " - "<a href=\"mailto:sugnet@cse.ucsc.edu\">sugnet@cse.ucsc.edu</a>.\n"); +puts("<br><br><span style='font-size:x-small;'><i>If you have comments and/or suggestions please email " + "<a href=\"mailto:sugnet@cse.ucsc.edu\">sugnet@cse.ucsc.edu</a>.</span>\n"); } void abbr(char *s, char *fluff) /* Cut out fluff from s. */ { int len; s = strstr(s, fluff); if (s != NULL) { len = strlen(fluff); strcpy(s, s+len); } } void printTableHeaderName(char *name, char *clickName, char *url) /* creates a table to display a name vertically, * basically creates a column of letters */ { int i, length; char *header = cloneString(name); header = cloneString(header); subChar(header,'_',' '); length = strlen(header); if(url == NULL) url = cloneString(""); /* printf("<b>Name:</b> %s\t<b>clickName:</b> %s\n", name,clickName); */ if(strstr(clickName,name)) - printf("<table border=0 cellspacing=0 cellpadding=0 bgcolor=\"D9E4F8\">\n"); + printf("<table border=0 cellspacing=0 cellpadding=0 bgcolor='#D9E4F8'>\n"); else printf("<table border=0 cellspacing=0 cellpadding=0>\n"); for(i = 0; i < length; i++) { if(header[i] == ' ') printf("<tr><td align=center> </td></tr>\n"); else { if(strstr(clickName,name)) - printf("<tr><td align=center bgcolor=\"D9E4F8\">"); + printf("<tr><td align=center bgcolor='#D9E4F8'>"); else printf("<tr><td align=center>"); /* if we have a url, create a reference */ if(differentString(url,"")) printf("<a href=\"%s\" TARGET=_BLANK>%c</a>", url, header[i]); else printf("%c", header[i]); - if(strstr(clickName,name)) - { - printf("</font>"); - } printf("</td></tr>"); } printf("\n"); } printf("</table>\n"); freez(&header); } struct sageExp *loadSageExps(char *tableName, struct bed *bedist) /* load the sage experiment data. */ { struct sqlConnection *sc = NULL; /* struct sqlConnection *sc = sqlConnectRemote("localhost", user, password, "hgFixed"); */ char query[256]; struct sageExp *seList = NULL, *se=NULL; @@ -19026,31 +19024,31 @@ char *tmp; tmp = strstr(se->exp,"_"); if(++count%2) printf("<tr>\n"); else printf("<tr bgcolor=\"#bababa\">\n"); printf("<td align=left>"); printf("%s</td>\n", tmp ? (tmp+1) : se->exp); printf("<td align=left>%s</td>\n", se->tissueType); for(sg=sgList; sg!=NULL; sg=sg->next) { if(sg->aves[se->num] == -1.0) printf("<td>N/A</td>"); else - printf("<td> <b>%4.1f</b> <font size=-2>[%.2f ± %.2f]</font></td>\n", + printf("<td> <b>%4.1f</b> <span style='font-size:x-small;'>[%.2f ± %.2f]</span></td>\n", sg->meds[se->num],sg->aves[se->num],sg->stdevs[se->num]); } printf("</tr>\n"); } printf("</table>\n"); } struct bed *bedWScoreLoadByChrom(char *table, char *chrom, int start, int end) { struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr = NULL; struct bed *bedWS, *bedWSList = NULL; char **row; char query[256]; @@ -19323,38 +19321,38 @@ safef(query, sizeof(query), "select orhtoAgName from orthoAgReport where agName='%s'", ag->name); sqlQuickQuery(conn, query, buff, sizeof(buff)); safef(query, sizeof(query), "select * from altGraphX where name='%s'", buff); orthoAg = altGraphXLoadByQuery(orthoConn, query); if(differentString(orthoAg->strand, origAg->strand)) { altGraphXReverseComplement(orthoAg); puts("<br>Mouse (opposite strand)\n"); } else puts("<br>Mouse\n"); printf("<a HREF=\"%s&db=%s&position=%s:%d-%d&mrna=squish&intronEst=squish&refGene=pack&altGraphX=full\"", hgTracksName(), "mm3", orthoAg->tName, orthoAg->tStart, orthoAg->tEnd); printf(" ALT=\"Zoom to browser coordinates of altGraphX\">"); - printf("<font size=-1>[%s.%s:%d-%d]</font></a><br><br>\n", "mm3", + printf("<span style='font-size:smaller;'>[%s.%s:%d-%d]</span></a><br><br>\n", "mm3", orthoAg->tName, orthoAg->tStart, orthoAg->tEnd); altGraphXMakeImage(tdb,orthoAg); } printf("<br><a HREF=\"%s&position=%s:%d-%d&mrna=full&intronEst=full&refGene=full&altGraphX=full\"", hgTracksPathAndSettings(), ag->tName, ag->tStart, ag->tEnd); printf(" ALT=\"Zoom to browser coordinates of Alt-Splice\">"); -printf("Jump to browser for %s</a><font size=-1> [%s:%d-%d] </font><br><br>\n", ag->name, ag->tName, ag->tStart, ag->tEnd); +printf("Jump to browser for %s</a><span style='font-size:smaller;'> [%s:%d-%d] </span><br><br>\n", ag->name, ag->tName, ag->tStart, ag->tEnd); if(cgiVarExists("agxPrintEdges")) printAltGraphXEdges(ag); printf("</center>\n"); hFreeConn(&conn); } struct lineFile *openExtLineFile(unsigned int extFileId) /* Open line file corresponding to id in extFile table. */ { char *path = hExtFileName(database, "extFile", extFileId); struct lineFile *lf = lineFileOpen(path, TRUE); freeMem(path); return lf; }