9ec1dcec3063b77d0ea2adb3d7e6df7ae70d32fe
kate
  Tue Mar 29 17:59:40 2016 -0700
Strip off repetitive prefix from gene description. refs #15645

diff --git src/hg/hgTracks/gtexTracks.c src/hg/hgTracks/gtexTracks.c
index 1345168..9f24ce9 100644
--- src/hg/hgTracks/gtexTracks.c
+++ src/hg/hgTracks/gtexTracks.c
@@ -417,30 +417,34 @@
     // NOTE: Consider loading all gene descriptions to save queries
     char query[256];
     sqlSafef(query, sizeof(query),
             "select kgXref.description from kgXref where geneSymbol='%s'", geneBed->name);
     struct sqlConnection *conn = hAllocConn(database);
     char *desc = sqlQuickString(conn, query);
     hFreeConn(&conn);
     if (desc)
         {
         // hg38 known genes has extra detail about source; strip it
         char *fromDetail = strstrNoCase(desc, "(from");
         if (fromDetail)
             *fromDetail = 0;
         if (strlen(desc) > MAX_DESC)
             strcpy(desc+MAX_DESC, "...");
+        // also strip 'homo sapiens' prefix
+        #define SPECIES_PREFIX  "Homo sapiens "
+        if (startsWith(SPECIES_PREFIX, desc))
+            desc += strlen(SPECIES_PREFIX);
         geneInfo->description = desc;
         }
     slAddHead(&list, geneInfo);
     geneBed = geneBed->next;
     geneInfo->geneBed->next = NULL;
     if (extras->isComparison && (tg->visibility == tvFull || tg->visibility == tvPack))
         // compute medians based on configuration (comparisons, and later, filters)
         loadComputedMedians(geneInfo, extras);
     geneInfo->height = gtexGeneItemHeight(tg, geneInfo);
     }
 slReverse(&list);
 tg->items = list;
 }
 
 /***********************************************/