d5e937d2713bc23a063114c0ef970538df5bdd90 hiram Tue Aug 16 10:59:32 2011 -0700 now showing geneName from ensemblToGeneName table for ensGene items diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 05ff487..374e3b4 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -8237,32 +8237,39 @@ } genomeStrEnsembl = ensOrgNameFromScientificName(scientificName); if (genomeStrEnsembl == NULL) { warn("Organism %s not found!", organism); fflush(stdout); return; } /* print URL that links to Ensembl transcript details */ if (archive != NULL) safef(ensUrl, sizeof(ensUrl), "http://%s.archive.ensembl.org/%s", archive, genomeStrEnsembl); else safef(ensUrl, sizeof(ensUrl), "http://www.ensembl.org/%s", genomeStrEnsembl); -boolean nonCoding = FALSE; char query[512]; +char *geneName = NULL; +if (hTableExists(database, "ensemblToGeneName")) + { + safef(query, sizeof(query), "select value from ensemblToGeneName where name='%s' limit 1", itemName); + geneName = sqlQuickString(conn, query); + } + +boolean nonCoding = FALSE; safef(query, sizeof(query), "name = \"%s\"", itemName); struct genePred *gpList = genePredReaderLoadQuery(conn, "ensGene", query); if (gpList && gpList->name2) { if (gpList->cdsStart == gpList->cdsEnd) nonCoding = TRUE; printf("<B>Ensembl Gene Link: </B>"); if (sameString(gpList->name2, "noXref")) printf("none<BR>\n"); else printf("<A HREF=\"%s/geneview?gene=%s\" " "target=_blank>%s</A><BR>", ensUrl, gpList->name2, gpList->name2); } genePredFreeList(&gpList); @@ -8357,48 +8364,50 @@ /* double check to make sure trackDb is also updated to be in sync with existence of supfamily table */ struct trackDb *tdbSf = hashFindVal(trackHash, "superfamily"); if (tdbSf != NULL) { char supfamURL[512]; printf("<B>Superfamily Link: </B>"); safef(supfamURL, sizeof(supfamURL), "<A HREF=\"%s%s;seqid=%s\" target=_blank>", tdbSf->url, genomeStr, proteinID); printf("%s%s</A><BR>\n", supfamURL, proteinID); } } #endif } if (hTableExists(database, "ensGtp") && (proteinID == NULL)) { - if (nonCoding) - { - printf("<B>Ensembl Protein: </B>none (non-coding)<BR>\n"); - } - else - { /* shortItemName removes version number but sometimes the ensGtp */ /* table has a transcript with version number so exact match not used */ safef(cond_str2, sizeof(cond_str2), "transcript like '%s%%'", shortItemName); proteinID=sqlGetField(database, "ensGtp","protein",cond_str2); if (proteinID != NULL) { printf("<B>Ensembl Protein: </B>"); printf("<A HREF=\"%s/protview?peptide=%s\" target=_blank>", ensUrl,proteinID); printf("%s</A><BR>\n", proteinID); } + else + { + printf("<B>Ensembl Protein: </B>none (non-coding)<BR>\n"); + } } +if (geneName) + { + printf("<B>Gene Name: </B>%s<BR>\n", geneName); + freeMem(geneName); } freeMem(shortItemName); } void printEnsemblOrVegaCustomUrl(struct trackDb *tdb, char *itemName, boolean encode, char *archive) /* Print Ensembl Gene URL. */ { boolean isEnsembl = FALSE; boolean isVega = FALSE; boolean hasEnsGtp = FALSE; boolean hasVegaGtp = FALSE; char *shortItemName; char *genomeStrEnsembl = ""; struct sqlConnection *conn = hAllocConn(database); char cond_str[256], cond_str2[256];