67177a6e5612ac45b606ff2ae34920191bed7516 tdreszer Wed Jul 11 15:43:00 2012 -0700 Next batch of many checkins as dictated by Jim. Formatting if and limiting lines to 100 chars. Changes limited to lines last touched by tdreszer (git blame) so as not to ruin history. None of these changes should affect executables in any way. diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 0fd2e89..18d2927 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -1112,33 +1112,34 @@ safef(query, sizeof(query), "select * from %s order by score desc limit %d", filterTable, filterCt); } else { hFindSplitTable(database, seqName, tdb->table, table, &hasBin); safef(query, sizeof(query), "select * from %s where chrom = '%s' and chromEnd > %d and " "chromStart < %d order by score desc", table, seqName, winStart, winEnd); } sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { bed = bedLoadN(row+hasBin, 5); - if (!filterTable || - (sameString(bed->chrom, seqName) && - bed->chromStart < winEnd && bed->chromEnd > winStart)) + if (!filterTable + || ( sameString(bed->chrom, seqName) + && bed->chromStart < winEnd + && bed->chromEnd > winStart)) { slAddHead(&bedList, bed); } else bedFree(&bed); } sqlFreeResult(&sr); if (bedList == NULL) return; slReverse(&bedList); showBedTopScorers(bedList, item, start, maxScorers); } void getBedTopScorers(struct sqlConnection *conn, struct trackDb *tdb, char *table, char *item, int start, int bedSize) @@ -1213,31 +1214,32 @@ if(title==NULL) // Must have title continue; *title = '\0'; title++; if((table = strchr(words[ix],'.')) == NULL) table = tdb->table; else { *table++ = '\0'; // assigns before advance if((words[ix] = strchr(table,'.')) != NULL) { *words[ix] = '\0'; column = ++words[ix]; // advance before assigns } } - safef(query,sizeof(query),"select chrom,chromStart,chromEnd from %s.%s where %s=\"%s\";",db,table,column,name); + safef(query,sizeof(query),"select chrom,chromStart,chromEnd from %s.%s where %s=\"%s\";", + db,table,column,name); struct sqlResult *sr = sqlGetResult(conn, query); if(sr == NULL) continue; char **row = sqlNextRow(sr); if(row == NULL) continue; char *chrom = *row++; int beg = atoi(*row++); int end = atoi(*row); if(!gotOne) { gotOne = TRUE; printf("<P>The item \"%s\" has been located in other genomes:\n<UL>\n",name); } printf("<LI>"); @@ -2253,36 +2255,34 @@ } } struct axt *getAxtListForGene(struct genePred *gp, char *nib, char *fromDb, char *toDb, struct lineFile *lf) /* get all axts for a gene */ { struct axt *axt, *axtGap; struct axt *axtList = NULL; int prevEnd = gp->txStart; int prevStart = gp->txEnd; int tmp; while ((axt = axtRead(lf)) != NULL) { - if (sameString(gp->chrom , axt->tName) && - ( - (((axt->tStart <= gp->cdsStart) && (axt->tEnd >= gp->cdsStart)) || ((axt->tStart <= gp->cdsEnd) && (axt->tEnd >= gp->cdsEnd))) - || (axt->tStart < gp->cdsEnd && axt->tEnd > gp->cdsStart) - ) - ) + if (sameString(gp->chrom, axt->tName) + && ( ( (axt->tStart <= gp->cdsStart && axt->tEnd >= gp->cdsStart) + || (axt->tStart <= gp->cdsEnd && axt->tEnd >= gp->cdsEnd ) ) + || ( axt->tStart < gp->cdsEnd && axt->tEnd > gp->cdsStart ) ) ) { if (gp->strand[0] == '-') { reverseComplement(axt->qSym, axt->symCount); reverseComplement(axt->tSym, axt->symCount); tmp = hChromSize(fromDb, axt->qName) - axt->qStart; axt->qStart = hChromSize(fromDb, axt->qName) - axt->qEnd; axt->qEnd = tmp; if (prevEnd < (axt->tStart)-1) { axtGap = createAxtGap(nib,gp->chrom,prevEnd,(axt->tStart),gp->strand[0]); reverseComplement(axtGap->qSym, axtGap->symCount); reverseComplement(axtGap->tSym, axtGap->symCount); slAddHead(&axtList, axtGap); } @@ -2332,38 +2332,34 @@ /* get all axts for a chain */ { struct lineFile *lf ; struct axt *axt, *axtGap; struct axt *axtList = NULL; int prevEnd = gp->txStart; int prevStart = gp->txEnd; int tmp; lf = lineFileOpen(getAxtFileName(gp->chrom, toDb, alignment, fromDb), TRUE); printf("file %s\n",lf->fileName); while ((axt = axtRead(lf)) != NULL) { /* if (sameString(gp->chrom , axt->tName)) * printf("axt %s qstart %d axt tStart %d\n",axt->qName, axt->qStart,axt->tStart); */ - if (sameString(gp->chrom , axt->tName) && - (sameString(qChrom, axt->qName) && positiveRangeIntersection(qStart, qEnd, axt->qStart, axt->qEnd) )&& - positiveRangeIntersection(gp->txStart, gp->txEnd, axt->tStart, axt->tEnd) - /* ( - (((axt->tStart <= gp->cdsStart) && (axt->tEnd >= gp->cdsStart)) || ((axt->tStart <= gp->cdsEnd) && (axt->tEnd >= gp->cdsEnd))) - || (axt->tStart < gp->cdsEnd && axt->tEnd > gp->cdsStart) - ) */ - ) + if ( sameString(gp->chrom, axt->tName) + && sameString( qChrom, axt->qName) + && positiveRangeIntersection( qStart, qEnd, axt->qStart, axt->qEnd) + && positiveRangeIntersection(gp->txStart, gp->txEnd, axt->tStart, axt->tEnd) ) { if (gp->strand[0] == '-') { reverseComplement(axt->qSym, axt->symCount); reverseComplement(axt->tSym, axt->symCount); tmp = hChromSize(fromDb, axt->qName) - axt->qStart; axt->qStart = hChromSize(fromDb, axt->qName) - axt->qEnd; axt->qEnd = tmp; if (prevEnd < (axt->tStart)-1) { axtGap = createAxtGap(nib,gp->chrom,prevEnd,(axt->tStart)-1,gp->strand[0]); reverseComplement(axtGap->qSym, axtGap->symCount); reverseComplement(axtGap->tSym, axtGap->symCount); slAddHead(&axtList, axtGap); } @@ -2636,33 +2632,35 @@ if ((pepTable != NULL) && hGenBankHaveSeq(database, pepName, pepTable)) { puts("<LI>\n"); hgcAnchorSomewhere(pepClick, pepName, pepTable, seqName); printf("Predicted Protein</A> \n"); puts("</LI>\n"); foundPep = TRUE; } if (!foundPep) { char *autoTranslate = trackDbSetting(tdb, "autoTranslate"); if (autoTranslate == NULL || differentString(autoTranslate, "0")) { puts("<LI>\n"); /* put out correct message to describe translated mRNA */ - if ((sameString(geneTable, "ensGene")) || (sameString(geneTable, "vegaGene")) || (sameString(geneTable, "vegaPseudoGene")) - || (genbankIsRefSeqNonCodingMRnaAcc(geneName)) - || (sameString(geneTable, "lincRNAsTranscripts")) ) + if ( sameString(geneTable, "ensGene") + || sameString(geneTable, "vegaGene") + || sameString(geneTable, "vegaPseudoGene") + || genbankIsRefSeqNonCodingMRnaAcc(geneName) + || sameString(geneTable, "lincRNAsTranscripts") ) { printf("Non-protein coding gene or gene fragment, no protein prediction available."); } else { hgcAnchorSomewhere("htcTranslatedPredMRna", geneName, "translate", seqName); printf("Translated Protein</A> from "); if (sameString(geneTable, "refGene") ) { printf("genomic DNA\n"); } else { printf("predicted mRNA \n"); @@ -3113,31 +3111,32 @@ chain->tName, chain->tStart+1, chain->tEnd, chain->tName, chain->tStart+1, chain->tEnd, chain->tEnd-chain->tStart); printf("<B>Strand:</B> %c<BR>\n", chain->qStrand); qChainRangePlusStrand(chain, &qs, &qe); if (sameWord(otherDb, "seq")) { printf("<B>%s position:</B> %s:%d-%d size: %d<BR>\n", otherOrg, chain->qName, qs, qe, chain->qEnd - chain->qStart); } else { /* prints link to other db browser only if db exists and is active */ /* else just print position with no link for the other db */ printf("<B>%s position: </B>", otherOrg); if (hDbIsActive(otherDb)) - printf(" <A target=\"_blank\" href=\"%s?db=%s&position=%s%%3A%d-%d\">", hgTracksName(), otherDb, chain->qName, qs, qe); + printf(" <A target=\"_blank\" href=\"%s?db=%s&position=%s%%3A%d-%d\">", + hgTracksName(), otherDb, chain->qName, qs, qe); printf("%s:%d-%d", chain->qName, qs, qe); if (hDbIsActive(otherDb)) printf("</A>"); printf(" size: %d<BR>\n", chain->qEnd - chain->qStart); } printf("<B>Chain ID:</B> %s<BR>\n", item); printf("<B>Score:</B> %1.0f\n", chain->score); if (nullSubset) printf("<B>Score within browser window:</B> N/A (no aligned bases)<BR>\n"); else if (hDbIsActive(otherDb) && subChain != chain) printf("<B> Approximate Score within browser window:</B> %1.0f<BR>\n", subSetScore); else printf("<BR>\n"); @@ -3811,32 +3810,35 @@ if (itemForUrl == NULL) itemForUrl = item; dupe = cloneString(tdb->type); wordCount = chopLine(dupe, words); headerItem = cloneString(item); /* Suppress printing item name in page header, as it is not informative for these types of * tracks... */ if (container == NULL && wordCount > 0) { type = words[0]; if (sameString(type, "maf") || sameString(type, "wigMaf") || sameString(type, "netAlign") || sameString(type, "encodePeak")) headerItem = NULL; - else if ((sameString(type, "narrowPeak") || sameString(type, "broadPeak") || sameString(type, "gappedPeak")) - && headerItem && sameString(headerItem, ".")) + else if (( sameString(type, "narrowPeak") + || sameString(type, "broadPeak") + || sameString(type, "gappedPeak") ) + && headerItem + && sameString(headerItem, ".") ) headerItem = NULL; } /* Print header. */ genericHeader(tdb, headerItem); printCustomUrl(tdb, itemForUrl, item == itemForUrl); if (plus != NULL) { fputs(plus, stdout); } if (container != NULL) { genericContainerClick(conn, container, tdb, item, itemForUrl); } @@ -4241,50 +4243,47 @@ { struct trackDb *tdb; AllocVar(tdb); tdb->track = cloneString(USER_PSL_TRACK_NAME); tdb->table = cloneString(USER_PSL_TRACK_NAME); tdb->shortLabel = cloneString(USER_PSL_TRACK_LABEL); tdb->type = cloneString("psl"); tdb->longLabel = cloneString(USER_PSL_TRACK_LONGLABEL); tdb->visibility = tvFull; tdb->priority = 11.0; trackDbPolish(tdb); return(tdb); } } -#define AND_SUBTRACKS_TOO -#ifdef AND_SUBTRACKS_TOO struct trackDb *rFindUnderstandableTrack(char *db, struct trackDb *tdb) // If any leaf is usable in getting DNA then that leaf's tdb is returned. { if (tdb->subtracks != NULL) return rFindUnderstandableTrack(db,tdb->subtracks); if (fbUnderstandTrack(db, tdb->table) && !dnaIgnoreTrack(tdb->table)) return tdb; else return NULL; } boolean forestHasUnderstandableTrack(char *db, struct trackDb *tdb) // TRUE if any leaf is usable in getting DNA. { return (rFindUnderstandableTrack(db, tdb) != NULL); } -#endif///def AND_SUBTRACKS_TOO void doGetDnaExtended1() /* Do extended case/color get DNA options. */ { struct trackDb *tdbList = hTrackDb(database), *tdb; struct trackDb *ctdbList = tdbForCustomTracks(); struct trackDb *utdbList = tdbForUserPsl(); boolean isRc = cartUsualBoolean(cart, "hgc.dna.rc", FALSE); boolean revComp = cartUsualBoolean(cart, "hgSeq.revComp", FALSE); boolean maskRep = cartUsualBoolean(cart, "hgSeq.maskRepeats", FALSE); int padding5 = cartUsualInt(cart, "hgSeq.padding5", 0); int padding3 = cartUsualInt(cart, "hgSeq.padding3", 0); char *casing = cartUsualString(cart, "hgSeq.casing", ""); char *repMasking = cartUsualString(cart, "hgSeq.repMasking", ""); @@ -4361,38 +4360,34 @@ printf("Letters per line "); cgiMakeIntVar("lineWidth", 60, 3); printf(" Default case: "); cgiMakeRadioButton("case", "upper", caseUpper); printf(" Upper "); cgiMakeRadioButton("case", "lower", !caseUpper); printf(" Lower "); cgiMakeButton("Submit", "submit"); printf("<BR>\n"); printf("<TABLE BORDER=1>\n"); printf("<TR><TD>Track<BR>Name</TD><TD>Toggle<BR>Case</TD><TD>Under-<BR>line</TD><TD>Bold</TD><TD>Italic</TD><TD>Red</TD><TD>Green</TD><TD>Blue</TD></TR>\n"); for (tdb = tdbList; tdb != NULL; tdb = tdb->next) { char *table = tdb->table; char *track = tdb->track; - if (sameString(USER_PSL_TRACK_NAME, table) || - (lookupCt(track) != NULL) || -#ifdef AND_SUBTRACKS_TOO - ( tdbVisLimitedByAncestors(cart,tdb,TRUE,TRUE) != tvHide + if ( sameString(USER_PSL_TRACK_NAME, table) + || lookupCt(track) != NULL + || ( tdbVisLimitedByAncestors(cart,tdb,TRUE,TRUE) != tvHide && forestHasUnderstandableTrack(database, tdb))) -#else///ifndef AND_SUBTRACKS_TOO - (fbUnderstandTrack(database, table) && !dnaIgnoreTrack(table))) -#endif///ndef AND_SUBTRACKS_TOO { char *visString = cartUsualString(cart, track, hStringFromTv(tdb->visibility)); if (differentString(visString, "hide") && tdb->parent) { char *parentVisString = cartUsualString(cart, tdb->parentName, hStringFromTv(tdb->parent->visibility)); if (sameString("hide", parentVisString)) visString = "hide"; } char buf[128]; if (sameString(visString, "hide")) { char varName[256]; sprintf(varName, "%s_case", track); cartSetBoolean(cart, varName, FALSE); @@ -4925,38 +4920,34 @@ printf(">%s:%d-%d %s\n", seqName, winStart+1, winEnd, (isRc ? "(reverse complement)" : "")); seq = hDnaFromSeq(database, seqName, winStart, winEnd, dnaLower); if (isRc) reverseComplement(seq->dna, seq->size); if (defaultUpper) touppers(seq->dna); AllocArray(colors, winSize); for (tdb = tdbList; tdb != NULL; tdb = tdb->next) { char *track = tdb->track; char *table = tdb->table; struct featureBits *fbList = NULL, *fb; struct customTrack *ct = lookupCt(track); - if (sameString(USER_PSL_TRACK_NAME, table) || - (ct != NULL) || -#ifdef AND_SUBTRACKS_TOO - ( tdbVisLimitedByAncestors(cart,tdb,TRUE,TRUE) != tvHide + if (sameString(USER_PSL_TRACK_NAME, table) + || ct != NULL + || ( tdbVisLimitedByAncestors(cart,tdb,TRUE,TRUE) != tvHide && forestHasUnderstandableTrack(database, tdb))) -#else///ifndef AND_SUBTRACKS_TOO - (fbUnderstandTrack(database, table) && !dnaIgnoreTrack(table))) -#endif///ndef AND_SUBTRACKS_TOO { char buf[256]; int r,g,b; /* to save a LOT of time, don't fetch track features unless some * coloring/formatting has been specified for them. */ boolean hasSettings = FALSE; safef(buf, sizeof(buf), "%s_u", track); hasSettings |= cgiBoolean(buf); safef(buf, sizeof(buf), "%s_b", track); hasSettings |= cgiBoolean(buf); safef(buf, sizeof(buf), "%s_i", track); hasSettings |= cgiBoolean(buf); safef(buf, sizeof(buf), "%s_case", track); hasSettings |= cgiBoolean(buf); safef(buf, sizeof(buf), "%s_red", track); @@ -5015,51 +5006,50 @@ } else { ctBedList = ct->bedList; } bedList2 = bedFilterListInRange(ctBedList, bf, seqName, winStart, winEnd); fbList = fbFromBed(database, track, hti, bedList2, winStart, winEnd, TRUE, FALSE); bedFreeList(&bedList2); if (!ct->bedList) bedFreeList(&ctBedList); } else { -#ifdef AND_SUBTRACKS_TOO if (tdb->subtracks) { struct slRef *refLeaves = trackDbListGetRefsToDescendantLeaves(tdb->subtracks); struct slRef *refLeaf = NULL; while ((refLeaf = slPopHead(&refLeaves)) != NULL) { struct trackDb *tdbLeaf = refLeaf->val; if (tdbVisLimitedByAncestors(cart,tdbLeaf,TRUE,TRUE) != tvHide && fbUnderstandTrack(database, tdbLeaf->table) && !dnaIgnoreTrack(tdbLeaf->table)) { - struct featureBits *fbLeafList = fbGetRange(database, tdbLeaf->table, seqName, winStart, winEnd); + struct featureBits *fbLeafList = + fbGetRange(database, tdbLeaf->table, seqName, winStart, winEnd); if (fbLeafList != NULL) - fbList = slCat(fbList,fbLeafList); // TODO: merge featureBits to overlaps? + fbList = slCat(fbList,fbLeafList); } freeMem(refLeaf); } } else -#endif///def AND_SUBTRACKS_TOO fbList = fbGetRange(database, tdb->table, seqName, winStart, winEnd); } /* Flip underline/italic/bold bits. */ getDnaHandleBits(track, "u", uBits, winStart, winEnd, isRc, fbList); getDnaHandleBits(track, "b", bBits, winStart, winEnd, isRc, fbList); getDnaHandleBits(track, "i", iBits, winStart, winEnd, isRc, fbList); /* Toggle case if necessary. */ sprintf(buf, "%s_case", track); if (cgiBoolean(buf)) { for (fb = fbList; fb != NULL; fb = fb->next) { DNA *dna; @@ -5775,31 +5765,32 @@ printf("mRNA %s alignment does not meet minimum alignment criteria on this assembly.", acc); return; } htmlHorizontalLine(); printf("<H3>%s/Genomic Alignments</H3>", type); if (startsWith("mrnaBlastz",tdb->table)) slSort(&pslList, pslCmpScoreDesc); printAlignments(pslList, start, "htcCdnaAli", table, acc); printTrackHtml(tdb); hFreeConn(&conn); cartWebEnd(cart); } -void printPslFormat(struct sqlConnection *conn, struct trackDb *tdb, char *item, int start, char *subType) +void printPslFormat(struct sqlConnection *conn, struct trackDb *tdb, char *item, int start, + char *subType) /* Handles click in affyU95 or affyU133 tracks */ { struct psl *pslList = getAlignments(conn, tdb->table, item); struct psl *psl; 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); } @@ -6538,32 +6529,32 @@ { row = sqlNextRow(sr2); if (row) { contigAccStaticLoad(row, &contigAcc); printf("<B>Genbank Accession: <A HREF="); printEntrezNucleotideUrl(stdout, contigAcc.acc); printf(" TARGET=_BLANK>%s</A></B><BR>\n", contigAcc.acc); } sqlFreeResult(&sr2); } } if (hTableExists(database, "clonePos")) { - sprintf(query, - "select count(*) from clonePos where chrom = '%s' and chromEnd >= %d and chromStart <= %d", + sprintf(query, "select count(*) from clonePos" + " where chrom = '%s' and chromEnd >= %d and chromStart <= %d", ctg->chrom, ctg->chromStart, ctg->chromEnd); cloneCount = sqlQuickNum(conn, query); printf("<B>Total Clones:</B> %d<BR>\n", cloneCount); } printPos(ctg->chrom, ctg->chromStart, ctg->chromEnd, NULL, TRUE, ctg->contig); printTrackHtml(tdb); hFreeConn(&conn); hFreeConn(&conn2); } char *cloneStageName(char *stage) /* Expand P/D/F. */ { switch (stage[0]) @@ -8593,32 +8584,31 @@ } genomeStrEnsembl = ensOrgNameFromScientificName(scientificName); if (genomeStrEnsembl == NULL) { warn("Organism %s not found!", organism); fflush(stdout); return; } /* print URL that links to Ensembl or Vega transcript details */ if (isEnsembl) { if (archive != NULL) safef(dbUrl, sizeof(dbUrl), "http://%s.archive.ensembl.org/%s", archive, genomeStrEnsembl); else - safef(dbUrl, sizeof(dbUrl), "http://www.ensembl.org/%s", - genomeStrEnsembl); + safef(dbUrl, sizeof(dbUrl), "http://www.ensembl.org/%s", genomeStrEnsembl); } else if (isVega) safef(dbUrl, sizeof(dbUrl), "http://vega.sanger.ac.uk/%s", genomeStrEnsembl); boolean nonCoding = FALSE; char query[512]; safef(query, sizeof(query), "name = \"%s\"", itemName); struct genePred *gpList = genePredReaderLoadQuery(conn, tdb->table, query); if (gpList && (gpList->cdsStart == gpList->cdsEnd)) nonCoding = TRUE; genePredFreeList(&gpList); /* get gene and protein IDs */ if ((isEnsembl && hasEnsGtp) || (isVega && hasVegaGtp)) { @@ -9582,31 +9572,32 @@ sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { kgId = cloneString(row[0]); } sqlFreeResult(&sr); /* use geneSymbols from omimMorbidMap if available */ if (geneSymbols!= NULL) { printf("<B>OMIM gene or syndrome:</B> %s", geneSymbols); printf("<BR>\n"); /* display disorder for genes in morbidmap */ - safef(query, sizeof(query), "select description from omimMorbidMap where omimId=%s;", itemName); + safef(query, sizeof(query), "select description from omimMorbidMap where omimId=%s;", + itemName); sr = sqlMustGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { printf("<B>Disorder:</B> %s", row[0]); printf("<BR>\n"); } sqlFreeResult(&sr); } else { /* display gene symbol(s) from omimGenemap */ safef(query, sizeof(query), "select geneSymbol from omimGeneMap where omimId=%s;", itemName); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) @@ -9693,31 +9684,32 @@ safef(query, sizeof(query), "select i.transcript from knownIsoforms i, knownCanonical c where c.transcript='%s' and i.clusterId=c.clusterId and i.transcript <>'%s'", kgId, kgId); sr = sqlMustGetResult(conn, query); if (sr != NULL) { int printedCnt; printedCnt = 0; while ((row = sqlNextRow(sr)) != NULL) { if (printedCnt < 1) printf("<B>Other UCSC Gene(s) in the same cluster: </B>"); else printf(", "); - printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", "../cgi-bin/hgGene?hgg_gene=", row[0]); + printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", + "../cgi-bin/hgGene?hgg_gene=", row[0]); printf("%s</A></B>", row[0]); printedCnt++; } if (printedCnt >= 1) printf("<BR>\n"); } sqlFreeResult(&sr); } } printf("<HR>"); printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName); } #include "omim.h" @@ -9845,31 +9837,32 @@ sqlFreeResult(&sr); safef(query, sizeof(query), "select distinct l.mrnaAcc from refLink l where locusLinkId = '%s' order by mrnaAcc asc", geneId); sr = sqlMustGetResult(conn, query); if (sr != NULL) { int printedCnt; printedCnt = 0; while ((row = sqlNextRow(sr)) != NULL) { if (printedCnt < 1) printf("<B>RefSeq Gene(s): </B>"); else printf(", "); - printf("<A HREF=\"%s%s&o=%s&t=%s\">", "../cgi-bin/hgc?g=refGene&i=", row[0], chromStart, chromEnd); + printf("<A HREF=\"%s%s&o=%s&t=%s\">", "../cgi-bin/hgc?g=refGene&i=", + row[0], chromStart, chromEnd); printf("%s</A></B>", row[0]); printedCnt++; } if (printedCnt >= 1) printf("<BR>\n"); } sqlFreeResult(&sr); } // show Related UCSC Gene links safef(query, sizeof(query), "select distinct kgId from kgXref x, refLink l, omim2gene g where x.refseq = mrnaAcc and l.omimId=%s and g.omimId=l.omimId and g.entryType='gene'", itemName); sr = sqlMustGetResult(conn, query); if (sr != NULL) { @@ -10098,31 +10091,32 @@ safef(query, sizeof(query), "select i.transcript from knownIsoforms i, knownCanonical c where c.transcript='%s' and i.clusterId=c.clusterId and i.transcript <>'%s'", kgId, kgId); sr = sqlMustGetResult(conn, query); if (sr != NULL) { int printedCnt; printedCnt = 0; while ((row = sqlNextRow(sr)) != NULL) { if (printedCnt < 1) printf("<B>Other UCSC Gene(s) in the same cluster: </B>"); else printf(", "); - printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", "../cgi-bin/hgGene?hgg_gene=", row[0]); + printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", + "../cgi-bin/hgGene?hgg_gene=", row[0]); printf("%s</A></B>", row[0]); printedCnt++; } if (printedCnt >= 1) printf("<BR>\n"); } sqlFreeResult(&sr); } } printf("<HR>"); printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName); } void doOmimLocation(struct trackDb *tdb, char *item) /* Put up OmimGene track info. */ @@ -10161,31 +10155,33 @@ if (chp != NULL) *chp = '\0'; safef(avString, sizeof(avString), "%s", itemName); chp = strstr(itemName, "."); *chp = '\0'; omimId = strdup(itemName); chp = avString; chp = strstr(avString, "."); *chp = '#'; if (url != NULL && url[0] != 0) { safef(query, sizeof(query), - "select title1, title2, format(seqNo/10000,4), v.description from omimGeneMap m, omimAv v where m.omimId=%s and m.omimId=v.omimId and v.avId='%s';", itemName, avId); + "select title1, title2, format(seqNo/10000,4), v.description" + " from omimGeneMap m, omimAv v" + " where m.omimId=%s and m.omimId=v.omimId and v.avId='%s';", itemName, avId); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { seqId = strdup(row[2]); if (row[0] != NULL) { title1 = cloneString(row[0]); } if (row[1] != NULL) { title2 = cloneString(row[1]); } avDesc = cloneString(row[3]); @@ -11025,31 +11021,32 @@ int start = cartInt(cart, "o"); int left = cartInt(cart, "l"); int right = cartInt(cart, "r"); char *chrom = cartString(cart, "c"); /* Make sure to escape single quotes for DB parseability */ if (strchr(rnaName, '\'')) { sqlRnaName = replaceChars(rnaName, "'", "''"); } /* get refLink entry */ if (strstr(rnaName, "NM_") != NULL) { safef(query, sizeof(query), "select * from refLink where mrnaAcc = '%s'", sqlRnaName); sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) == NULL) - errAbort("Couldn't find %s in refLink table - this accession may no longer be available.", rnaName); + errAbort("Couldn't find %s in refLink table - this accession may no longer be available.", + rnaName); rl = refLinkLoad(row); sqlFreeResult(&sr); } else { rlR.name = strdup(kgId); rlR.mrnaAcc = strdup(kgId); rlR.locusLinkId = 0; rl = &rlR; } cartWebStart(cart, database, "Known Gene"); printf("<table border=0>\n<tr>\n"); prKnownGeneInfo(conn, rnaName, sqlRnaName, rl); @@ -11612,62 +11609,64 @@ if (hTableExists(database, chainTable_chrom) ) { /* lookup chain */ dyStringPrintf(dy, "select id, score, qStart, qEnd, qStrand, qSize from %s_%s where ", pg->chrom, chainTable); hAddBinToQuery(pg->chromStart, pg->chromEnd, dy); if (sameString(pg->gStrand,pg->strand)) dyStringPrintf(dy, "tEnd > %d and tStart < %d and qName = '%s' and qEnd > %d and qStart < %d and qStrand = '+' ", pg->chromStart, pg->chromEnd, pg->gChrom, pg->gStart, pg->gEnd); else { dyStringPrintf(dy, "tEnd > %d and tStart < %d and qName = '%s' and qEnd > %d and qStart < %d and qStrand = '-'", - pg->chromStart, pg->chromEnd, pg->gChrom, hChromSize(database, pg->gChrom)-(pg->gEnd), + pg->chromStart, pg->chromEnd, pg->gChrom, + hChromSize(database, pg->gChrom)-(pg->gEnd), hChromSize(database, pg->gChrom)-(pg->gStart)); } dyStringAppend(dy, " order by qStart"); sr = sqlGetResult(conn, dy->string); while ((row = sqlNextRow(sr)) != NULL) { int chainId, score; unsigned int qStart, qEnd, qSize; char qStrand; if (first == 0) { printf("<H4>Gene/PseudoGene Alignment (multiple records are a result of breaks in the human Self Chaining)</H4>\n"); printf("Shows removed introns, frameshifts and in frame stops.\n"); first = 1; } chainId = sqlUnsigned(row[0]); score = sqlUnsigned(row[1]); qStart = sqlUnsigned(row[2]); qEnd = sqlUnsigned(row[3]); qStrand =row[4][0]; qSize = sqlUnsigned(row[5]); if (qStrand == '-') { unsigned int tmp = qSize - qEnd; qEnd = qSize - qStart; qStart = tmp; } /* if (pg->chainId == 0) pg->chainId = chainId; */ puts("<ul><LI>\n"); - hgcAnchorPseudoGene(pg->kgName, "knownGene", pg->chrom, "startcodon", pg->chromStart, pg->chromEnd, - pg->gChrom, pg->kStart, pg->kEnd, chainId, database); + hgcAnchorPseudoGene(pg->kgName, "knownGene", pg->chrom, "startcodon", + pg->chromStart, pg->chromEnd, pg->gChrom, pg->kStart, + pg->kEnd, chainId, database); printf("Annotated alignment</a> using self chain.\n"); printf("Score: %d \n", score); puts("</LI>\n"); printf("<ul>Raw alignment: "); hgcAnchorTranslatedChain(chainId, chainTable, pg->chrom, pg->gStart, pg->gEnd); printf("%s:%d-%d </A></ul> </ul>\n", pg->gChrom,qStart,qEnd); } sqlFreeResult(&sr); } } } printf("<p>RetroGene Score: %d \n",pg->score); printf("Alignment Score: %d <br>\n",pg->axtScore); if (pg->posConf != 0) printf("AdaBoost Confidence:</B> %4.3f \n",pg->posConf); @@ -13075,32 +13074,31 @@ struct chain *getChainFromRange(char *chainTable, char *chrom, int chromStart, int chromEnd) /* get a list of chains for a range */ { char chainTable_chrom[256]; struct dyString *dy = newDyString(128); struct chain *chainList = NULL; struct sqlConnection *conn = hAllocConn(database); safef(chainTable_chrom, 256, "%s_%s",chrom, chainTable); if (hTableExists(database, chainTable_chrom) ) { /* lookup chain if not stored */ char **row; struct sqlResult *sr = NULL; - dyStringPrintf(dy, - "select id, score, qStart, qEnd, qStrand, qSize from %s where ", + dyStringPrintf(dy, "select id, score, qStart, qEnd, qStrand, qSize from %s where ", chainTable_chrom); hAddBinToQuery(chromStart, chromEnd, dy); dyStringPrintf(dy, "tEnd > %d and tStart < %d ", chromStart,chromEnd); dyStringAppend(dy, " order by qStart"); sr = sqlGetResult(conn, dy->string); while ((row = sqlNextRow(sr)) != NULL) { int chainId = 0, score; unsigned int qStart, qEnd, qSize; struct chain *chain = NULL; char qStrand; chainId = sqlUnsigned(row[0]); score = sqlUnsigned(row[1]); qStart = sqlUnsigned(row[2]); @@ -13914,31 +13912,32 @@ printf("<TR><TH ALIGN=left>Right Primer:</TH><TD>%s</TD></TR>\n",infoRow->primer2); printf("<TR><TH ALIGN=left>Distance:</TH><TD>%s bps</TD></TR>\n",infoRow->distance); printf("</TABLE>\n"); htmlHorizontalLine(); /* Print out information from genetic maps for this marker */ printf("<H3>Genetic Map Position</H3>\n"); printf("<TABLE>\n"); printf("<TH> </TH><TH ALIGN=left WIDTH=150>Name</TH><TH ALIGN=left WIDTH=150>Chromosome</TH><TH ALIGN=left WIDTH=150>Position</TH></TR>\n"); printf("<TH ALIGN=left> </TH><TD WIDTH=150>%s</TD><TD WIDTH=150>%s</TD><TD WIDTH=150>%.2f</TD></TR>\n", infoRow->stsMarkerName, infoRow->Chr, infoRow->geneticPos); printf("</TABLE><P>\n"); /* Print out alignment information - full sequence */ webNewSection("Genomic Alignments:"); sprintf(stsid,"%d",infoRow->MGIPrimerID); - sprintf(query, "SELECT * FROM all_sts_primer WHERE qName = '%s' AND tStart = '%d' AND tEnd = '%d'",stsid, start, end); + sprintf(query, "SELECT * FROM all_sts_primer" + " WHERE qName = '%s' AND tStart = '%d' AND tEnd = '%d'",stsid, start, end); sr1 = sqlGetResult(conn1, query); i = 0; pslStart = 0; while ((row = sqlNextRow(sr1)) != NULL) { psl = pslLoad(row); if ((sameString(psl->tName, seqName)) && (abs(psl->tStart - start) < 1000)) pslStart = psl->tStart; slAddHead(&pslList, psl); i++; } slReverse(&pslList); if (i > 0) { printf("<H3>Primers:</H3>\n"); @@ -14893,38 +14892,46 @@ printf("<BR>\n"); 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> <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> <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><A HREF=\"http://www.ncbi.nlm.nih.gov/SNP/snp_legend.cgi?legend=snpFxnColor\" " +// "target=\"_blank\">"); +// 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> <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></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]); @@ -18776,42 +18783,45 @@ 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 <span style='font-size:x-small;'>[dbName genomeVersion strand coordinates]</span><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 <span style='font-size:x-small;'>[scores over 100 are allowed]</span><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 <span style='font-size:x-small;'>[1 passes, 0 doesn't pass Affy heuristic]</span><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]; @@ -19139,31 +19149,32 @@ printf("<B>GC Percentage:</B> %3.1f%%<BR>\n", ((float)gc->gcPpt)/10); gcPercentFree(&gc); } printTrackHtml(tdb); sqlFreeResult(&sr); hFreeConn(&conn); } 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"); +// FIXME blueStyle should not be absolute to genome-test and should be 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><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. */ { @@ -19405,34 +19416,37 @@ 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]; struct hTableInfo *hti = hFindTableInfo(database, seqName, table); if(hti == NULL) errAbort("Can't find table: (%s) %s", seqName, table); else if(hti && sameString(hti->startField, "tStart")) - snprintf(query, sizeof(query), "select qName,tStart,tEnd from %s where tName='%s' and tStart < %u and tEnd > %u", + snprintf(query, sizeof(query), + "select qName,tStart,tEnd from %s where tName='%s' and tStart < %u and tEnd > %u", table, seqName, winEnd, winStart); else if(hti && sameString(hti->startField, "chromStart")) - snprintf(query, sizeof(query), "select name,chromStart,chromEnd from %s where chrom='%s' and chromStart < %u and chromEnd > %u", + snprintf(query, sizeof(query), + "select name,chromStart,chromEnd from %s" + " where chrom='%s' and chromStart < %u and chromEnd > %u", table, seqName, winEnd, winStart); else errAbort("%s doesn't have tStart or chromStart", table); sr = sqlGetResult(conn, query); while((row = sqlNextRow(sr)) != NULL) { AllocVar(bedWS); bedWS->name = cloneString(row[0]); bedWS->chromStart = sqlUnsigned(row[1]); bedWS->chromEnd = sqlUnsigned(row[2]); bedWS->chrom = cloneString(seqName); slAddHead(&bedWSList, bedWS); } slReverse(&bedWSList); sqlFreeResult(&sr); @@ -19628,31 +19642,32 @@ char query[256]; struct altGraphX *ag = NULL; struct altGraphX *orthoAg = NULL; char buff[128]; struct sqlConnection *conn = hAllocConn(database); char *image = NULL; /* Load the altGraphX record and start page. */ if(id != 0) { snprintf(query, sizeof(query),"select * from %s where id=%d", tdb->table, id); ag = altGraphXLoadByQuery(conn, query); } else { - snprintf(query, sizeof(query),"select * from %s where tName like '%s' and tStart <= %d and tEnd >= %d", + snprintf(query, sizeof(query), + "select * from %s where tName like '%s' and tStart <= %d and tEnd >= %d", tdb->table, seqName, winEnd, winStart); ag = altGraphXLoadByQuery(conn, query); } if(ag == NULL) errAbort("hgc::doAltGraphXDetails() - couldn't find altGraphX with id=%d", id); genericHeader(tdb, ag->name); printPosOnChrom(ag->tName, ag->tStart, ag->tEnd, ag->strand, FALSE, NULL); /* Print a display of the Graph. */ printf("<b>Plots of Alt-Splicing:</b>"); printf("<center>\n"); if(sameString(tdb->table, "altGraphXPsb2004")) printf("Common Splicing<br>"); printf("Alt-Splicing drawn to scale.<br>"); image = altGraphXMakeImage(tdb,ag); @@ -19689,31 +19704,32 @@ 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("<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><span style='font-size:smaller;'> [%s:%d-%d] </span><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; } @@ -19747,44 +19763,41 @@ *thisEnd = thisPsl->tStarts[thisPsl->blockCount - 1]; if( thisPsl->strand[1] == '-' ) { *thisStart = thisPsl->tSize - *thisStart; *thisEnd = thisPsl->tSize - *thisEnd; } *thisEnd += thisPsl->blockSizes[thisPsl->blockCount - 1]; } boolean sampleClickRelevant( struct sample *smp, int i, int left, int right, int humMusWinSize, int thisStart, int thisEnd ) /* Decides if a sample is relevant for the current window and psl * record start and end positions */ { -if( smp->chromStart + smp->samplePosition[i] - - humMusWinSize / 2 + 1< left - && smp->chromStart + smp->samplePosition[i] + humMusWinSize / 2 < left ) +if ((smp->chromStart + smp->samplePosition[i] - humMusWinSize / 2 + 1) < left +&& (smp->chromStart + smp->samplePosition[i] + humMusWinSize / 2 ) < left ) return(0); if( smp->chromStart + smp->samplePosition[i] - humMusWinSize / 2 + 1< thisStart && smp->chromStart + smp->samplePosition[i] + humMusWinSize / 2 < thisStart ) return(0); -if( smp->chromStart + smp->samplePosition[i] - - humMusWinSize / 2 + 1> right - && smp->chromStart + smp->samplePosition[i] + - humMusWinSize / 2 > right ) +if ((smp->chromStart + smp->samplePosition[i] - humMusWinSize / 2 + 1) > right +&& (smp->chromStart + smp->samplePosition[i] + humMusWinSize / 2 ) > right ) return(0); if( smp->chromStart + smp->samplePosition[i] - humMusWinSize / 2 + 1 > thisEnd && smp->chromStart + smp->samplePosition[i] + humMusWinSize / 2 > thisEnd ) return(0); return(1); } static double whichNum( double tmp, double min0, double max0, int n) /*gets range nums. from bin values*/ { @@ -20399,32 +20412,31 @@ static void doSimpleDiff(struct trackDb *tdb, char *otherOrg) /* Print out simpleDiff info. */ { struct simpleNucDiff snd; struct sqlConnection *conn = hAllocConn(database); char fullTable[64]; char query[256], **row; struct sqlResult *sr; int rowOffset; int start = cartInt(cart, "o"); genericHeader(tdb, NULL); if (!hFindSplitTable(database, seqName, tdb->table, fullTable, &rowOffset)) errAbort("No %s table in database %s", tdb->table, database); -safef(query, sizeof(query), - "select * from %s where chrom = '%s' and chromStart=%d", +safef(query, sizeof(query), "select * from %s where chrom = '%s' and chromStart=%d", fullTable, seqName, start); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { simpleNucDiffStaticLoad(row + rowOffset, &snd); printf("<B>%s sequence:</B> %s<BR>\n", hOrganism(database), snd.tSeq); printf("<B>%s sequence:</B> %s<BR>\n", otherOrg, snd.qSeq); bedPrintPos((struct bed*)&snd, 3, tdb); printf("<BR>\n"); } sqlFreeResult(&sr); hFreeConn(&conn); printTrackHtml(tdb); } @@ -21893,31 +21905,32 @@ } sqlFreeResult(&sr); tempName = cloneString(name); partCount = chopByChar(tempName, '|',parts, 4); printf("<B>%s</B> is homologous to the known gene: <A HREF=\"", name); printEntrezNucleotideUrl(stdout, parts[0]); printf("\" TARGET=_blank>%s</A><BR>\n", parts[0]); printf("<B>%s </B>is aligned here with score : %d<BR><BR>\n", parts[0], info->score); /* print the info about the stamper gene */ printf("<B> %s</B><BR>\n", parts[0]); printf("<B>Genomic location of the mapped part of %s</B>: <A HREF=\"" "%s?db=%s&position=%s:%d-%d\" TARGET=_blank>%s(%s):%d-%d </A> <BR>\n", - parts[0], hgTracksName(), db, info->oChrom, info->oChromStart, info->oChromEnd, info->oChrom, parts[2],info->oChromStart+1, info->oChromEnd); + parts[0], hgTracksName(), db, info->oChrom, info->oChromStart, info->oChromEnd, + info->oChrom, parts[2],info->oChromStart+1, info->oChromEnd); printf("<B>Mapped %s Exons</B>: %d of %d. <BR> <B>Mapped %s CDS exons</B>: %d of %d <BR>\n", parts[0], info->qExons[0], info->qExons[1], parts[0], info->qExons[2], info->qExons[3]); printf("<b>Aligned %s bases</B>:%d of %d with %f identity. <BR> <B>Aligned %s CDS bases</B>: %d of %d with %f identity.<BR><BR>\n", parts[0],info->qBases[0], info->qBases[1], info->id[0], parts[0], info->qBases[2], info->qBases[3], info->id[1]); /* print info about the stamp putative element */ printf("<B>%s </B><BR> <B>Genomic location: </B>" " <A HREF=\"%s?db=%s&position=%s:%d-%d\" >%s(%s): %d - %d</A> <BR> <B> Element Structure: </B> %d putative exons and %d putative cds exons<BR><BR>\n", name, hgTracksName(), db, info->chrom, info->chromStart+1, info->chromEnd, info->chrom, info->strand, info->chromStart+1, info->chromEnd, info->tExons[0], info->tExons[1]); if(info->repeats[0] > 0) { printf("Repeats elements inserted into %s <BR>\n", name); } if(info->stop >0) { int k = 0; @@ -23449,31 +23462,32 @@ sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) != NULL) { printf("<TR>"); printf("<TD>%s</TD>", row[0]); printf("<TD>%s</TD>", row[1]); printf("</TR>"); } printf("</TABLE>\n"); sqlFreeResult(&sr); /* subtypes */ printf("<BR>"); printf("<TABLE BORDER=1>\n"); printf("<TR><TH>subtype2</TH> <TH>subtype3</TH> <TH>subtype4</TH> <TH>subtype5</TH></TR>\n"); - safef(query, sizeof(query), "select subtype2, subtype3, subtype4, subtype5 from %s where %s = '%s' ", + safef(query, sizeof(query), + "select subtype2, subtype3, subtype4, subtype5 from %s where %s = '%s' ", cliniTable, key, item); sr = sqlGetResult(conn, query); if ((row = sqlNextRow(sr)) != NULL) { printf("<TR>"); printf("<TD>%s</TD>", row[0]); printf("<TD>%s</TD>", row[1]); printf("<TD>%s</TD>", row[2]); printf("<TD>%s</TD>", row[3]); printf("</TR>"); } printf("</TABLE>\n"); sqlFreeResult(&sr); /* stage, size, nodalStatus, SBRGrade */