dc6005af50417e5d8dfc693aa133afdd7079acdc
kent
  Thu Feb 3 13:44:57 2011 -0800
Adding bam support to data hubs in hgTracks and hgc.
diff --git src/hg/hgc/bamClick.c src/hg/hgc/bamClick.c
index a02a019..0015d36 100644
--- src/hg/hgc/bamClick.c
+++ src/hg/hgc/bamClick.c
@@ -169,43 +169,45 @@
 
 #if (defined USE_BAM && defined KNETFILE_HOOKS)
 knetUdcInstall();
 if (udcCacheTimeout() < 300)
     udcSetCacheTimeout(300);
 #endif//def USE_BAM && KNETFILE_HOOKS
 
 char varName[1024];
 safef(varName, sizeof(varName), "%s_pairEndsByName", tdb->track);
 boolean isPaired = cartUsualBoolean(cart, varName,
 				    (trackDbSetting(tdb, "pairEndsByName") != NULL));
 char position[512];
 safef(position, sizeof(position), "%s:%d-%d", seqName, winStart, winEnd);
 struct hash *pairHash = isPaired ? hashNew(0) : NULL;
 struct bamTrackData btd = {start, item, pairHash};
-char *fileName;
+char *fileName = trackDbSetting(tdb, "bigDataUrl");
+if (fileName == NULL)
+    {
 if (isCustomTrack(tdb->table))
     {
-    fileName = trackDbSetting(tdb, "bigDataUrl");
-    if (fileName == NULL)
-	errAbort("doBamDetails: can't find bigDataUrl for custom track %s", tdb->track);
+	errAbort("bamLoadItemsCore: can't find bigDataUrl for custom track %s", tdb->track);
     }
 else
     {
     struct sqlConnection *conn = hAllocConnTrack(database, tdb);
     fileName = bamFileNameFromTable(conn, tdb->table, seqName);
     hFreeConn(&conn);
     }
+    }
+
 bamFetch(fileName, position, oneBam, &btd);
 if (isPaired)
     {
     char *setting = trackDbSettingOrDefault(tdb, "pairSearchRange", "20000");
     int pairSearchRange = atoi(setting);
     if (pairSearchRange > 0 && hashNumEntries(pairHash) > 0)
 	{
 	// Repeat the search for item in a larger window:
 	struct hash *newPairHash = hashNew(0);
 	btd.pairHash = newPairHash;
 	safef(position, sizeof(position), "%s:%d-%d", seqName,
 	      max(0, winStart-pairSearchRange), winEnd+pairSearchRange);
 	bamFetch(fileName, position, oneBam, &btd);
 	}
     struct hashEl *hel;