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];