694d346d60e56635672936063845599da4159c9b
tdreszer
Fri Nov 5 15:06:16 2010 -0700
Fixed 1480 repoort of show stopper by Mary. mRNA checkboxes were not working.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index a4cd58a..00d7072 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -158,53 +158,55 @@
char *metadataAsHtmlTable(char *db,struct trackDb *tdb,boolean showLongLabel,boolean showShortLabel, struct hash *trackHash)
/* If metadata from metaDb exists, return string of html with table definition */
{
const struct mdbObj *safeObj = metadataForTable(db,tdb,NULL);
if (safeObj == NULL || safeObj->vars == NULL)
return NULL;
//struct dyString *dyTable = dyStringCreate("
",tdb->table);
struct dyString *dyTable = dyStringCreate("");
if(showLongLabel)
dyStringPrintf(dyTable,"%s |
",tdb->longLabel);
if(showShortLabel)
dyStringPrintf(dyTable,"shortLabel: | %s |
",tdb->shortLabel);
// Get the hash of mdb and cv term types
+//#ifdef OMIT
struct hash *cvTermTypes = mdbCvTermTypeHash();
+//#endif///def OMIT
struct mdbObj *mdbObj = mdbObjClone(safeObj); // Important if we are going to remove vars!
mdbObjRemoveVars(mdbObj,"composite project objType"); // Don't bother showing these (suggest: "composite project dataType view tableName")
mdbObjReorderVars(mdbObj,"grant lab dataType cell treatment antibody protocol replicate view setType inputType",FALSE); // Bring to front
mdbObjReorderVars(mdbObj,"subId submittedDataVersion dateSubmitted dateResubmitted dateUnrestricted dataVersion tableName fileName fileIndex",TRUE); // Send to back
struct mdbVar *mdbVar;
for (mdbVar=mdbObj->vars;mdbVar!=NULL;mdbVar=mdbVar->next)
{
if ((sameString(mdbVar->var,"fileName") || sameString(mdbVar->var,"fileIndex") )
&& trackDbSettingClosestToHome(tdb,"wgEncode") != NULL)
{
dyStringPrintf(dyTable,"%s: | ",mdbVar->var);
dyStringAppend(dyTable,htmlStringForDownloadsLink(db, tdb, mdbVar->val, TRUE, trackHash));
dyStringAppend(dyTable," |
");
}
else
{
// If antibody and metadata contains input={sameValue} then just print input
if(sameString(mdbVar->var,"antibody") && mdbObjContains(mdbObj,"input",mdbVar->val))
continue;
-
+//#ifdef OMIT
if (cvTermTypes && differentString(mdbVar->var,"tableName")) // Don't bother with tableName
{
struct hash *cvTerm = hashFindVal(cvTermTypes,mdbVar->var);
if (cvTerm != NULL)
{
if(SETTING_NOT_ON(hashFindVal(cvTerm,"hidden"))) // NULL is not on
{
char *label=hashFindVal(cvTerm,"label");
if (label == NULL)
label = mdbVar->var;
char *linkOfType = controlledVocabLink(NULL,"type",mdbVar->var,label,label,NULL);
char *cvDefined=hashFindVal(cvTerm,"cvDefined");
if (cvDefined != NULL && differentWord(cvDefined,"no") && differentWord(cvDefined,"0"))
{
char *linkOfTerm = controlledVocabLink(NULL,"term",mdbVar->val,mdbVar->val,mdbVar->val,NULL);
@@ -213,30 +215,31 @@
}
else
dyStringPrintf(dyTable,"%s: | %s |
",linkOfType,mdbVar->val);
//{ // NOTE: Could just have a tool tip for these.
//char *descr=cgiEncode(hashMustFindVal(cvTerm,"description"));
//label = cgiEncode(label);
//dyStringPrintf(dyTable,"%s: | %s |
",descr,label,mdbVar->val);
//freeMem(descr);
//freeMem(label);
//}
freeMem(linkOfType);
continue;
}
}
}
+//#endif///def OMIT
dyStringPrintf(dyTable,"%s: | %s |
",mdbVar->var,mdbVar->val);
}
}
dyStringAppend(dyTable,"
");
//mdbObjsFree(&mdbObj); // spill some memory
return dyStringCannibalize(&dyTable);
}
boolean compositeMetadataToggle(char *db,struct trackDb *tdb,char *title,
boolean embeddedInText,boolean showLongLabel, struct hash *trackHash)
/* If metadata from metaTbl exists, create a link that will allow toggling it's display */
{
const struct mdbObj *safeObj = metadataForTable(db,tdb,NULL);
if(safeObj == NULL || safeObj->vars == NULL)
return FALSE;
@@ -1147,62 +1150,62 @@
indelEnabledByName(cart,tdb,tdb->track,basesPerPixel,retDoubleInsert,retQueryInsert,retPolyA);
}
static void indelShowOptionsWithName(struct cart *cart, struct trackDb *tdb,char *name)
/* Make HTML inputs for indel display options if any are applicable. */
{
if (indelAppropriate(tdb))
{
boolean showDoubleInsert, showQueryInsert, showPolyA;
char var[512];
indelEnabledByName(cart, tdb, name, 0.0, &showDoubleInsert, &showQueryInsert, &showPolyA);
#ifdef BAM_CFG_UI_CHANGES
printf("Alignment Gap/Insertion Display Options");
printf(" Help on display options\n |
",
INDEL_HELP_PAGE);
- safef(var, sizeof(var), "%s_%s", INDEL_DOUBLE_INSERT, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_DOUBLE_INSERT);
cgiMakeCheckBox(var, showDoubleInsert);
printf(" | Draw double horizontal lines when both genome and query have "
"an insertion |
\n");
- safef(var, sizeof(var), "%s_%s", INDEL_QUERY_INSERT, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_QUERY_INSERT);
cgiMakeCheckBox(var, showQueryInsert);
printf(" | Draw a vertical purple line for an insertion at the beginning or "
"end of the query, orange for insertion in the middle of the query |
\n");
- safef(var, sizeof(var), "%s_%s", INDEL_POLY_A, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_POLY_A);
/* We can highlight valid polyA's only if we have query sequence --
* so indelPolyA code piggiebacks on baseColor code: */
if (baseColorGotSequence(tdb))
{
cgiMakeCheckBox(var, showPolyA);
printf(" | Draw a vertical green line where query has a polyA tail "
"insertion |
\n");
}
printf("
\n");
#else///ifndef BAM_CFG_UI_CHANGES
printf("Alignment Gap/Insertion Display Options
\n");
- safef(var, sizeof(var), "%s_%s", INDEL_DOUBLE_INSERT, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_DOUBLE_INSERT);
cgiMakeCheckBox(var, showDoubleInsert);
printf("Draw double horizontal lines when both genome and query have "
"an insertion "
"
\n");
- safef(var, sizeof(var), "%s_%s", INDEL_QUERY_INSERT, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_QUERY_INSERT);
cgiMakeCheckBox(var, showQueryInsert);
printf("Draw a vertical purple line for an insertion at the beginning or "
"end of the query, orange for insertion in the middle of the query"
"
\n");
- safef(var, sizeof(var), "%s_%s", INDEL_POLY_A, name);
+ safef(var, sizeof(var), "%s.%s", name, INDEL_POLY_A);
/* We can highlight valid polyA's only if we have query sequence --
* so indelPolyA code piggiebacks on baseColor code: */
if (baseColorGotSequence(tdb))
{
cgiMakeCheckBox(var, showPolyA);
printf("Draw a vertical green line where query has a polyA tail "
"insertion"
"
\n");
}
printf("Help on alignment gap/insertion display options"
"
\n",
INDEL_HELP_PAGE);
#endif///ndef BAM_CFG_UI_CHANGES
}