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,"",color); + dyStringPrintf(dy,"",color); } void stopColorStr(struct dyString *dy, int track) { prevColor[track] = currentColor[track]; } void addTag(struct dyString *dy, struct dyString *tag) { dyStringPrintf(dy,"",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("Transcription Factor Binding Site information:


"); +printf("Transcription Factor Binding Site information:


"); 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("Item: %s
\n", tfbsConsSites->name); if (mappedId != NULL) printCustomUrl(tdb, mappedId, FALSE); printf("Score: %d
\n", tfbsConsSites->score ); printf("zScore: %.2f
\n", tfbsConsSites->zScore ); printf("Strand: %s
\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("Transcription Factors known to bind to this site:

"); + printf("Transcription Factors known to bind to this site:

"); for(tfbsConsFactor =tfbsConsFactorList ; tfbsConsFactor != NULL ; tfbsConsFactor = tfbsConsFactor ->next) { if (!sameString(tfbsConsFactor->species, "N")) { printf("
Factor: %s
\n", tfbsConsFactor->factor); printf("Species: %s
\n", tfbsConsFactor->species); printf("SwissProt ID: %s
\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("Transcription Factor Binding Site information:


"); +printf("Transcription Factor Binding Site information:


"); 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("Item: %s
\n", tfbs->name); if (mappedId != NULL) printCustomUrl(tdb, mappedId, FALSE); printf("Score: %d
\n", tfbs->score ); printf("Strand: %s
\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("Transcription Factors known to bind to this site:

"); + printf("Transcription Factors known to bind to this site:

"); 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("
Factor: %s
\n", tfbs->factor); printf("Species: %s
\n", tfbs->species); printf("SwissProt ID: %s
\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("Warning: %s %s %s
\n", acc, msg, msg2); +printf("Warning: %s %s %s
\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("

%s/Genomic Alignments

", item); printAlignments(pslList, start, "htcCdnaAli", tdb->table, item); } else { /* print out the psls */ printf("
");
-    printf("\n", face, fsize);
+    printf("\n", face, fsize);
 
     for (psl = pslList;  psl != NULL; psl = psl->next)
        {
        pslOutFormat(psl, stdout, '\n', '\n');
        }
-    printf("
\n"); + printf("
\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(""); printf("Average Heterozygosity: %f
\n",snp->avHet); printf(""); printf("Standard Error of Avg. Het.: %f
\n", snp->avHetSE); } else { printf(""); printf("Average Heterozygosity: Not Known
\n"); printf(""); printf("Standard Error of Avg. Het.: Not Known
\n"); } /* printf(""); - printf("Functional Status: %s
\n", snp->func); -*/ printf("Functional Status: %s
\n", snp->func); + printf("Functional Status: %s
\n", snp->func); +*/ printf("Functional Status: %s
\n", snp->func); printf(""); - printf("Validation Status: %s
\n", snp->valid); -/* printf("Validation Status: %s
\n", snp->valid);*/ - printf("Allele1: %s
\n", snp->allele1); - printf("Allele2: %s
\n", snp->allele2); + printf("Validation Status: %s
\n", snp->valid); +/* printf("Validation Status: %s
\n", snp->valid);*/ + printf("Allele1: %s
\n", snp->allele1); + printf("Allele2: %s
\n", snp->allele2); printf("Sequence in Assembly: %s
\n", snp->assembly); - printf("Alternate Sequence:   %s
\n", snp->alternate); + printf("Alternate Sequence:   %s
\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("Variant Source:  %s
\n",row[0]); printf("Variant Type:  %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("
Note(s):
\n",noteColor); + printf("
Note(s):
\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("
"); 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("   %s
\n", + printf("   %s
\n", noteColor,se.description); } } printf("%s\n",br); if (multiplePositions) { struct snp snp; - printf("Other Positions:

"); + printf("Other Positions:

"); 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("
\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("
\n"); printf("Sample Prep Enzyme: %s
\n",snp->enzyme); printf("Minimum Allele Frequency: %.3f
\n",snp->minFreq); printf("Heterozygosity: %.3f
\n",snp->hetzyg); - printf("Base A: %s
\n", + printf("Base A: %s
\n", snp->baseA); - printf("Base B: %s
\n", + printf("Base B: %s
\n", snp->baseB); - printf("Sequence of Allele A: "); - printf("%s
\n",snp->sequenceA); - printf("Sequence of Allele B: "); - printf("%s
\n",snp->sequenceB); + printf("Sequence of Allele A: "); + printf("%s
\n",snp->sequenceA); + printf("Sequence of Allele B: "); + printf("%s
\n",snp->sequenceB); if (snp->rsId>0) { printf("
dbSNP link for %s
\n", snp->rsId, snp->rsId); } doSnpEntrezGeneLink(tdb, snp->rsId); printf("
Genotypes:
"); - printf("\n
"); + printf("\n
"); 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
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
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
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
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
\n"); + printf("\n\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("
\n"); printf("Sample Prep Enzyme: XbaI
\n"); /** minFreq, hetzyg, and avHetSE are waiting for additional data from Affy **/ /* printf("Minimum Allele Frequency: %.3f
\n",snp->minFreq);*/ /* printf("Heterozygosity: %.3f
\n",snp->hetzyg);*/ /* printf("Average Heterozygosity: %.3f
\n",snp->avHetSE);*/ - printf("Base A: "); - printf("%s
\n",snp->baseA); - printf("Base B: "); - printf("%s
\n",snp->baseB); - printf("Sequence of Allele A:  "); - printf("%s
\n",snp->sequenceA); - printf("Sequence of Allele B:  "); - printf("%s
\n",snp->sequenceB); + printf("Base A: "); + printf("%s
\n",snp->baseA); + printf("Base B: "); + printf("%s
\n",snp->baseB); + printf("Sequence of Allele A:  "); + printf("%s
\n",snp->sequenceA); + printf("Sequence of Allele B:  "); + printf("%s
\n",snp->sequenceB); printf("

affyId); printf("\" TARGET=_blank>Affymetrix NetAffx Analysis Center link for "); printf("%s

\n", snp->affyId); if (strncmp(snp->rsId,"unmapped",8)) { printf("

dbSNP link for rs%s

\n", snp->rsId, snp->rsId); } printf("
TSC link for %s\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("

ENCODE Region %s Data for %s.

\n", newLabel, encodeName); +printf("

ENCODE Region %s Data for %s.

\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("
\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("

ENCODE Region %s Data for %s

\n", tdb->longLabel+7, encodeName); +printf("

ENCODE Region %s Data for %s

\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("

Probe details:

\n"); - printf("Name: %s [dbName genomeVersion strand coordinates]
\n",dp->name); + printf("Name: %s [dbName genomeVersion strand coordinates]
\n",dp->name); printf("Dna: %s", dp->dna ); printf("[blat (blast like alignment)]
", dp->dna); printf("Size: %d
", dp->size ); printf("Chrom: %s
", dp->chrom ); printf("ChromStart: %d
", dp->start+1 ); printf("ChromEnd: %d
", dp->end ); printf("Strand: %s
", dp->strand ); printf("3' Dist: %d
", dp->tpDist ); - printf("Tm: %f [scores over 100 are allowed]
", dp->tm ); + printf("Tm: %f [scores over 100 are allowed]
", dp->tm ); printf("%%GC: %f
", dp->pGC ); - printf("Affy: %d [1 passes, 0 doesn't pass Affy heuristic]
", dp->affyHeur ); + printf("Affy: %d [1 passes, 0 doesn't pass Affy heuristic]
", dp->affyHeur ); printf("Sec Struct: %f
", dp->secStruct); printf("blatScore: %d
", dp->blatScore ); printf("Comparison: %f
", dp->comparison); } /* printf("

Genomic Details:

\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("\n\n"); //FIXME blueStyle should not be absolute to genome-test and should bae called by: webIncludeResourceFile("blueStyle.css"); printf("\n"); printf("%s\n",title); } void chuckHtmlContactInfo() /* Writes out Chuck's email so people bother Chuck instead of Jim */ { -puts("

If you have comments and/or suggestions please email " - "sugnet@cse.ucsc.edu.\n"); +puts("

If you have comments and/or suggestions please email " + "sugnet@cse.ucsc.edu.\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("Name: %s\tclickName: %s\n", name,clickName); */ if(strstr(clickName,name)) - printf("\n"); + printf("
\n"); else printf("
\n"); for(i = 0; i < length; i++) { if(header[i] == ' ') printf("\n"); else { if(strstr(clickName,name)) - printf(""); } printf("\n"); } printf("
 
"); + printf("
"); else printf("
"); /* if we have a url, create a reference */ if(differentString(url,"")) printf("%c", url, header[i]); else printf("%c", header[i]); - if(strstr(clickName,name)) - { - printf(""); - } printf("
\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("\n"); else printf("\n"); printf(""); printf("%s\n", tmp ? (tmp+1) : se->exp); printf("%s\n", se->tissueType); for(sg=sgList; sg!=NULL; sg=sg->next) { if(sg->aves[se->num] == -1.0) printf("N/A"); else - printf(" %4.1f [%.2f ± %.2f]\n", + printf(" %4.1f [%.2f ± %.2f]\n", sg->meds[se->num],sg->aves[se->num],sg->stdevs[se->num]); } printf("\n"); } printf("\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("
Mouse (opposite strand)\n"); } else puts("
Mouse\n"); printf("tName, orthoAg->tStart, orthoAg->tEnd); printf(" ALT=\"Zoom to browser coordinates of altGraphX\">"); - printf("[%s.%s:%d-%d]

\n", "mm3", + printf("[%s.%s:%d-%d]

\n", "mm3", orthoAg->tName, orthoAg->tStart, orthoAg->tEnd); altGraphXMakeImage(tdb,orthoAg); } printf("
tName, ag->tStart, ag->tEnd); printf(" ALT=\"Zoom to browser coordinates of Alt-Splice\">"); -printf("Jump to browser for %s [%s:%d-%d]

\n", ag->name, ag->tName, ag->tStart, ag->tEnd); +printf("Jump to browser for %s [%s:%d-%d]

\n", ag->name, ag->tName, ag->tStart, ag->tEnd); if(cgiVarExists("agxPrintEdges")) printAltGraphXEdges(ag); printf("\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; }