0684c7b8dc207944939299c15c37aa8356a90fbb hiram Tue Nov 1 12:52:03 2016 -0700 no Gene Tree link on non-coding genes refs #18240 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index e8b5ad4..513eb59 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -8940,35 +8940,38 @@ sqlSafef(query, sizeof(query), "select source from ensemblSource where name='%s'", itemName); ensemblSource = sqlQuickString(conn, query); } sqlSafefFrag(query, sizeof(query), "name = \"%s\"", itemName); struct genePred *gpList = genePredReaderLoadQuery(conn, "ensGene", query); if (gpList && gpList->name2) { printf("<B>Ensembl Gene Link: </B>"); if ((strlen(gpList->name2) < 1) || 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); + if (! (ensemblSource && differentString("protein_coding",ensemblSource))) + { printf("<B>Ensembl Gene Tree: </B>"); printf("<A HREF=\"%s/Gene/Compara_Tree?g=%s&t=%s\" " "target=_blank>%s</A><br>", ensUrl, gpList->name2, shortItemName, gpList->name2); } } + } genePredFreeList(&gpList); printf("<B>Ensembl Transcript: </B>"); printf("<A HREF=\"%s/transview?transcript=%s\" " "target=_blank>", ensUrl, shortItemName); printf("%s</A><br>", itemName); if (hTableExists(database, "superfamily")) { sqlSafefFrag(cond_str, sizeof(cond_str), "transcript_name='%s'", shortItemName); /* This is necessary, Ensembl kept changing their gene_xref table definition and content.*/ proteinID = NULL; if (hTableExists(database, "ensemblXref3"))