src/hg/hgTrackUi/hgTrackUi.c 1.524
1.524 2010/05/11 01:43:26 kent
Refactoring to split the trackDb.tableName field into separate track and table fields. Similarly track.mapName field goes to the same track and table fields.
Index: src/hg/hgTrackUi/hgTrackUi.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTrackUi/hgTrackUi.c,v
retrieving revision 1.523
retrieving revision 1.524
diff -b -B -U 4 -r1.523 -r1.524
--- src/hg/hgTrackUi/hgTrackUi.c 9 May 2010 17:26:29 -0000 1.523
+++ src/hg/hgTrackUi/hgTrackUi.c 11 May 2010 01:43:26 -0000 1.524
@@ -162,9 +162,9 @@
}
slSort(&geneTdbList, trackDbCmp);
printf("<BR><B>On details page, show function and coding differences relative to: </B> ");
char cartVar[256];
- safef(cartVar, sizeof(cartVar), "%s_geneTrack", tdb->tableName);
+ safef(cartVar, sizeof(cartVar), "%s_geneTrack", tdb->track);
jsMakeCheckboxGroupSetClearButton(cartVar, TRUE);
jsMakeCheckboxGroupSetClearButton(cartVar, FALSE);
struct slName *selectedGeneTracks = cartOptionalSlNameList(cart, cartVar);
if (selectedGeneTracks == NULL)
@@ -178,9 +178,9 @@
char **values = needMem(menuSize*sizeof(char *));
char **labels = needMem(menuSize*sizeof(char *));
for (i = 0, gTdb = geneTdbList; i < menuSize && gTdb != NULL; i++, gTdb = gTdb->next)
{
- values[i] = gTdb->tableName;
+ values[i] = gTdb->track;
labels[i] = gTdb->shortLabel;
}
cgiMakeCheckboxGroupWithVals(cartVar, labels, values, menuSize, selectedGeneTracks, numCols);
cgiMakeHiddenVar(cartVar, "persistentShadow");
@@ -287,9 +287,9 @@
/* UI for dbSNP version 125 and later. */
{
char autoSubmit[2048];
char *orthoTable = snp125OrthoTable(tdb, NULL);
-int version = snpVersion(tdb->tableName);
+int version = snpVersion(tdb->track);
if (version < 130)
snp125ValidLabelsSize--; // no by-1000genomes
@@ -510,9 +510,9 @@
/* It would be nice to add a 'reset' button to reset the ld variables to their defaults. */
printf("<BR><B>LD Values:</B><BR> \n");
-safef(var, sizeof(var), "%s_val", tdb->tableName);
+safef(var, sizeof(var), "%s_val", tdb->track);
val = cartUsualString(cart, var, ldValDefault);
cgiMakeRadioButton(var, "rsquared", sameString("rsquared", val));
printf(" r<sup>2</sup> ");
cgiMakeRadioButton(var, "dprime", sameString("dprime", val));
@@ -521,9 +521,9 @@
printf(" LOD<BR>");
printf("<BR><B>Track Geometry:</B><BR> \n");
-safef(var, sizeof(var), "%s_trm", tdb->tableName);
+safef(var, sizeof(var), "%s_trm", tdb->track);
cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldTrmDefault));
printf(" Trim to triangle<BR>\n");
if (tdbIsComposite(tdb))
@@ -534,11 +534,11 @@
struct slRef *tdbRef;
for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
{
struct trackDb *subTdb = tdbRef->val;
- if (hTableExists(database, subTdb->tableName))
+ if (hTableExists(database, subTdb->table))
{
- safef(var, sizeof(var), "%s_inv", subTdb->tableName);
+ safef(var, sizeof(var), "%s_inv", subTdb->track);
cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldInvDefault));
printf(" Invert display for %s<BR> \n",
subTdb->longLabel);
}
@@ -546,16 +546,16 @@
slFreeList(&tdbRefList);
}
else
{
- safef(var, sizeof(var), "%s_inv", tdb->tableName);
+ safef(var, sizeof(var), "%s_inv", tdb->track);
printf(" ");
cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldInvDefault));
printf(" Invert the display<BR> \n");
}
printf("<BR><B>Colors:</B>\n");
-safef(var, sizeof(var), "%s_pos", tdb->tableName);
+safef(var, sizeof(var), "%s_pos", tdb->track);
val = cartUsualString(cart, var, ldPosDefault);
printf("<TABLE>\n ");
printf("<TR>\n <TD> LD values </TD>\n <TD>- ");
radioButton(var, val, "red");
@@ -564,9 +564,9 @@
printf("</TD>\n <TD>");
radioButton(var, val, "blue");
printf("</TD>\n </TR>\n ");
-safef(var, sizeof(var), "%s_out", tdb->tableName);
+safef(var, sizeof(var), "%s_out", tdb->track);
val = cartUsualString(cart, var, ldOutDefault);
printf("<TR>\n <TD> Outlines </TD>\n <TD>- ");
radioButton(var, val, "red");
printf("</TD>\n <TD>");
@@ -585,9 +585,9 @@
printf("</TABLE>\n");
if (tdb->type && sameString(tdb->type, "ld2"))
{
- safef(var, sizeof(var), "%s_gap", tdb->tableName);
+ safef(var, sizeof(var), "%s_gap", tdb->track);
printf(" ");
cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldGapDefault));
printf(" In dense mode, shade gaps between markers by T-int<BR>\n");
}
@@ -613,9 +613,9 @@
void labelMakeCheckBox(struct trackDb *tdb, char *sym, char *desc, boolean dflt)
/* add a checkbox use to choose labels to enable. */
{
char varName[64];
-safef(varName, sizeof(varName), "%s.label.%s", tdb->tableName, sym);
+safef(varName, sizeof(varName), "%s.label.%s", tdb->track, sym);
boolean option = cartUsualBoolean(cart, varName, dflt);
cgiMakeCheckBox(varName, option);
printf(" %s ", desc);
}
@@ -965,9 +965,9 @@
char *affyMap;
char *col;
char varName[128];
-safef(varName, sizeof(varName), "%s.%s", tdb->tableName, "type");
+safef(varName, sizeof(varName), "%s.%s", tdb->track, "type");
affyMap = cartUsualString(cart, varName, affyEnumToString(affyTissue));
col = cartUsualString(cart, "exprssn.color", "rg");
printf("<p><b>Experiment Display: </b> ");
affyDropDown(varName, affyMap);
@@ -1020,9 +1020,9 @@
char *drawExons = trackDbSetting(tdb, "expDrawExons");
boolean checked = FALSE;
if (!drawExons || differentWord(drawExons, "on"))
return;
-safef(checkBoxName, sizeof(checkBoxName), "%s.expDrawExons", tdb->tableName);
+safef(checkBoxName, sizeof(checkBoxName), "%s.expDrawExons", tdb->track);
checked = cartCgiUsualBoolean(cart, checkBoxName, FALSE);
puts("<B>Draw intron lines/arrows and exons: </B> ");
cgiMakeCheckBox(checkBoxName, checked);
puts("<BR>\n");
@@ -1033,9 +1033,9 @@
{
char radioName[256];
char *colorSetting = NULL;
char *tdbSetting = trackDbSettingOrDefault(tdb, "expColor", "redGreen");
-safef(radioName, sizeof(radioName), "%s.color", tdb->tableName);
+safef(radioName, sizeof(radioName), "%s.color", tdb->track);
colorSetting = cartUsualString(cart, radioName, tdbSetting);
puts("<BR><B>Color: </B><BR> ");
cgiMakeRadioButton(radioName, "redGreen", sameString(colorSetting, "redGreen"));
puts("red/green<BR>");
@@ -1059,9 +1059,9 @@
"microarrayGroups.ra", &gHashOfHashes);
if ((ret == NULL) && (gHashOfHashes == NULL))
errAbort("Could not get group settings for track.");
expRatioDrawExonOption(tdb);
-expRatioCombineDropDown(tdb->tableName, groupings, gHashOfHashes);
+expRatioCombineDropDown(tdb->track, groupings, gHashOfHashes);
expRatioColorOption(tdb);
}
void expRatioCtUi(struct trackDb *tdb)
@@ -1076,9 +1076,9 @@
char *affyAllExonMap;
char *col;
char varName[128];
-safef(varName, sizeof(varName), "%s.%s", tdb->tableName, "type");
+safef(varName, sizeof(varName), "%s.%s", tdb->track, "type");
affyAllExonMap = cartUsualString(cart, varName, affyAllExonEnumToString(affyAllExonTissue));
col = cartUsualString(cart, "exprssn.color", "rg");
printf("<p><b>Experiment Display: </b> ");
affyAllExonDropDown(varName, affyAllExonMap);
@@ -1142,18 +1142,18 @@
boolean useGene, useAcc, useSprot, usePos;
int cMode;
char *cModes[3] = {"0", "1", "2"};
-safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->tableName);
-safef(accName, sizeof(accName), "%s.accLabel", tdb->tableName);
-safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->tableName);
-safef(posName, sizeof(posName), "%s.posLabel", tdb->tableName);
+safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->track);
+safef(accName, sizeof(accName), "%s.accLabel", tdb->track);
+safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->track);
+safef(posName, sizeof(posName), "%s.posLabel", tdb->track);
useGene= cartUsualBoolean(cart, geneName, TRUE);
useAcc= cartUsualBoolean(cart, accName, FALSE);
useSprot= cartUsualBoolean(cart, sprotName, FALSE);
usePos= cartUsualBoolean(cart, posName, FALSE);
-safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->tableName);
+safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->track);
cMode = cartUsualInt(cart, cModeStr, 0);
printf("<P><B>Color elements: </B> ");
cgiMakeRadioButton(cModeStr, cModes[0], cMode == 0);
@@ -1186,17 +1186,17 @@
boolean useGene, useAcc, usePos;
int cMode;
char *cModes[3] = {"0", "1", "2"};
-safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->tableName);
-safef(accName, sizeof(accName), "%s.accLabel", tdb->tableName);
-safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->tableName);
-safef(posName, sizeof(posName), "%s.posLabel", tdb->tableName);
+safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->track);
+safef(accName, sizeof(accName), "%s.accLabel", tdb->track);
+safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->track);
+safef(posName, sizeof(posName), "%s.posLabel", tdb->track);
useGene= cartUsualBoolean(cart, geneName, TRUE);
useAcc= cartUsualBoolean(cart, accName, FALSE);
usePos= cartUsualBoolean(cart, posName, FALSE);
-safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->tableName);
+safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->track);
cMode = cartUsualInt(cart, cModeStr, 0);
printf("<P><B>Color elements: </B> ");
cgiMakeRadioButton(cModeStr, cModes[0], cMode == 0);
@@ -1226,18 +1226,18 @@
boolean useGene, useAcc, useSprot, usePos;
int cMode;
char *cModes[3] = {"0", "1", "2"};
-safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->tableName);
-safef(accName, sizeof(accName), "%s.accLabel", tdb->tableName);
-safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->tableName);
-safef(posName, sizeof(posName), "%s.posLabel", tdb->tableName);
+safef(geneName, sizeof(geneName), "%s.geneLabel", tdb->track);
+safef(accName, sizeof(accName), "%s.accLabel", tdb->track);
+safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tdb->track);
+safef(posName, sizeof(posName), "%s.posLabel", tdb->track);
useGene= cartUsualBoolean(cart, geneName, TRUE);
useAcc= cartUsualBoolean(cart, accName, FALSE);
useSprot= cartUsualBoolean(cart, sprotName, FALSE);
usePos= cartUsualBoolean(cart, posName, FALSE);
-safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->tableName);
+safef(cModeStr, sizeof(cModeStr), "%s.cmode", tdb->track);
cMode = cartUsualInt(cart, cModeStr, 0);
printf("<P><B>Color elements: </B> ");
cgiMakeRadioButton(cModeStr, cModes[0], cMode == 0);
@@ -1264,9 +1264,9 @@
/* Put up gene ID track controls */
{
char varName[64];
char *geneLabel;
-safef(varName, sizeof(varName), "%s.label", tdb->tableName);
+safef(varName, sizeof(varName), "%s.label", tdb->track);
geneLabel = cartUsualString(cart, varName, "gene symbol");
printf("<B>Label:</B> ");
radioButton(varName, geneLabel, "gene symbol");
radioButton(varName, geneLabel, "UCSC Known Gene ID");
@@ -1285,9 +1285,9 @@
/* Put up gene ID track controls */
{
char varName[64];
char *geneLabel;
-safef(varName, sizeof(varName), "%s.label", tdb->tableName);
+safef(varName, sizeof(varName), "%s.label", tdb->track);
geneLabel = cartUsualString(cart, varName, "OMIM ID");
printf("<BR><B>Label:</B> ");
radioButton(varName, geneLabel, "OMIM ID");
radioButton(varName, geneLabel, "OMIM gene or syndrome");
@@ -1322,13 +1322,13 @@
/* Put up line of controls that describe what parts to show. */
{
char varName[64];
printf("<B>Show:</B> ");
-safef(varName, sizeof(varName), "%s.show.noncoding", tdb->tableName);
+safef(varName, sizeof(varName), "%s.show.noncoding", tdb->track);
boolean option = cartUsualBoolean(cart, varName, TRUE);
cgiMakeCheckBox(varName, option);
printf(" %s ", "non-coding genes");
-safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->tableName);
+safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->track);
option = cartUsualBoolean(cart, varName, TRUE);
cgiMakeCheckBox(varName, option);
printf(" %s ", "splice variants");
printf("<BR>\n");
@@ -1353,9 +1353,9 @@
/* Put up gene ID track controls */
{
char varName[64];
char *geneLabel;
-safef(varName, sizeof(varName), "%s.label", tdb->tableName);
+safef(varName, sizeof(varName), "%s.label", tdb->track);
geneLabel = cartUsualString(cart, varName, "gene");
printf("<B>Label:</B> ");
radioButton(varName, geneLabel, "gene");
radioButton(varName, geneLabel, "accession");
@@ -1368,18 +1368,18 @@
{
/* Put up option to hide non-coding elements. */
printf("<B>Hide non-coding genes:</B> ");
char varName[64];
-safef(varName, sizeof(varName), "%s.%s", tdb->tableName, HIDE_NONCODING_SUFFIX);
+safef(varName, sizeof(varName), "%s.%s", tdb->track, HIDE_NONCODING_SUFFIX);
cartMakeCheckBox(cart, varName, HIDE_NONCODING_DEFAULT);
}
void refGeneUI(struct trackDb *tdb)
/* Put up refGene or xenoRefGene gene ID track controls, with checkboxes */
{
/* Figure out if OMIM database is available. */
int omimAvail = 0;
-if (sameString(tdb->tableName, "refGene"))
+if (sameString(tdb->track, "refGene"))
{
struct sqlConnection *conn = hAllocConn(database);
char query[128];
safef(query, sizeof(query), "select refLink.omimId from refLink, refGene where refLink.mrnaAcc = refGene.name and refLink.omimId != 0 limit 1");
@@ -1458,9 +1458,9 @@
void mrnaUi(struct trackDb *tdb, boolean isXeno)
/* Put up UI for an mRNA (or EST) track. */
{
-struct mrnaUiData *mud = newMrnaUiData(tdb->tableName, isXeno);
+struct mrnaUiData *mud = newMrnaUiData(tdb->track, isXeno);
struct mrnaFilter *fil;
struct controlGrid *cg = NULL;
char *filterTypeVar = mud->filterTypeVar;
char *filterTypeVal = cartUsualString(cart, filterTypeVar, "red");
@@ -1492,9 +1492,9 @@
char filterVar[256];
char *filterVal = "";
printf("<p><b>Filter by chromosome (e.g. chr10):</b> ");
-snprintf(filterVar, sizeof(filterVar), "%s.chromFilter", tdb->tableName);
+snprintf(filterVar, sizeof(filterVar), "%s.chromFilter", tdb->track);
filterSetting = cartUsualString(cart, filterVar, filterVal);
cgiMakeTextVar(filterVar, cartUsualString(cart, filterVar, ""), 15);
}
@@ -1507,9 +1507,9 @@
* overridden by the colorChromDefault setting in the track */
char *colorDefault = trackDbSettingOrDefault(tdb, "colorChromDefault", "on");
printf("<p><b>Color track based on chromosome:</b> ");
-snprintf(colorVar, sizeof(colorVar), "%s.color", tdb->tableName);
+snprintf(colorVar, sizeof(colorVar), "%s.color", tdb->track);
colorSetting = cartUsualString(cart, colorVar, colorDefault);
cgiMakeRadioButton(colorVar, "on", sameString(colorSetting, "on"));
printf(" on ");
cgiMakeRadioButton(colorVar, "off", sameString(colorSetting, "off"));
@@ -1566,14 +1566,14 @@
struct sqlConnection *conn = hAllocConn(database);
char newRow = 0;
-snprintf( &options[0][0], 256, "%s.heightPer", tdb->tableName );
-snprintf( &options[1][0], 256, "%s.linear.interp", tdb->tableName );
-snprintf( &options[3][0], 256, "%s.fill", tdb->tableName );
-snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->tableName );
-snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->tableName );
-snprintf( &options[6][0], 256, "%s.interp.gap", tdb->tableName );
+snprintf( &options[0][0], 256, "%s.heightPer", tdb->track );
+snprintf( &options[1][0], 256, "%s.linear.interp", tdb->track );
+snprintf( &options[3][0], 256, "%s.fill", tdb->track );
+snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->track );
+snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->track );
+snprintf( &options[6][0], 256, "%s.interp.gap", tdb->track );
thisHeightPer = atoi(cartUsualString(cart, &options[0][0], "50"));
interpolate = cartUsualString(cart, &options[1][0], "Linear Interpolation");
fill = cartUsualString(cart, &options[3][0], "1");
@@ -1602,9 +1602,9 @@
printf(" max:");
cgiMakeDoubleVar(&options[5][0], thisMaxYRange, 6 );
printf("<p><b>Toggle Species on/off</b><br>" );
-sr = hRangeQuery(conn, tdb->tableName, chromosome, 0, 1877426, NULL, &rowOffset);
+sr = hRangeQuery(conn, tdb->table, chromosome, 0, 1877426, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
sample = sampleLoad(row + rowOffset);
snprintf( option, sizeof(option), "zooSpecies.%s", sample->name );
@@ -1630,9 +1630,9 @@
if (compositeTrack)
return; // configuration taken care of by hCompositeUi() later
else if (normScoreAvailable)
- chainCfgUi(database, cart, tdb, tdb->tableName, NULL, FALSE, chromosome);
+ chainCfgUi(database, cart, tdb, tdb->track, NULL, FALSE, chromosome);
else
crossSpeciesUi(tdb);
}
@@ -1640,9 +1640,9 @@
/* UI for the wiggle track */
{
char varName[chromGraphVarNameMaxSize];
struct sqlConnection *conn = NULL;
-char *track = tdb->tableName;
+char *track = tdb->track;
if (!isCustomTrack(track))
conn = hAllocConn(database);
double minVal,maxVal;
struct chromGraphSettings *cgs = chromGraphSettingsGet(track,
@@ -1747,14 +1747,14 @@
int thisHeightPer, thisLineGap;
float thisMinYRange, thisMaxYRange;
char *interpolate, *fill;
-snprintf( &options[0][0], 256, "%s.heightPer", tdb->tableName );
-snprintf( &options[1][0], 256, "%s.linear.interp", tdb->tableName );
-snprintf( &options[3][0], 256, "%s.fill", tdb->tableName );
-snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->tableName );
-snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->tableName );
-snprintf( &options[6][0], 256, "%s.interp.gap", tdb->tableName );
+snprintf( &options[0][0], 256, "%s.heightPer", tdb->track );
+snprintf( &options[1][0], 256, "%s.linear.interp", tdb->track );
+snprintf( &options[3][0], 256, "%s.fill", tdb->track );
+snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->track );
+snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->track );
+snprintf( &options[6][0], 256, "%s.interp.gap", tdb->track );
thisHeightPer = atoi(cartUsualString(cart, &options[0][0], "50"));
interpolate = cartUsualString(cart, &options[1][0], "Linear Interpolation");
fill = cartUsualString(cart, &options[3][0], "1");
@@ -1799,9 +1799,9 @@
tnfgVis = hTvFromString(visString);
printf("<b>Transfrags Display Mode: </b>");
hTvDropDown("hgt.affyPhase2.tnfg", tnfgVis, TRUE);
-wigCfgUi(cart,tdb,tdb->tableName,"<u>Graph Plotting options:</u>",FALSE);
+wigCfgUi(cart,tdb,tdb->track,"<u>Graph Plotting options:</u>",FALSE);
printf("<p><b><u>View/Hide individual cell lines:</u></b>");
}
void humMusUi(struct trackDb *tdb, int optionNum )
@@ -1812,14 +1812,14 @@
int thisHeightPer, thisLineGap;
float thisMinYRange, thisMaxYRange;
char *interpolate, *fill;
-snprintf( &options[0][0], 256, "%s.heightPer", tdb->tableName );
-snprintf( &options[1][0], 256, "%s.linear.interp", tdb->tableName );
-snprintf( &options[3][0], 256, "%s.fill", tdb->tableName );
-snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->tableName );
-snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->tableName );
-snprintf( &options[6][0], 256, "%s.interp.gap", tdb->tableName );
+snprintf( &options[0][0], 256, "%s.heightPer", tdb->track );
+snprintf( &options[1][0], 256, "%s.linear.interp", tdb->track );
+snprintf( &options[3][0], 256, "%s.fill", tdb->track );
+snprintf( &options[4][0], 256, "%s.min.cutoff", tdb->track );
+snprintf( &options[5][0], 256, "%s.max.cutoff", tdb->track );
+snprintf( &options[6][0], 256, "%s.interp.gap", tdb->track );
thisHeightPer = atoi(cartUsualString(cart, &options[0][0], "50"));
interpolate = cartUsualString(cart, &options[1][0], "Linear Interpolation");
fill = cartUsualString(cart, &options[3][0], "1");
@@ -1978,9 +1978,9 @@
char cartVar[128];
for (i = 0; i < popCount; i++)
{
char table[HDB_MAX_TABLE_STRING];
- if (endsWith(tdb->tableName, "PhaseII"))
+ if (endsWith(tdb->track, "PhaseII"))
safef(table, sizeof(table), "hapmapSnps%sPhaseII", pops[i]);
else
safef(table, sizeof(table), "hapmapSnps%s", pops[i]);
if (sqlTableExists(conn, table))
@@ -2100,19 +2100,19 @@
struct sqlResult *sr;
char **row;
char query[256];
safef(query, sizeof(query),
- "select reference,pubMedId from %s group by pubMedId order by reference;", tdb->tableName);
+ "select reference,pubMedId from %s group by pubMedId order by reference;", tdb->table);
sr = sqlGetResult(conn, query);
printf("<BR><B>Filter by publication reference:</B>\n");
char cartVarName[256];
-safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterType", tdb->tableName);
+safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterType", tdb->track);
boolean isInclude = sameString("include", cartUsualString(cart, cartVarName, "include"));
cgiMakeRadioButton(cartVarName, "include", isInclude);
printf("include\n");
cgiMakeRadioButton(cartVarName, "exclude", !isInclude);
printf("exclude<BR>\n");
-safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tdb->tableName);
+safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tdb->track);
struct slName *checked = cartOptionalSlNameList(cart, cartVarName);
boolean setAll = (checked == NULL && isInclude);
#define MAX_DGV_REFS 128
char *labelArr[MAX_DGV_REFS], *valueArr[MAX_DGV_REFS];
@@ -2127,9 +2127,9 @@
"&list_uids=%s&dopt=Abstract&tool=genome.ucsc.edu\" TARGET=_BLANK>%s</A>", pmId, ref);
labelArr[refCount] = cloneString(label);
valueArr[refCount++] = cloneString(pmId);
if (refCount >= MAX_DGV_REFS)
- errAbort("dgvUi: %s has too many references (max %d)", tdb->tableName, MAX_DGV_REFS);
+ errAbort("dgvUi: %s has too many references (max %d)", tdb->track, MAX_DGV_REFS);
if (setAll)
slAddHead(&checked, slNameNew(pmId));
}
sqlFreeResult(&sr);
@@ -2145,21 +2145,21 @@
struct trackDb *tdb;
printf("<P><TABLE CELLPADDING=2>");
for (tdb = superTdb->subtracks; tdb != NULL; tdb = tdb->next)
{
- if (!hTableOrSplitExists(database, tdb->tableName) && tdb->subtracks != NULL &&
+ if (!hTableOrSplitExists(database, tdb->table) && tdb->subtracks != NULL &&
trackDbLocalSetting(tdb, "compositeTrack") == NULL)
// NOTE: tdb if composite, is not yet populated with it's own subtracks!
continue;
printf("<TR>");
printf("<TD NOWRAP><A HREF=\"%s?%s=%u&c=%s&g=%s\">%s</A> </TD>",
hgTrackUiName(), cartSessionVarName(), cartSessionId(cart),
- chromosome, cgiEncode(tdb->tableName), tdb->shortLabel);
+ chromosome, cgiEncode(tdb->track), tdb->shortLabel);
printf("<TD>");
enum trackVisibility tv =
- hTvFromString(cartUsualString(cart, tdb->tableName,
+ hTvFromString(cartUsualString(cart, tdb->track,
hStringFromTv(tdb->visibility)));
- hTvDropDownClassVisOnly(tdb->tableName, tv, tdb->canPack,
+ hTvDropDownClassVisOnly(tdb->track, tv, tdb->canPack,
tv == tvHide ? "hiddenText" : "normalText",
trackDbSetting(tdb, "onlyVisibility"));
printf("<TD>%s", tdb->longLabel);
char *dataVersion = trackDbSetting(tdb, "dataVersion");
@@ -2172,9 +2172,10 @@
void specificUi(struct trackDb *tdb, struct customTrack *ct)
/* Draw track specific parts of UI. */
{
-char *track = tdb->tableName;
+char *track = tdb->track;
+
if (sameString(track, "stsMap"))
stsMapUi(tdb);
else if (sameString(track, "affyTxnPhase2"))
@@ -2260,15 +2261,15 @@
blastUi(tdb);
else if (sameString(track, "hgPcrResult"))
pcrResultUi(tdb);
else if (startsWith("bedGraph", tdb->type) || startsWith("bigWig", tdb->type))
- wigCfgUi(cart,tdb,tdb->tableName,NULL, FALSE);
+ wigCfgUi(cart,tdb,tdb->track,NULL, FALSE);
else if (startsWith("wig", tdb->type))
{
if (startsWith("wigMaf", tdb->type))
- wigMafCfgUi(cart, tdb, tdb->tableName, NULL, FALSE, database);
+ wigMafCfgUi(cart, tdb, tdb->track, NULL, FALSE, database);
else
- wigCfgUi(cart,tdb,tdb->tableName, NULL, FALSE);
+ wigCfgUi(cart,tdb,tdb->track, NULL, FALSE);
}
else if (startsWith("chromGraph", tdb->type))
chromGraphUi(tdb);
/* else if (sameString(track, "affyHumanExon")) */
@@ -2289,9 +2290,9 @@
* For crossSpeciesUi, the
* default for chrom coloring is "on", unless track setting
* colorChromDefault is set to "off" */
else if (startsWith("net", track))
- netAlignCfgUi(database, cart, tdb, tdb->tableName, NULL, FALSE);
+ netAlignCfgUi(database, cart, tdb, tdb->track, NULL, FALSE);
else if (startsWith("chain", track) || endsWith("chainSelf", track))
chainColorUi(tdb);
else if (sameString(track, "orthoTop4"))
/* still used ?? */
@@ -2345,9 +2346,9 @@
if (wordCount > 0)
{
if (sameWord(words[0], "genePred"))
{
- genePredCfgUi(cart,tdb,tdb->tableName,NULL,FALSE);
+ genePredCfgUi(cart,tdb,tdb->track,NULL,FALSE);
}
else if(sameWord(words[0], "encodePeak") || sameWord(words[0], "narrowPeak")
|| sameWord(words[0], "broadPeak") || sameWord(words[0], "gappedPeak"))
{
@@ -2376,16 +2377,16 @@
&& !sameString(track, "jaxQTL3") && !sameString(track, "wgRna")
&& !startsWith("encodeGencodeIntron", track))
{
if (trackDbSetting(tdb, "scoreFilterMax"))
- scoreCfgUi(database, cart,tdb,tdb->tableName,NULL,
+ scoreCfgUi(database, cart,tdb,tdb->track,NULL,
sqlUnsigned(trackDbSetting(tdb, "scoreFilterMax")),FALSE);
else
- scoreCfgUi(database, cart,tdb,tdb->tableName,NULL,1000,FALSE);
+ scoreCfgUi(database, cart,tdb,tdb->track,NULL,1000,FALSE);
}
}
else if (sameWord(words[0], "bed5FloatScore") || sameWord(words[0], "bed5FloatScoreWithFdr"))
- scoreCfgUi(database, cart,tdb,tdb->tableName,NULL,1000,FALSE);
+ scoreCfgUi(database, cart,tdb,tdb->track,NULL,1000,FALSE);
else if (sameWord(words[0], "psl"))
{
if (wordCount == 3)
if (sameWord(words[1], "xeno"))
@@ -2396,10 +2397,12 @@
}
freeMem(typeLine);
}
if (tdbIsSuperTrack(tdb))
+ {
superTrackUi(tdb);
-else if (tdb->subtracks);
+ }
+else if (tdb->subtracks)
// else if (tdbIsComposite(tdb)) for the moment generalizing this to include other containers...
{
hCompositeUi(database, cart, tdb, NULL, NULL, MAIN_FORM);
}
@@ -2416,12 +2419,12 @@
char setting[128];
// NOTE: Currently only composite multi-view tracks because
// reset relies upon all cart vars following naming convention:
-// {tableName}.{varName}... ( One exception supported: {tableName}_sel ).
+// {track}.{varName}... ( One exception supported: {track}_sel ).
if(tdbIsComposite(tdb))
{
- safef(setting,sizeof(setting),"%s.%s",tdb->tableName,RESET_TO_DEFAULTS);
+ safef(setting,sizeof(setting),"%s.%s",tdb->track,RESET_TO_DEFAULTS);
// NOTE: if you want track vis to not be reset, move to after vis dropdown
if(1 == cartUsualInt(cart, setting, 0))
cartRemoveAllForTdbAndChildren(cart,tdb);
}
@@ -2434,9 +2437,9 @@
/* Print link for parent track */
struct trackDb *parentTdb = tdb->parent;
if (parentTdb)
{
- char *encodedMapName = cgiEncode(parentTdb->tableName);
+ char *encodedMapName = cgiEncode(parentTdb->track);
printf("<H3>Parent track: <A HREF=\"%s?%s=%u&c=%s&g=%s\">%s</A></H3>",
hgTrackUiName(), cartSessionVarName(), cartSessionId(cart),
chromosome, encodedMapName, parentTdb->shortLabel);
freeMem(encodedMapName);
@@ -2459,10 +2462,10 @@
else
{
/* normal visibility control dropdown */
char *vis = hStringFromTv(tdb->visibility);
- hTvDropDownClassVisOnly(tdb->tableName,
- hTvFromString(cartUsualString(cart,tdb->tableName, vis)),
+ hTvDropDownClassVisOnly(tdb->track,
+ hTvFromString(cartUsualString(cart,tdb->track, vis)),
tdb->canPack, "normalText", trackDbSetting(tdb, "onlyVisibility"));
}
printf(" ");
cgiMakeButton("Submit", "Submit");
@@ -2473,9 +2476,9 @@
if (ct)
{
puts(" ");
cgiMakeButton(CT_DO_REMOVE_VAR, "Remove custom track");
- cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, tdb->tableName);
+ cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, tdb->track);
puts(" ");
if (differentString(tdb->type, "chromGraph"))
cgiMakeOnClickButton("document.customTrackForm.submit();return false;",
"Update custom track");
@@ -2489,9 +2492,9 @@
{
/* hidden form for custom tracks CGI */
printf("<FORM ACTION='%s' NAME='customTrackForm'>", hgCustomName());
cartSaveSession(cart);
- cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, tdb->tableName);
+ cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, tdb->track);
puts("</FORM>\n");
}
else
{
@@ -2502,12 +2505,12 @@
/* Print lift information from trackDb, if any */
trackDbPrintOrigAssembly(tdb, database);
- if (hTableOrSplitExists(database, tdb->tableName))
+ if (hTableOrSplitExists(database, tdb->table))
{
/* Print update time of the table (or one of the components if split) */
- char *tableName = hTableForTrack(database, tdb->tableName);
+ char *tableName = hTableForTrack(database, tdb->table);
struct sqlConnection *conn = hAllocConnProfile(getTrackProfileName(tdb), database);
char *date = firstWordInLine(sqlTableUpdate(conn, tableName));
if (date != NULL && !startsWith("wigMaf", tdb->type))
@@ -2528,9 +2531,10 @@
{
struct trackDb *tdb;
AllocVar(tdb);
-tdb->tableName = tableName;
+tdb->track = tableName;
+tdb->table = tableName;
tdb->shortLabel = shortLabel;
tdb->longLabel = longLabel;
tdb->visibility = defaultVis;
tdb->priority = 1.0;
@@ -2589,9 +2593,9 @@
{
ctList = customTracksParseCart(database, cart, NULL, NULL);
for (ct = ctList; ct != NULL; ct = ct->next)
{
- if (sameString(track, ct->tdb->tableName))
+ if (sameString(track, ct->tdb->track))
{
tdb = ct->tdb;
break;
}