src/hg/hgTables/wiggle.c 1.73
1.73 2009/05/20 20:59:57 mikep
Libified findTdbForTable, findTypeForTable, trackIsType, hIsBigBed from hgTables so that other code can easily determine if a track is a bigBed.
Index: src/hg/hgTables/wiggle.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTables/wiggle.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -b -B -U 4 -r1.72 -r1.73
--- src/hg/hgTables/wiggle.c 10 Apr 2009 20:04:30 -0000 1.72
+++ src/hg/hgTables/wiggle.c 20 May 2009 20:59:57 -0000 1.73
@@ -34,9 +34,9 @@
*/
#define WIG_INIT \
if (isCustomTrack(table)) \
{ \
- ct = lookupCt(table); \
+ ct = ctLookupName(table); \
isCustom = TRUE; \
if (! ct->wiggle) \
errAbort("called to work on a custom track '%s' that isn't wiggle data ?", table); \
\
@@ -520,9 +520,9 @@
wds->setSpanConstraint(wds,spanConstraint);
else
{
struct sqlConnection *trashConn = hAllocConn(CUSTOM_TRASH);
- struct trackDb *tdb = findTdbForTable(database, curTrack, table);
+ struct trackDb *tdb = findTdbForTable(database, curTrack, table, ctLookupName);
unsigned span = minSpan(trashConn, splitTableOrFileName,
region->chrom, region->start, region->end, cart, tdb);
wds->setSpanConstraint(wds, span);
hFreeConn(&trashConn);
@@ -543,9 +543,9 @@
{
/* XXX TBD, watch for a span limit coming in as an SQL filter */
if (intersectBedList)
{
- struct trackDb *tdb = findTdbForTable(database, curTrack, table);
+ struct trackDb *tdb = findTdbForTable(database, curTrack, table, ctLookupName);
unsigned span;
span = minSpan(conn, splitTableOrFileName, region->chrom,
region->start, region->end, cart, tdb);
wds->setSpanConstraint(wds, span);
@@ -698,9 +698,9 @@
{
struct trackDb *tdb;
if (isCustomTrack(table))
{
- struct customTrack *ct = lookupCt(table);
+ struct customTrack *ct = ctLookupName(table);
tdb = ct->tdb;
conn = hAllocConn(CUSTOM_TRASH);
}
else
@@ -773,9 +773,9 @@
if (db != NULL && table != NULL)
{
if (isCustomTrack(table))
{
- struct customTrack *ct = lookupCt(table);
+ struct customTrack *ct = ctLookupName(table);
if (ct != NULL && ct->wiggle)
typeWiggle = TRUE;
}
else
@@ -790,9 +790,9 @@
boolean isBedGraph(char *table)
/* Return TRUE if table is specified as a bedGraph in the current database's
* trackDb. */
{
-return trackIsType(table, "bedGraph");
+return trackIsType(database, table, NULL, "bedGraph", ctLookupName);// Do we need to get parent track here?
}
struct bed *getWiggleAsBed(
char *db, char *table, /* Database and table. */
@@ -840,9 +840,9 @@
if (ct->dbTrack)
{
unsigned span = 0;
struct sqlConnection *trashConn = hAllocConn(CUSTOM_TRASH);
- struct trackDb *tdb = findTdbForTable(database, curTrack, table);
+ struct trackDb *tdb = findTdbForTable(database, curTrack, table, ctLookupName);
valuesMatched = getWigglePossibleIntersection(wds, region,
CUSTOM_TRASH, table2, &intersectBedList,
splitTableOrFileName, operations);
span = minSpan(trashConn, splitTableOrFileName, region->chrom,
@@ -862,9 +862,9 @@
errAbort( "getWiggleAsBed: NULL conn given for database table");
if (hFindSplitTable(database, region->chrom, table, splitTableOrFileName, &hasBin))
{
- struct trackDb *tdb = findTdbForTable(database, curTrack, table);
+ struct trackDb *tdb = findTdbForTable(database, curTrack, table, ctLookupName);
unsigned span = 0;
/* XXX TBD, watch for a span limit coming in as an SQL filter */
span = minSpan(conn, splitTableOrFileName, region->chrom,
@@ -1023,9 +1023,9 @@
{
if (ct->dbTrack)
{
struct sqlConnection *trashConn = hAllocConn(CUSTOM_TRASH);
- struct trackDb *tdb = findTdbForTable(database, curTrack, table);
+ struct trackDb *tdb = findTdbForTable(database, curTrack, table, ctLookupName);
span = minSpan(trashConn, splitTableOrFileName, region->chrom,
region->start, region->end, cart, tdb);
wds->setSpanConstraint(wds, span);
valuesMatched = getWigglePossibleIntersection(wds, region,