b5d368d51dda62aea5a12fe8df9d8527dec73cbd fanhsu Mon Feb 21 13:05:41 2011 -0800 Fine tuned omimAvSnp details page. diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 602c3a2..de2cc51 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -9099,34 +9099,32 @@ char query2[256]; struct sqlResult *sr2; char **row2; char *strand={"+"}; int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); char *chrom = cartString(cart, "c"); printf("<H3>Patient %s </H3>", itemName); /* print phenotypes */ safef(query, sizeof(query), "select distinct phenotype from decipherRaw where id ='%s' order by phenotype", itemName); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); -//if (row != NULL) if ((row != NULL) && strlen(row[0]) >= 1) { - printf("<br>---%s---\n", row[0]);fflush(stdout); printf("<B>Phenotype: </B><UL>"); while (row != NULL) { printf("<LI>"); printf("%s\n", row[0]); row = sqlNextRow(sr); } printf("</UL>"); } sqlFreeResult(&sr); /* link to Ensembl DECIPHER Patient View page */ printf("<B>Patient View: </B>\n"); printf("More details on patient %s at ", itemName); printf("<A HREF=\"%s%s\" target=_blank>", @@ -9488,34 +9486,34 @@ safef(query, sizeof(query), "select geneSymbol from kgXref where kgId='%s';", kgId); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { printf("<B>UCSC Gene Symbol:</B> %s", row[0]); printf("<BR>\n"); } sqlFreeResult(&sr); } } if (kgId != NULL) { - printf("<B>UCSC Canonical Gene "); + printf("<B>UCSC Canonical Gene: "); printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", "../cgi-bin/hgGene?hgg_gene=", kgId); - printf("%s</A></B>: ", kgId); + printf("%s</A></B> ", kgId); safef(query, sizeof(query), "select refseq from kgXref where kgId='%s';", kgId); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { refSeq = strdup(row[0]); kgDescription = gbCdnaGetDescription(conn2, refSeq); } sqlFreeResult(&sr); hFreeConn(&conn2); if (kgDescription == NULL) { safef(query, sizeof(query), "select description from kgXref where kgId='%s';", kgId); @@ -9778,66 +9776,73 @@ void printOmimAvSnpDetails(struct trackDb *tdb, char *itemName, boolean encode) /* Print details of an OMIM AvSnp entry. */ { struct sqlConnection *conn = hAllocConn(database); char query[256]; struct sqlResult *sr; char **row; char *url = tdb->url; char *title1 = NULL; char *title2 = NULL; char *chrom, *chromStart, *chromEnd; char *omimId; char *avId; char *dbSnpId; char *chp; +char *seqId = NULL; +char avString[255]; chrom = cartOptionalString(cart, "c"); chromStart = cartOptionalString(cart, "o"); chromEnd = cartOptionalString(cart, "t"); avId = strdup(itemName); chp = strstr(itemName, "#"); *chp = '\0'; omimId = strdup(itemName); if (url != NULL && url[0] != 0) { printf("<B>OMIM Entry ");fflush(stdout); printf("<A HREF=\"%s%s\" target=_blank>", url, itemName); printf("%s</A></B>", itemName); safef(query, sizeof(query), - "select title1, title2 from omimGeneMap where omimId=%s;", itemName); + "select title1, title2, format(seqNo/10000,4) 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]); + safef(avString, sizeof(avString), "%s#%s", omimId, seqId+2L); if (row[0] != NULL) { title1 = cloneString(row[0]); printf(": %s", title1); } if (row[1] != NULL) { title2 = cloneString(row[1]); printf(" %s ", title2); } } sqlFreeResult(&sr); - printf("<br><B>Allelic Variant:</B>%s\n", avId); + printf("<BR><B>Allelic Variant: ");fflush(stdout); + printf("<A HREF=\"%s%s\" target=_blank>", url, avString); + printf("%s</A></B>", avString); safef(query, sizeof(query), "select replStr from omimAvRepl where avId=%s;", avId); sr = sqlMustGetResult(conn, query); row = sqlNextRow(sr); if (row != NULL) { if (row[0] != NULL) { char *replStr; replStr= cloneString(row[0]); printf("<BR><B>Amino Acid Replacement:</B> %s\n", replStr); } } sqlFreeResult(&sr);