37a331259beee4fa8ebe7aa7f4d5b9d765a14c7f
kent
Thu Jan 6 15:45:34 2011 -0800
Starting to make hgHubConnect talk with hgTracks and hgTrackUi. Right now the tracks appear on the track list, but are not displaying properly.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 60a0982..a327fc4 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -28,30 +28,31 @@
#include "hgTracks.h"
#include "trashDir.h"
#include "grp.h"
#include "versionInfo.h"
#include "web.h"
#include "cds.h"
#include "cutterTrack.h"
#include "wikiTrack.h"
#include "ctgPos.h"
#include "bed.h"
#include "bigBed.h"
#include "bigWig.h"
#include "bedCart.h"
#include "customTrack.h"
#include "trackHub.h"
+#include "hubConnect.h"
#include "cytoBand.h"
#include "ensFace.h"
#include "liftOver.h"
#include "pcrResult.h"
#include "wikiLink.h"
#include "jsHelper.h"
#include "mafTrack.h"
#include "hgConfig.h"
#include "encode.h"
#include "agpFrag.h"
#include "imageV2.h"
#include "suggest.h"
#include "searchTracks.h"
static char const rcsid[] = "$Id: doMiddle.c,v 1.1651 2010/06/11 17:53:06 larrym Exp $";
@@ -3313,84 +3314,68 @@
{
if (wordCount != 3)
errAbort("Expecting 3 words in pix line");
trackLayoutSetPicWidth(&tl, words[2]);
}
}
}
for (ct = ctList; ct != NULL; ct = ct->next)
{
hasCustomTracks = TRUE;
tg = newCustomTrack(ct);
slAddHead(pTrackList, tg);
}
}
-void addTracksFromTrackHub(char *hubName, char *hubUrl, struct track **pTrackList,
+static void addTracksFromTrackHub(int id, char *hubUrl, struct track **pTrackList,
struct trackHub **pHubList)
/* Load up stuff from data hub and append to list. The hubUrl points to
* a trackDb.ra format file. */
{
/* Load trackDb.ra file and make it into proper trackDb tree */
-struct trackHub *hub = trackHubOpen(hubUrl);
+char hubName[8];
+safef(hubName, sizeof(hubName), "%d",id);
+struct trackHub *hub = trackHubOpen(hubUrl, hubName);
if (hub != NULL)
{
struct trackHubGenome *hubGenome = trackHubFindGenome(hub, database);
- hub->name = catTwoStrings("hub_", hubName);
if (hubGenome != NULL)
{
- struct trackDb *tdb, *tdbList = trackHubTracksForGenome(hub, hubGenome);
+ struct trackDb *tdbList = trackHubTracksForGenome(hub, hubGenome);
uglyf("Got %d tracks from %s@%s
\n", slCount(tdbList), hubName, hubUrl);
- trackDbAddTableField(tdbList);
- trackHubAddNamePrefix(hubName, tdbList);
- trackHubAddGroupName(hub->name, tdbList);
- uglyf("added hub_%s_ prefix to track list
\n", hubName);
-
- for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
- {
- trackDbFieldsFromSettings(tdb);
- trackDbPolish(tdb);
- }
- uglyf("polished tracks
\n");
-
trackDbLinkUpGenerations(tdbList);
uglyf("About to addTdbListToTrackList
\n");
uglyOne = TRUE;
addTdbListToTrackList(tdbList, NULL, pTrackList);
if (tdbList != NULL)
slAddHead(pHubList, hub);
}
}
}
void loadTrackHubs(struct track **pTrackList, struct trackHub **pHubList)
/* Load up stuff from data hubs and append to lists. */
{
-char *trackHubs = cloneString(cartUsualString(cart, "trackHubs", NULL));
-uglyf("trackHubs=%s\n
\n", trackHubs);
-if (trackHubs == NULL)
- return;
-struct slPair *hubList = slPairFromString(trackHubs);
+struct hubConnectStatus *hub, *hubList = hubConnectStatusFromCart(cart);
uglyf("Got %d hubs
\n", slCount(hubList));
-struct slPair *hub;
for (hub = hubList; hub != NULL; hub = hub->next)
{
- addTracksFromTrackHub(hub->name, hub->val, pTrackList, pHubList);
+ addTracksFromTrackHub(hub->id, hub->hubUrl, pTrackList, pHubList);
}
-slPairFreeValsAndList(&hubList);
+hubConnectStatusFreeList(&hubList);
}
boolean restrictionEnzymesOk()
/* Check to see if it's OK to do restriction enzymes. */
{
return (hTableExists("hgFixed", "cutters") &&
hTableExists("hgFixed", "rebaseRefs") &&
hTableExists("hgFixed", "rebaseCompanies"));
}
void fr2ScaffoldEnsemblLink(char *archive)
/* print out Ensembl link to appropriate scaffold there */
{
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr = NULL;