src/hg/hgTracks/simpleTracks.c 1.139
1.139 2010/05/11 01:43:28 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/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -b -B -U 4 -r1.138 -r1.139
--- src/hg/hgTracks/simpleTracks.c 7 May 2010 05:07:57 -0000 1.138
+++ src/hg/hgTracks/simpleTracks.c 11 May 2010 01:43:28 -0000 1.139
@@ -503,18 +503,18 @@
if(toggleGroup != NULL && tdbIsCompositeChild(toggleGroup->tdb))
{
int vis = toggleGroup->visibility;
struct trackDb *tdbParent = trackDbCompositeParent(toggleGroup->tdb);
- char *parentName = tdbParent->tableName;
+ char *parentName = tdbParent->track;
// Find parent track (as opposed to trackDb)
struct track *tgParent = trackList;
for (;tgParent != NULL; tgParent = tgParent->next)
{
- if (sameString(tgParent->mapName,parentName))
+ if (sameString(tgParent->track,parentName))
break;
}
// should be assertable assert(tgParent!=NULL);
- char *encodedTableName = cgiEncode(toggleGroup->tdb->parent->tableName);
+ char *encodedTableName = cgiEncode(toggleGroup->tdb->parent->track);
char *view = NULL;
boolean setView = subgroupFind(toggleGroup->tdb,"view",&view);
if(tgParent!=NULL && tvCompare(tgParent->visibility,vis) > 0)
{
@@ -549,9 +549,9 @@
{
if (toggleGroup != NULL)
{
int vis = toggleGroup->visibility;
- char *encodedMapName = cgiEncode(toggleGroup->mapName);
+ char *encodedMapName = cgiEncode(toggleGroup->track);
if (vis == tvDense)
{
if(!toggleGroup->canPack || (tdbIsComposite(toggleGroup->tdb) && subgroupingExists(toggleGroup->tdb,"view")))
vis = tvFull;
@@ -610,9 +610,9 @@
struct dyString *ui = uiStateUrlPart(toggleGroup);
struct dyString *id = dyStringNew(0);
if(toggleGroup)
{
- dyStringPrintf(id, " id='%s'", toggleGroup->mapName);
+ dyStringPrintf(id, " id='%s'", toggleGroup->track);
}
x = hvGfxAdjXW(hvg, x, width);
if (extra != NULL)
@@ -654,9 +654,9 @@
//#ifdef IMAGEv2_SHORT_MAPITEMS
// if(x < insideX && x+width > insideX)
// warn("mapBoxReinvoke(%s) map item spanning slices. LX:%d TY:%d RX:%d BY:%d link:[%s]",hStringFromTv(toggleGroup->visibility),x, y, x+width, y+height, link);
//#endif//def IMAGEv2_SHORT_MAPITEMS
- imgTrackAddMapItem(curImgTrack,link,(char *)(message != NULL?message:NULL),x, y, x+width, y+height, toggleGroup != NULL ? toggleGroup->mapName : NULL);
+ imgTrackAddMapItem(curImgTrack,link,(char *)(message != NULL?message:NULL),x, y, x+width, y+height, toggleGroup != NULL ? toggleGroup->track : NULL);
}
else
{
hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, x+width, y+height);
@@ -1522,9 +1522,9 @@
}
/* load as linked list once, outside of loop */
srcList = gvSrcLoadByQuery(conn, "select * from hgFixed.gvSrc");
/* load part need from gv table, outside of loop (load in hash?) */
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
struct gv *details = NULL;
char query[256], *escId;
@@ -1634,9 +1634,9 @@
struct sqlResult *sr;
char **row;
int rowOffset;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd,
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,
NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
struct oreganno *el = oregannoLoad(row);
@@ -1823,24 +1823,24 @@
if (end > start)
for ( ; sizeWanted > 0 && sizeWanted < BIGNUM; )
{
#ifndef GBROWSE
- if (sameWord(tg->mapName, WIKI_TRACK_TABLE))
- items = wikiTrackGetBedRange(tg->mapName, chromName, start, end);
- else if (sameWord(tg->mapName, "gvPos"))
+ if (sameWord(tg->table, WIKI_TRACK_TABLE))
+ items = wikiTrackGetBedRange(tg->table, chromName, start, end);
+ else if (sameWord(tg->table, "gvPos"))
items = loadGvAsBed(tg, chromName, start, end);
- else if (sameWord(tg->mapName, "oreganno"))
+ else if (sameWord(tg->table, "oreganno"))
items = loadOregannoAsBed(tg, chromName, start, end);
else
#endif /* GBROWSE */
{
- if (isCustomTrack(tg->mapName))
+ if (isCustomTrack(tg->table))
{
struct customTrack *ct = tg->customPt;
items = hGetCtBedRange(CUSTOM_TRASH, database, ct->dbTableName, chromName, start, end, NULL);
}
else
- items = hGetBedRange(database, tg->mapName, chromName, start, end, NULL);
+ items = hGetBedRange(database, tg->table, chromName, start, end, NULL);
}
/* If we got something, or weren't able to search as big as we wanted to */
/* (in case we're at the end of the chrom). */
if ((items != NULL) || (size < sizeWanted))
@@ -1974,9 +1974,9 @@
char **row;
int rowOffset;
struct linkedFeatures *lfList = NULL;
char extraWhere[256] ;
-/* Use tg->tdb->tableName because subtracks inherit composite track's tdb
+/* Use tg->tdb->track because subtracks inherit composite track's tdb
* by default, and the variable is named after the composite track. */
if ((scoreColumn != NULL) && (cartVarExistsAnyLevel(cart, tg->tdb, FALSE, SCORE_FILTER)))
{
char *scoreFilterClause = getScoreFilterClause(cart, tg->tdb,scoreColumn);
@@ -1986,13 +1986,13 @@
safef(extraWhere, sizeof(extraWhere), "%s and %s", scoreFilterClause, moreWhere);
else
safef(extraWhere, sizeof(extraWhere), "%s", scoreFilterClause);
freeMem(scoreFilterClause);
- sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, extraWhere, &rowOffset);
+ sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, extraWhere, &rowOffset);
}
}
else
- sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, moreWhere, &rowOffset);
+ sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, moreWhere, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
struct slList *item = itemLoader(row + rowOffset);
if ((itemFilter == NULL) || (itemFilter(item) == TRUE))
@@ -2374,9 +2374,9 @@
else if (tg->colorShades)
{
boolean isXeno = (tg->subType == lfSubXeno)
|| (tg->subType == lfSubChain)
- || startsWith("mrnaBla", tg->mapName);
+ || startsWith("mrnaBla", tg->table);
*retColor = tg->colorShades[lf->grayIx+isXeno];
*retBarbColor = tg->colorShades[lf->grayIx];
}
else
@@ -2562,9 +2562,9 @@
drawOpt == baseColorDrawGenomicCodons);
if (psl && baseColorNeedsCodons)
{
boolean isXeno = ((tg->subType == lfSubXeno) || (tg->subType == lfSubChain) ||
- startsWith("mrnaBla", tg->mapName));
+ startsWith("mrnaBla", tg->table));
int sizeMul = pslIsProtein(psl) ? 3 : 1;
lf->codons = baseColorCodonsFromPsl(lf, psl, sizeMul, isXeno, maxShade, drawOpt, tg);
}
else if (drawOpt > baseColorDrawOff)
@@ -2579,9 +2579,9 @@
baseColorSetCdsBounds(lf, psl, tg);
tallStart = lf->tallStart;
tallEnd = lf->tallEnd;
-if ((tallStart == 0 && tallEnd == 0) && !sameWord(tg->mapName, "jaxQTL3"))
+if ((tallStart == 0 && tallEnd == 0) && !sameWord(tg->table, "jaxQTL3"))
{
// sometimes a bed <8 will get passed off as a bed 8, tsk tsk
tallStart = lf->start;
tallEnd = lf->end;
@@ -2758,17 +2758,17 @@
mapName = tg->mapItemName(tg, item);
name = tg->itemName(tg, item);
/* special process for KG, because of "hgg_prot" piggy back */
-if (sameWord(tg->mapName, "knownGene"))
+if (sameWord(tg->table, "knownGene"))
{
mapName = cloneString(mapName);
chp = strstr(mapName, "&hgg_prot");
if (chp != NULL) *chp = '\0';
}
#ifndef GBROWSE
/* special case for PCR Results (may have acc+name mapItemName): */
-else if (sameString(tg->mapName, PCR_RESULT_TRACK_NAME))
+else if (sameString(tg->table, PCR_RESULT_TRACK_NAME))
mapName = pcrResultItemAccession(mapName);
#endif /* GBROWSE */
/* Only highlight if names are in the hgFindMatches hash with
@@ -2803,9 +2803,9 @@
#endif//def FLAT_TRACK_LIST
{
char *directUrl = trackDbSetting(tg->tdb, "directUrl");
boolean withHgsid = (trackDbSetting(tg->tdb, "hgsid") != NULL);
- mapBoxHgcOrHgGene(hvg, start, end, x, y, width, height, tg->mapName,
+ mapBoxHgcOrHgGene(hvg, start, end, x, y, width, height, tg->track,
mapItemName, itemName, directUrl, withHgsid, NULL);
}
}
@@ -3637,9 +3637,9 @@
if (needJoin)
{
dyStringPrintf(query, "select %s.* from %s,polyGenotype where ",
- tg->mapName, tg->mapName);
+ tg->table, tg->table);
if (differentString(option,ETHNIC_GROUP_DEFAULT))
{
char *optionNot =
@@ -3647,15 +3647,15 @@
if (sameWord(optionNot,"include"))
{
dyStringPrintf(query, "%s.name=polyGenotype.name and "
"polyGenotype.ethnicGroup=\"%s\" and ",
- tg->mapName, option);
+ tg->table, option);
}
else
{
dyStringPrintf(query, "%s.name=polyGenotype.name and "
"polyGenotype.ethnicGroup!=\"%s\" and ",
- tg->mapName, option);
+ tg->table, option);
}
}
if ((freqLow > 0.0) || (freqHi < 1.0))
{
@@ -3666,9 +3666,9 @@
}
}
else
{
- dyStringPrintf(query, "select * from %s where ", tg->mapName);
+ dyStringPrintf(query, "select * from %s where ", tg->table);
}
hAddBinToQuery(winStart, winEnd, query);
dyStringPrintf(query,
@@ -3705,9 +3705,9 @@
else
dyStringPrintf(query, " and disease!=\"NA\"");
}
-dyStringPrintf(query, " group by %s.name", tg->mapName);
+dyStringPrintf(query, " group by %s.name", tg->table);
sr = sqlGetResult(conn, dyStringCannibalize(&query));
rowOffset=1;
@@ -3919,12 +3919,12 @@
struct genePred *gp = NULL;
boolean nmdTrackFilter = sameString(trackDbSettingOrDefault(tg->tdb, "nmdFilter", "off"), "on");
char varName[SMALLBUF];
safef(varName, sizeof(varName), "%s.%s", table, HIDE_NONCODING_SUFFIX);
-boolean hideNoncoding = cartUsualBoolean(cart, varName, HIDE_NONCODING_DEFAULT); // TODO: Use cartUsualBooleanClosestToHome if tableName == tg->tdb->tableName
+boolean hideNoncoding = cartUsualBoolean(cart, varName, HIDE_NONCODING_DEFAULT); // TODO: Use cartUsualBooleanClosestToHome if tableName == tg->tdb->track
boolean doNmd = FALSE;
char buff[256];
-safef(buff, sizeof(buff), "hgt.%s.nmdFilter", tg->mapName);
+safef(buff, sizeof(buff), "hgt.%s.nmdFilter", tg->track);
/* Should we remove items that appear to be targets for nonsense
* mediated decay? */
if(nmdTrackFilter)
@@ -4039,9 +4039,8 @@
/* Returns true if an item should be added to the filter. */
{
struct linkedFeatures *lf = item;
char *classString;
-char *table = tg->mapName;
char *classType = NULL;
enum acemblyOptEnum ct;
struct sqlConnection *conn = NULL;
char query[1024];
@@ -4079,10 +4078,10 @@
filterBySetFree(&filterBySet);
return passesThroughFilter;
}
- classString = addSuffix(table, ".type");
- if (sameString(table, "acembly"))
+ classString = addSuffix(tg->table, ".type");
+ if (sameString(tg->table, "acembly"))
{
classType = cartUsualString(cart, classString, acemblyEnumToString(0));
ct = acemblyStringToEnum(classType);
if (ct == acemblyAll)
@@ -4112,9 +4111,9 @@
/* Convert gene pred in window to linked feature. Include alternate name
* in "extra" field (usually gene name)*/
{
struct sqlConnection *conn = hAllocConn(database);
-tg->items = connectedLfFromGenePredInRangeExtra(tg, conn, tg->mapName,
+tg->items = connectedLfFromGenePredInRangeExtra(tg, conn, tg->table,
chromName, winStart, winEnd, TRUE);
hFreeConn(&conn);
/* filter items on selected criteria if filter is available */
filterItems(tg, genePredClassFilter, "include");
@@ -4479,11 +4478,11 @@
{
struct trackDb *tdb = tg->tdb;
loadGenePredWithName2(tg);
char varName[SMALLBUF];
-safef(varName, sizeof(varName), "%s.show.noncoding", tdb->tableName);
+safef(varName, sizeof(varName), "%s.show.noncoding", tdb->track);
boolean showNoncoding = cartUsualBoolean(cart, varName, TRUE);
-safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->tableName);
+safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->track);
boolean showSpliceVariants = cartUsualBoolean(cart, varName, TRUE);
if (!showNoncoding)
tg->items = stripShortLinkedFeatures(tg->items);
if (!showSpliceVariants)
@@ -4871,9 +4870,9 @@
hvGfxTextCentered(hvg, x1, y, w, heightPer, textColor, font, s);
}
}
mapBoxHc(hvg, bed->chromStart, bed->chromEnd, x1, y, x2 - x1, heightPer,
- tg->mapName, tg->mapItemName(tg, bed), sLong);
+ tg->track, tg->mapItemName(tg, bed), sLong);
}
if (tg->subType == lfWithBarbs)
{
int dir = 0;
@@ -4896,9 +4895,9 @@
MgFont *font, Color color, enum trackVisibility vis)
/* Draw superfamily items. */
{
if (!tg->drawItemAt)
- errAbort("missing drawItemAt in track %s", tg->mapName);
+ errAbort("missing drawItemAt in track %s", tg->track);
genericDrawItems(tg, seqStart, seqEnd, hvg, xOff, yOff, width,
font, color, vis);
}
@@ -5064,9 +5063,9 @@
hvGfxTextCentered(hvg, x1, y, w, heightPer, textColor, font, s);
}
}
mapBoxHc(hvg, bed->chromStart, bed->chromEnd, x1, y, x2 - x1, heightPer,
- tg->mapName, tg->mapItemName(tg, bed), sDiseases);
+ tg->track, tg->mapItemName(tg, bed), sDiseases);
}
if (tg->subType == lfWithBarbs)
{
int dir = 0;
@@ -5166,9 +5165,9 @@
hvGfxTextCentered(hvg, x1, y, w, heightPer, textColor, font, s);
}
}
mapBoxHc(hvg, bed->chromStart, bed->chromEnd, x1, y, x2 - x1, heightPer,
- tg->mapName, tg->mapItemName(tg, bed), sPhenotypes);
+ tg->track, tg->mapItemName(tg, bed), sPhenotypes);
}
if (tg->subType == lfWithBarbs)
{
int dir = 0;
@@ -5228,9 +5227,9 @@
/* get description from rgdQtlLink table */
struct sqlConnection *conn = hAllocConn(database);
char cond_str[256];
char linkTable[256];
- safef(linkTable, sizeof(linkTable), "%sLink", tg->mapName);
+ safef(linkTable, sizeof(linkTable), "%sLink", tg->table);
safef(cond_str, sizeof(cond_str), "name='%s'", tg->itemName(tg, bed));
char *s = sqlGetField(database, linkTable, "description", cond_str);
hFreeConn(&conn);
if (s == NULL)
@@ -5258,14 +5257,14 @@
/* enable mouse over */
char *directUrl = trackDbSetting(tdb, "directUrl");
boolean withHgsid = (trackDbSetting(tdb, "hgsid") != NULL);
mapBoxHgcOrHgGene(hvg, bed->chromStart, bed->chromEnd, x1, y, x2 - x1,
- heightPer, tg->mapName, tg->mapItemName(tg, bed),
+ heightPer, tg->track, tg->mapItemName(tg, bed),
s, directUrl, withHgsid, NULL);
}
}
else
- errAbort("No color for track %s in rgdQtlDrawAt.", tg->mapName);
+ errAbort("No color for track %s in rgdQtlDrawAt.", tg->track);
}
void rgdQtlMethods(struct track *tg)
/* Fill in methods for rgdQtl track. */
@@ -5377,9 +5376,9 @@
/* This converts the refSeq accession to a gene name where possible. */
{
struct linkedFeatures *lf;
struct sqlConnection *conn = hAllocConn(database);
-boolean isNative = sameString(tg->mapName, "refGene");
+boolean isNative = sameString(tg->table, "refGene");
boolean labelStarted = FALSE;
boolean useGeneName = FALSE;
boolean useAcc = FALSE;
boolean useMim = FALSE;
@@ -5466,12 +5465,12 @@
char *blastRef;
char *buffer;
char *table = NULL;
-safef(geneName, sizeof(geneName), "%s.geneLabel", tg->tdb->tableName);
-safef(accName, sizeof(accName), "%s.accLabel", tg->tdb->tableName);
-safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tg->tdb->tableName);
-safef(posName, sizeof(posName), "%s.posLabel", tg->tdb->tableName);
+safef(geneName, sizeof(geneName), "%s.geneLabel", tg->tdb->track);
+safef(accName, sizeof(accName), "%s.accLabel", tg->tdb->track);
+safef(sprotName, sizeof(sprotName), "%s.sprotLabel", tg->tdb->track);
+safef(posName, sizeof(posName), "%s.posLabel", tg->tdb->track);
useGene= cartUsualBoolean(cart, geneName, TRUE);
useAcc= cartUsualBoolean(cart, accName, FALSE);
useSprot= cartUsualBoolean(cart, sprotName, FALSE);
usePos= cartUsualBoolean(cart, posName, FALSE);
@@ -5500,9 +5499,9 @@
buffer = needMem(strlen(lf->name) + 1);
strcpy(buffer, lf->name);
if ((char *)NULL != (ptr = strchr(buffer, '.')))
*ptr = 0;
- if (!startsWith("blastDm", tg->tdb->tableName))
+ if (!startsWith("blastDm", tg->tdb->track))
safef(query, sizeof(query), "select geneId, refPos, extra1 from %s where acc = '%s'", blastRef, buffer);
else
safef(query, sizeof(query), "select geneId, refPos from %s where acc = '%s'", blastRef, buffer);
sr = sqlGetResult(conn, query);
@@ -5566,9 +5565,9 @@
void loadRefGene(struct track *tg)
/* Load up RefSeq known genes. */
{
enum trackVisibility vis = tg->visibility;
-tg->items = lfFromGenePredInRange(tg, tg->mapName, chromName, winStart, winEnd);
+tg->items = lfFromGenePredInRange(tg, tg->table, chromName, winStart, winEnd);
if (vis != tvDense)
{
lookupRefNames(tg);
}
@@ -5590,9 +5589,9 @@
if (baseColorGetDrawOpt(tg) > baseColorDrawOff)
return tg->ixColor;
-safef(cMode, sizeof(cMode), "%s.cmode", tg->tdb->tableName);
+safef(cMode, sizeof(cMode), "%s.cmode", tg->tdb->track);
colorMode = cartUsualInt(cart, cMode, 0);
switch(colorMode)
{
@@ -5766,9 +5765,9 @@
{
nonCodingTypeIncludeCart[i] = cartUsualBoolean(cart, nonCodingTypeIncludeStrings[i], nonCodingTypeIncludeDefault[i]);
}
/* Convert genePred in window to linked feature */
-tg->items = lfFromGenePredInRange(tg, tg->mapName, chromName, winStart, winEnd);
+tg->items = lfFromGenePredInRange(tg, tg->table, chromName, winStart, winEnd);
/* filter items on selected criteria if filter is available */
filterItems(tg, filterNonCoding, "include");
}
@@ -5808,9 +5807,9 @@
void ensGeneNonCodingMethods(struct track *tg)
/* Make track of Ensembl predictions. */
{
-tg->items = lfFromGenePredInRange(tg, tg->mapName, chromName, winStart, winEnd);
+tg->items = lfFromGenePredInRange(tg, tg->table, chromName, winStart, winEnd);
tg->itemColor = ensGeneNonCodingColor;
tg->loadItems = loadEnsGeneNonCoding;
}
@@ -6019,9 +6018,9 @@
{
struct linkedFeatures *lf = item;
char *name = cloneString(lf->name);
char infoTable[128];
-safef(infoTable, sizeof(infoTable), "%sInfo", tg->mapName);
+safef(infoTable, sizeof(infoTable), "%sInfo", tg->table);
if (hTableExists(database, infoTable))
{
struct sqlConnection *conn = hAllocConn(database);
char *symbol = NULL;
@@ -6119,18 +6118,18 @@
static int scoreMinGrayLevel = 0;
static int cartMinGrayLevel = 0; /* from cart, or trackDb setting */
static float newScoreMin = 0;
-if (tdb->tableName != prevTrackName)
+if (tdb->track != prevTrackName)
{
scoreMinGrayLevel = scoreMin * maxShade/scoreMax;
if (scoreMinGrayLevel <= 0)
scoreMinGrayLevel = 1;
char *setting = trackDbSettingClosestToHome(tdb, MIN_GRAY_LEVEL);
cartMinGrayLevel = cartUsualIntClosestToHome(cart, tdb, FALSE, MIN_GRAY_LEVEL,
setting ? atoi(setting) : scoreMinGrayLevel);
newScoreMin = cartMinGrayLevel * scoreMax/maxShade;
- prevTrackName = tdb->tableName;
+ prevTrackName = tdb->track;
}
if (cartMinGrayLevel != scoreMinGrayLevel)
{
float realScore = (float)(bed->score - scoreMin) / (scoreMax - scoreMin);
@@ -6235,9 +6234,9 @@
Color textColor = hvGfxContrastingColor(hvg, color);
hvGfxTextCentered(hvg, x1, y, w, heightPer, textColor, font, s);
}
mapBoxHgcOrHgGene(hvg, bed->chromStart, bed->chromEnd, x1, y, x2 - x1, heightPer,
- tg->mapName, tg->mapItemName(tg, bed), NULL, directUrl, withHgsid, NULL);
+ tg->track, tg->mapItemName(tg, bed), NULL, directUrl, withHgsid, NULL);
}
}
}
#endif /* GBROWSE */
@@ -6318,9 +6317,9 @@
tfbsConsSitesCutoff =
sqlFloat(cartUsualString(cart,TFBS_SITES_CUTOFF,TFBS_SITES_CUTOFF_DEFAULT));
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
ro = tfbsConsSitesLoad(row+rowOffset);
if (tfbsConsSitesWeightFilterItem(tg,ro,tfbsConsSitesCutoff))
@@ -6340,9 +6339,9 @@
int rowOffset;
char *lastName = NULL;
struct tfbsCons *tfbs, *list = NULL;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
tfbs = tfbsConsLoad(row+rowOffset);
if ((lastName == NULL) || !sameString(lastName, tfbs->name))
@@ -6413,9 +6412,9 @@
color = shadesOfGray[grayInRange(item->gcPpt, 340, 617)];
if (w < 1)
w = 1;
hvGfxBox(hvg, x1, y, w, heightPer, color);
- mapBoxHc(hvg, item->chromStart, item->chromEnd, x1, y, w, heightPer, tg->mapName,
+ mapBoxHc(hvg, item->chromStart, item->chromEnd, x1, y, w, heightPer, tg->track,
item->name, item->name);
if (isFull)
y += lineHeight;
}
@@ -6712,9 +6711,9 @@
static void loadSimpleNucDiff(struct track *tg)
/* Load up simple diffs from database table to track items. */
{
-bedLoadItem(tg, tg->mapName, (ItemLoader)simpleNucDiffLoad);
+bedLoadItem(tg, tg->table, (ItemLoader)simpleNucDiffLoad);
}
static char *simpleNucDiffName(struct track *tg, void *item)
/* Return name of simpleDiff item. */
@@ -6755,9 +6754,9 @@
void loadSimpleRepeats(struct track *tg)
/* Load up simpleRepeats from database table to track items. */
{
-bedLoadItem(tg, tg->mapName, (ItemLoader)simpleRepeatLoad);
+bedLoadItem(tg, tg->table, (ItemLoader)simpleRepeatLoad);
}
void freeSimpleRepeats(struct track *tg)
/* Free up isochore items. */
@@ -6782,9 +6781,9 @@
void loadCpgIsland(struct track *tg)
/* Load up simpleRepeats from database table to track items. */
{
-bedLoadItem(tg, tg->mapName, (ItemLoader)cpgIslandLoad);
+bedLoadItem(tg, tg->table, (ItemLoader)cpgIslandLoad);
}
void freeCpgIsland(struct track *tg)
/* Free up isochore items. */
@@ -6829,9 +6828,9 @@
char **row;
struct gcPercent *itemList = NULL, *item;
char query[256];
-sprintf(query, "select * from %s where chrom = '%s' and chromStart<%u and chromEnd>%u", tg->mapName,
+sprintf(query, "select * from %s where chrom = '%s' and chromStart<%u and chromEnd>%u", tg->table,
chromName, winEnd, winStart);
/* Get the frags and load into tg->items. */
sr = sqlGetResult(conn, query);
@@ -7356,9 +7355,9 @@
void xenoMrnaMethods(struct track *tg)
/* Fill in custom parts of xeno mrna alignments. */
{
tg->itemName = xenoMrnaName;
-tg->extraUiData = newMrnaUiData(tg->mapName, TRUE);
+tg->extraUiData = newMrnaUiData(tg->track, TRUE);
tg->totalHeight = tgFixedTotalHeightUsingOverflow;
}
void xenoRefGeneMethods(struct track *tg)
@@ -7372,9 +7371,9 @@
void mrnaMethods(struct track *tg)
/* Make track of mRNA methods. */
{
-tg->extraUiData = newMrnaUiData(tg->mapName, FALSE);
+tg->extraUiData = newMrnaUiData(tg->track, FALSE);
}
char *interProName(struct track *tg, void *item)
{
@@ -7399,9 +7398,9 @@
void estMethods(struct track *tg)
/* Make track of EST methods - overrides color handler. */
{
tg->drawItems = linkedFeaturesAverageDenseOrientEst;
-tg->extraUiData = newMrnaUiData(tg->mapName, FALSE);
+tg->extraUiData = newMrnaUiData(tg->track, FALSE);
tg->totalHeight = tgFixedTotalHeightUsingOverflow;
}
#endif /* GBROWSE */
@@ -8093,9 +8092,9 @@
}
void loadSynteny(struct track *tg)
{
-bedLoadItem(tg, tg->mapName, (ItemLoader)synteny100000Load);
+bedLoadItem(tg, tg->table, (ItemLoader)synteny100000Load);
slSort(&tg->items, bedCmp);
}
void freeSynteny(struct track *tg)
@@ -8140,9 +8139,9 @@
char *optionStr ;
tg->loadItems = loadMouseOrtho;
tg->freeItems = freeMouseOrtho;
-safef( option, sizeof(option), "%s.color", tg->mapName);
+safef( option, sizeof(option), "%s.color", tg->track);
optionStr = cartUsualString(cart, option, "on");
if( sameString( optionStr, "on" )) /*use anti-aliasing*/
tg->itemColor = mouseOrthoItemColor;
else
@@ -8187,9 +8186,9 @@
char *optionStr ;
tg->loadItems = loadHumanParalog;
tg->freeItems = freeHumanParalog;
-safef( option, sizeof(option), "%s.color", tg->mapName);
+safef( option, sizeof(option), "%s.color", tg->track);
optionStr = cartUsualString(cart, option, "on");
if( sameString( optionStr, "on" )) /*use anti-aliasing*/
tg->itemColor = humanParalogItemColor;
else
@@ -8349,9 +8348,9 @@
struct ensPhusionBlast *epb;
char *ptr;
char buf[16];
-bedLoadItem(tg, tg->mapName, (ItemLoader)ensPhusionBlastLoad);
+bedLoadItem(tg, tg->table, (ItemLoader)ensPhusionBlastLoad);
// for name, append abbreviated starting position to the xeno chrom:
for (epb=tg->items; epb != NULL; epb=epb->next)
{
ptr = strchr(epb->name, '.');
@@ -8412,9 +8411,9 @@
struct bactigPos *bactigList = NULL, *bactig;
int rowOffset;
/* Get the bactigs and load into tg->items. */
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd,
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,
NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
bactig = bactigPosLoad(row+rowOffset);
@@ -8936,9 +8935,9 @@
static struct trackDb *rGetTdbNamed(struct trackDb *tdb, char *name)
/* Return tdb of given name in self or children. */
{
-if (sameString(name, tdb->tableName))
+if (sameString(name, tdb->track))
return tdb;
struct trackDb *child;
for (child = tdb->subtracks; child != NULL; child = child->next)
{
@@ -8952,12 +8951,12 @@
static struct trackDb *getSubtrackTdb(struct track *subtrack)
/* If subtrack->tdb is actually the composite tdb, return the tdb for
* the subtrack so we can see its settings. */
{
-struct trackDb *subTdb = rGetTdbNamed(subtrack->tdb, subtrack->mapName);
+struct trackDb *subTdb = rGetTdbNamed(subtrack->tdb, subtrack->track);
if (subTdb == NULL)
errAbort("Can't find tdb for subtrack %s -- was getSubtrackTdb called on "
- "non-subtrack?", subtrack->mapName);
+ "non-subtrack?", subtrack->track);
return subTdb;
}
static bool subtrackEnabledInTdb(struct track *subtrack)
@@ -8985,9 +8984,9 @@
if (subtrack->limitedVisSet && subtrack->limitedVis == tvHide)
return FALSE;
bool enabledInTdb = subtrackEnabledInTdb(subtrack);
char option[SMALLBUF];
-safef(option, sizeof(option), "%s_sel", subtrack->mapName);
+safef(option, sizeof(option), "%s_sel", subtrack->track);
boolean enabled = cartUsualBoolean(cart, option, enabledInTdb);
/* Remove redundant cart settings to avoid cart bloat. */
if (enabled == enabledInTdb)
{
@@ -9085,9 +9084,9 @@
struct sqlResult *sr;
char **row;
int rowOffset;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
bed = bedLoadN(row+rowOffset, 15);
slAddHead(&list, bed);
@@ -9418,9 +9417,9 @@
/* Load up pgSnp (personal genome SNP) type tracks */
{
char query[256];
struct sqlConnection *conn = hAllocConn(database);
-safef(query, sizeof(query), "select * from %s where chrom = '%s' and chromStart < %d and chromEnd > %d", tg->mapName, chromName, winEnd, winStart);
+safef(query, sizeof(query), "select * from %s where chrom = '%s' and chromStart < %d and chromEnd > %d", tg->table, chromName, winEnd, winStart);
tg->items = pgSnpLoadByQuery(conn, query);
/* base coloring/display decision on count of items */
tg->customInt = slCount(tg->items);
hFreeConn(&conn);
@@ -9450,9 +9449,9 @@
if (sameString(el->alleleFreq, "") || sameString(freq[i], "0"))
freq[i] = "?";
dyStringPrintf(ds, "%s:%s ", all[i], freq[i]);
}
-mapBoxHgcOrHgGene(hvg, start, end, x, y, width, height, tg->mapName,
+mapBoxHgcOrHgGene(hvg, start, end, x, y, width, height, tg->track,
mapItemName, ds->string, directUrl, withHgsid, NULL);
freeDyString(&ds);
}
@@ -9579,19 +9578,19 @@
char **row;
int rowOffset;
struct bed *bed;
struct linkedFeaturesSeries *lfsList = NULL, *lfs;
-/* Use tg->tdb->tableName because subtracks inherit composite track's tdb
+/* Use tg->tdb->track because subtracks inherit composite track's tdb
* by default, and the variable is named after the composite track. */
char *scoreFilterClause = getScoreFilterClause(cart, tg->tdb,NULL);
if (scoreFilterClause != NULL)
{
- sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd,scoreFilterClause, &rowOffset);
+ sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,scoreFilterClause, &rowOffset);
freeMem(scoreFilterClause);
}
else
{
- sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+ sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
}
while ((row = sqlNextRow(sr)) != NULL)
{
bed = bedLoadN(row+rowOffset, 14);
@@ -9668,16 +9667,16 @@
struct linkedFeatures *lf = item;
struct sqlConnection *conn = hAllocConn(database);
char query[512];
safef(query, sizeof(query), "select pubmedId from %s where name = '%s'",
- tg->tdb->tableName, lf->name);
+ tg->tdb->table, lf->name);
char buf[32];
char *pmId = sqlQuickQuery(conn, query, buf, sizeof(buf));
hFreeConn(&conn);
if (filterPmIds == NULL)
{
char cartVarName[256];
- safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tg->tdb->tableName);
+ safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tg->tdb->track);
filterPmIds = cartOptionalSlNameList(cart, cartVarName);
}
return slNameInList(filterPmIds, pmId);
}
@@ -9686,11 +9685,11 @@
/* Load Database of Genomic Variants items, filtering by pubmedId if specified. */
{
loadBed9(tg);
char cartVarName[256];
-safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterType", tg->tdb->tableName);
+safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterType", tg->tdb->track);
char *incOrExc = cartUsualString(cart, cartVarName, NULL);
-safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tg->tdb->tableName);
+safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tg->tdb->track);
struct slName *filterPmIds = cartOptionalSlNameList(cart, cartVarName);
if (isNotEmpty(incOrExc) && filterPmIds != NULL)
filterItems(tg, dgvFilter, incOrExc);
}
@@ -9704,9 +9703,9 @@
void loadGenePred(struct track *tg)
/* Convert gene pred in window to linked feature. */
{
-tg->items = lfFromGenePredInRange(tg, tg->mapName, chromName, winStart, winEnd);
+tg->items = lfFromGenePredInRange(tg, tg->table, chromName, winStart, winEnd);
/* filter items on selected criteria if filter is available */
filterItems(tg, genePredClassFilter, "include");
}
@@ -9771,9 +9770,9 @@
char *sep = ",";
if (geneClasses == NULL)
errAbort(
- "Track %s missing required trackDb setting: geneClasses", tg->mapName);
+ "Track %s missing required trackDb setting: geneClasses", tg->track);
if (geneClasses)
{
gClassesClone = cloneString(geneClasses);
classCt = chopLine(gClassesClone, classes);
@@ -9856,9 +9855,9 @@
static void gencodeIntronLoadItems(struct track *tg)
/* Load up track items. */
{
-bedLoadItem(tg, tg->mapName, (ItemLoader)gencodeIntronLoad);
+bedLoadItem(tg, tg->table, (ItemLoader)gencodeIntronLoad);
}
static void gencodeIntronMethods(struct track *tg)
/* Load up custom methods for ENCODE Gencode intron validation track */
@@ -9889,9 +9888,9 @@
struct sqlResult *sr;
char **row;
int rowOffset;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd,
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,
NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
dless = dlessLoad(row+rowOffset);
@@ -10198,9 +10197,9 @@
Color omiciaColor(struct track *tg, void *item, struct hvGfx *hvg)
/* color by confidence score */
{
struct bed *el = item;
-if (sameString(tg->mapName, "omiciaHand"))
+if (sameString(tg->table, "omiciaHand"))
return hvGfxFindColorIx(hvg, 0, 0, 0);
else if (el->score < 200)
return MG_BLACK;
else if (el->score < 600)
@@ -10247,9 +10246,9 @@
struct sqlResult *sr;
char **row;
int rowOffset;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd, NULL, &rowOffset);
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd, NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
el = protVarPosLoad(row);
slAddHead(&list, el);
@@ -10437,9 +10436,9 @@
struct sqlResult *sr = NULL;
char **row = NULL;
int rowOffset = 0;
-sr = hRangeQuery(conn, tg->mapName, chromName, winStart, winEnd,
+sr = hRangeQuery(conn, tg->table, chromName, winStart, winEnd,
NULL, &rowOffset);
while ((row = sqlNextRow(sr)) != NULL)
{
struct bed12Source *el = bed12SourceLoad(row+rowOffset);
@@ -10594,9 +10593,9 @@
return;
conn = hAllocConn(database);
safef(query, sizeof(query),
- "select offset,fileName from %s where chrom = '%s'", tg->mapName,chromName);
+ "select offset,fileName from %s where chrom = '%s'", tg->table,chromName);
sr = sqlGetResult(conn, query);
if ((row = sqlNextRow(sr)) != NULL)
{
offset = sqlLongLong(row[0]);
@@ -10769,9 +10768,9 @@
}
else if (sameWord(type, "axt"))
{
if (wordCount < 2)
- errAbort("Expecting 2 words in axt track type for %s", tdb->tableName);
+ errAbort("Expecting 2 words in axt track type for %s", tdb->track);
axtMethods(track, words[1]);
}
else if (sameWord(type, "expRatio"))
{
@@ -10835,9 +10834,9 @@
( limitedVisFromComposite(subtrack) != tvHide))
{
lastTime = clock1000();
if (!subtrack->loadItems) // This could happen if track type has no handler (eg, for new types)
- errAbort("Error: No loadItems() handler for subtrack (%s) of composite track (%s) (is this a new track 'type'?)\n", subtrack->mapName, track->mapName);
+ errAbort("Error: No loadItems() handler for subtrack (%s) of composite track (%s) (is this a new track 'type'?)\n", subtrack->track, track->track);
subtrack->loadItems(subtrack);
if (measureTiming)
{
thisTime = clock1000();
@@ -10913,9 +10912,9 @@
(compositeTrack != NULL && rStringIn("smart", compositeTrack)))
smart = TRUE;
/* setup function handlers for composite track */
-handler = lookupTrackHandler(tdb->tableName);
+handler = lookupTrackHandler(tdb->table);
if (smart && handler != NULL)
/* handles it's own load and height */
handler(track);
else
@@ -10948,21 +10947,22 @@
* edits to trackDb.ra files - that is putting in an explicit setting when you want
* this behavior rather than relying on absence of an overloaded setting. */
subtrack = trackFromTrackDb(tdb);
subtrack->tdb = subTdb;
- handler = lookupTrackHandler(tdb->tableName);
+ handler = lookupTrackHandler(tdb->table);
}
else
{
subtrack = trackFromTrackDb(subTdb);
- handler = lookupTrackHandler(subTdb->tableName);
+ handler = lookupTrackHandler(subTdb->table);
}
if (handler != NULL)
handler(subtrack);
/* Add subtrack settings (table, colors, labels, vis & pri). This is only
* needed in the "not noInherit" case that hopefully will go away soon. */
- subtrack->mapName = subTdb->tableName;
+ subtrack->track = subTdb->track;
+ subtrack->table = subTdb->table;
subtrack->shortLabel = subTdb->shortLabel;
subtrack->longLabel = subTdb->longLabel;
subtrack->priority = subTdb->priority;
@@ -11002,9 +11002,10 @@
if (!tdb)
return NULL;
track = trackNew();
-track->mapName = cloneString(tdb->tableName);
+track->track = cloneString(tdb->track);
+track->table = cloneString(tdb->table);
track->visibility = tdb->visibility;
track->shortLabel = cloneString(tdb->shortLabel);
track->longLabel = cloneString(tdb->longLabel);
track->color.r = tdb->colorR;
@@ -11017,9 +11018,9 @@
track->heightPer = track->lineHeight - 1;
track->private = tdb->private;
track->defaultPriority = tdb->priority;
char lookUpName[256];
-safef(lookUpName, sizeof(lookUpName), "%s.priority", tdb->tableName);
+safef(lookUpName, sizeof(lookUpName), "%s.priority", tdb->track);
tdb->priority = cartUsualDouble(cart, lookUpName, tdb->priority);
track->priority = tdb->priority;
track->groupName = cloneString(tdb->grp);
/* save default priority and group so we can reset it later */