52c482f3f77f7ee240255605f8fddfa89a1bf1c5
braney
  Wed Apr 6 12:04:49 2016 -0700
fix a problem with filtering on genbank metadata #11174

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 71e86f0..c6d131c 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -31,30 +31,31 @@
 #include "fileUi.h"
 #include "bigBed.h"
 #include "bigWig.h"
 #include "regexHelper.h"
 #include "snakeUi.h"
 #include "vcfUi.h"
 #include "vcf.h"
 #include "errCatch.h"
 #include "samAlignment.h"
 #include "makeItemsItem.h"
 #include "bedDetail.h"
 #include "pgSnp.h"
 #include "memgfx.h"
 #include "trackHub.h"
 #include "gtexUi.h"
+#include "genbank.h"
 
 #define SMALLBUF 256
 #define MAX_SUBGROUP 9
 #define ADD_BUTTON_LABEL        "add"
 #define CLEAR_BUTTON_LABEL      "clear"
 #define JBUFSIZE 2048
 
 #define PM_BUTTON  "<IMG height=18 width=18 onclick=\"setCheckBoxesThatContain(" \
                    "'%s',%s,true,'%s','','%s');\" id=\"btn_%s\" src=\"../images/%s\" alt=\"%s\">\n"
 #define DEF_BUTTON "<IMG onclick=\"setCheckBoxesThatContain('%s',true,false,'%s','','%s'); " \
                    "setCheckBoxesThatContain('%s',false,false,'%s','_defOff','%s');\" " \
                    "id=\"btn_%s\" src=\"../images/%s\" alt=\"%s\">\n"
 #define DEFAULT_BUTTON(nameOrId,anc,beg,contains) \
         printf(DEF_BUTTON,(nameOrId),(beg),(contains),(nameOrId),(beg),(contains),(anc), \
               "defaults_sm.png","default")
@@ -1853,40 +1854,40 @@
 }
 
 struct mrnaUiData *newBedUiData(char *track)
 /* Make a new  in extra-ui data structure for a bed. */
 {
 struct mrnaUiData *mud = newEmptyMrnaUiData(track);
 addMrnaFilter(mud, track, "name", "name",track);
 return mud;
 }
 
 struct mrnaUiData *newMrnaUiData(char *track, boolean isXeno)
 /* Make a new  in extra-ui data structure for mRNA. */
 {
 struct mrnaUiData *mud = newEmptyMrnaUiData(track);
 if (isXeno)
-    addMrnaFilter(mud, track, "organism", "org", "organism");
+    addMrnaFilter(mud, track, "organism", "org", organismTable);
 addMrnaFilter(mud, track, "accession", "acc", "acc");
-addMrnaFilter(mud, track, "author", "aut", "author");
-addMrnaFilter(mud, track, "library", "lib", "library");
-addMrnaFilter(mud, track, "tissue", "tis", "tissue");
-addMrnaFilter(mud, track, "cell", "cel", "cell");
-addMrnaFilter(mud, track, "keyword", "key", "keyword");
-addMrnaFilter(mud, track, "gene", "gen", "geneName");
-addMrnaFilter(mud, track, "product", "pro", "productName");
-addMrnaFilter(mud, track, "description", "des", "description");
+addMrnaFilter(mud, track, "author", "aut", authorTable);
+addMrnaFilter(mud, track, "library", "lib", libraryTable);
+addMrnaFilter(mud, track, "tissue", "tis", tissueTable);
+addMrnaFilter(mud, track, "cell", "cel", cellTable);
+addMrnaFilter(mud, track, "keyword", "key", keywordTable);
+addMrnaFilter(mud, track, "gene", "gen", geneNameTable);
+addMrnaFilter(mud, track, "product", "pro", productNameTable);
+addMrnaFilter(mud, track, "description", "des", descriptionTable);
 return mud;
 }
 
 int trackNameAndLabelCmp(const void *va, const void *vb)
 // Compare to sort on label.
 {
 const struct trackNameAndLabel *a = *((struct trackNameAndLabel **)va);
 const struct trackNameAndLabel *b = *((struct trackNameAndLabel **)vb);
 return strcmp(a->label, b->label);
 }
 
 char *trackFindLabel(struct trackNameAndLabel *list, char *label)
 // Try to find label in list. Return NULL if it's not there.
 {
 struct trackNameAndLabel *el;