429278d46bf69bb0b1228d8e8bb38e34afc26cc8 chinhli Thu Aug 18 16:09:04 2011 -0700 Finished geneReviews for OMIM genes diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 55dc61d..c4108b6 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -9721,30 +9721,47 @@ 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("%s</A></B>", row[0]); printedCnt++; } if (printedCnt >= 1) printf("<BR>\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, mim2gene 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("<B>Related UCSC Gene(s): </B>"); else printf(", "); @@ -10755,31 +10772,31 @@ printf("<B>MGI Mouse Ortholog:</B> "); printf("<A HREF=\"http://www.informatics.jax.org/searches/accession_report.cgi?id=%s\" target=_BLANK>", jo.mgiId); printf("%s</A><BR>\n", jo.mouseSymbol); } sqlFreeResult(&sr); } if (startsWith("hg", database)) { printf("\n"); printf("<B>AceView:</B> "); printf("<A HREF = \"http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=human&l=%s\" TARGET=_blank>", rl->name); printf("%s</A><BR>\n", rl->name); } printStanSource(rl->mrnaAcc, "mrna"); -prGRShortRefGene(conn,rl->name); +prGRShortRefGene(rl->name); } void prKnownGeneInfo(struct sqlConnection *conn, char *rnaName, char *sqlRnaName, struct refLink *rl) /* print basic details information and links for a Known Gene */ { struct sqlResult *sr; char **row; char query[256]; int ver = gbCdnaGetVersion(conn, rl->mrnaAcc); char *cdsCmpl = NULL; printf("<td valign=top nowrap>\n"); @@ -23849,56 +23866,62 @@ printf("-----------------------------------------------------------"); printf("-----------------------------------------------------------"); printf("----------------------------------<BR>"); } printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort); if (strlen(grShort) <= 15) { for (i = 0; i < 15-strlen(grShort); i ++ ) { printf("%s", " " ); } } printf("%-10s %s<BR>", diseaseID, diseaseName); } /* end while */ printf("</PRE>"); printf("<BR>"); + sqlFreeResult(&sr); } /* end of prGeneReviews */ -void prGRShortRefGene(struct sqlConnection *conn, char *itemName) +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 from geneReviewsRefGene where geneSymbol='%s'", itemName); +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("<B> GeneReview: </B>"); + printf("<B> GeneReviews: </B>"); firstTime = FALSE; - printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank>%s</A>", grShort, grShort); + printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort); + printf(" (%s) ", diseaseName); } else { printf(", "); - printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank>%s</A>", grShort, grShort); + printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort); + printf(" (%s) ", diseaseName); } } printf("<BR>"); + 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; if (hIsGisaidServer()) { validateGisaidUser(cart); }