e4ebd36df9ba24360fa4d77a015d8b0cff911f62 chinhli Wed Sep 21 08:49:27 2011 -0700 Finished up the bigBed update approach for geneReviews track diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 856d18d..6405f4d 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -9724,69 +9724,70 @@ printedCnt = 0; while ((row = sqlNextRow(sr)) != NULL) { if (printedCnt < 1) printf("RefSeq Gene(s): "); else printf(", "); printf("", "../cgi-bin/hgc?g=refGene&i=", row[0], chromStart, chromEnd); printf("%s", row[0]); printedCnt++; } if (printedCnt >= 1) printf("
\n"); } sqlFreeResult(&sr); - // show GeneReviews link(s) - if (sqlTablesExist(conn, "geneReviews")) - { - safef(query, sizeof(query), - "select distinct r.name2 from refLink l, mim2gene g, refGene r where l.omimId=%s and g.geneId=l.locusLinkId and g.entryType='gene' and chrom='%s' and txStart = %s and txEnd= %s", - itemName, chrom, chromStart, chromEnd); - sr = sqlMustGetResult(conn, query); - if (sr != NULL) - { - while ((row = sqlNextRow(sr)) != NULL) - { - prGRShortRefGene(row[0]); - } - } - 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) { int printedCnt; printedCnt = 0; while ((row = sqlNextRow(sr)) != NULL) { if (printedCnt < 1) printf("Related UCSC Gene(s): "); else printf(", "); printf("", "../cgi-bin/hgGene?hgg_gene=", row[0]); printf("%s", row[0]); printedCnt++; } if (printedCnt >= 1) printf("
\n"); } sqlFreeResult(&sr); + + // show GeneReviews link(s) + if (sqlTablesExist(conn, "geneReviewsRefGene")) + { + safef(query, sizeof(query), + "select distinct r.name2 from refLink l, mim2gene g, refGene r where l.omimId=%s and g.geneId=l.locusLinkId and g.entryType='gene' and chrom='%s' and txStart = %s and txEnd= %s", + itemName, chrom, chromStart, chromEnd); + sr = sqlMustGetResult(conn, query); + if (sr != NULL) + { + while ((row = sqlNextRow(sr)) != NULL) + { + prGRShortRefGene(row[0]); + } + } + sqlFreeResult(&sr); + } + } printf("
"); printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName); } void printOmimLocationDetails(struct trackDb *tdb, char *itemName, boolean encode) /* Print details of an OMIM Class 3 Gene entry. */ { struct sqlConnection *conn = hAllocConn(database); struct sqlConnection *conn2 = hAllocConn(database); char query[256]; struct sqlResult *sr; char **row; char *url = tdb->url; @@ -23859,78 +23860,90 @@ int i; char *clickMsg = "Click 'Short name' link below to search GeneReviews"; boolean firstTime = TRUE; safef(query, sizeof(query), "select grShort, diseaseID, diseaseName from geneReviewsRefGene where geneSymbol='%s'", itemName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { char *grShort = *row++; char *diseaseID = *row++; char *diseaseName = *row++; if (firstTime) { - printf("
GeneReview available for %s: (%s)
",itemName,clickMsg); + printf("
GeneReview(s) available for %s: (%s)
",itemName,clickMsg); firstTime = FALSE; printf("
"); 
               // #1234567890123456789012345678901234567890
           printf("Short name    Disease ID     GeneTests disease name
"); printf("-----------------------------------------------------------"); printf("-----------------------------------------------------------"); printf("----------------------------------
"); } printf("%s", grShort, grShort); if (strlen(grShort) <= 15) { for (i = 0; i < 15-strlen(grShort); i ++ ) { printf("%s", " " ); } } - printf("%-10s %s
", diseaseID, diseaseName); + printf("%-10s ", diseaseID); + printf("%s
", diseaseName, diseaseName); + } /* end while */ printf("
"); //printf("
"); sqlFreeResult(&sr); } /* end of prGeneReviews */ void prGRShortRefGene(char *itemName) /* print GeneReviews short label associated to this refGene item */ { struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr; char **row; char query[512]; boolean firstTime = TRUE; safef(query, sizeof(query), "select grShort, diseaseName from geneReviewsRefGene where geneSymbol='%s'", itemName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { char *grShort = *row++; char *diseaseName = *row++; if (firstTime) { - printf(" GeneReviews: "); + printf("Related GeneReview(s) and GeneTests disease(s): "); firstTime = FALSE; printf("%s", grShort, grShort); - printf(" (%s) ", diseaseName); + printf(" ("); + printf("%s", diseaseName, diseaseName); + printf(")"); + +// printf("%s", grShort, grShort); +// printf(" (%s) ", diseaseName); } else { printf(", "); printf("%s", grShort, grShort); - printf(" (%s) ", diseaseName); + printf(" ("); + printf("%s", diseaseName, diseaseName); + printf(")"); + +// printf("%s", grShort, grShort); +// printf(" (%s) ", diseaseName); } } printf("
"); sqlFreeResult(&sr); } /* end of prGRShortRefGene */ void doMiddle() /* Generate body of HTML. */ { char *track = cartString(cart, "g"); char *item = cartOptionalString(cart, "i"); char *parentWigMaf = cartOptionalString(cart, "parentWigMaf"); struct trackDb *tdb = NULL;