e2d7638b2848fe00bbf9b66bca395ec68a9ee9e6
braney
  Thu Oct 15 16:22:06 2015 -0700
first cut at bigMaf support #15935

diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index 4222770..c502f21 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -683,30 +683,38 @@
         hub->url, genome->name, tdb->track);
 }
 
 static void expandBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome,
 	struct trackDb *tdb)
 /* Expand bigDataUrls so that no longer relative to genome->trackDbFile */
 {
 struct hashEl *hel = hashLookup(tdb->settingsHash, "bigDataUrl");
 if (hel != NULL)
     {
     char *oldVal = hel->val;
     hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal);
     freeMem(oldVal);
     }
 
+hel = hashLookup(tdb->settingsHash, "summary");
+if (hel != NULL)
+    {
+    char *oldVal = hel->val;
+    hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal);
+    freeMem(oldVal);
+    }
+
 hel = hashLookup(tdb->settingsHash, "searchTrix");
 if (hel != NULL)
     {
     char *oldVal = hel->val;
     hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal);
     freeMem(oldVal);
     }
 }
 
 struct trackHubGenome *trackHubFindGenome(struct trackHub *hub, char *genomeName)
 /* Return trackHubGenome of given name associated with hub.  Return NULL if no
  * such genome. */
 {
 return hashFindVal(hub->genomeHash, genomeName);
 }
@@ -741,30 +749,31 @@
 	errAbort("Parent track %s is not compositeTrack, container, or superTrack in hub %s genome %s", 
 		tdb->track, hub->url, genome->name);
 	}
     }
 else
     {
     /* Check type field. */
     char *type = requiredSetting(hub, genome, tdb, "type");
     if (!(startsWithWord("bigWig", type) ||
           startsWithWord("bigBed", type) ||
 #ifdef USE_HAL
           startsWithWord("halSnake", type) ||
 #endif
           startsWithWord("vcfTabix", type) ||
           startsWithWord("bigPsl", type) ||
+          startsWithWord("bigMaf", type) ||
           startsWithWord("bigGenePred", type) ||
           startsWithWord("bam", type)))
 	{
 	errAbort("Unsupported type '%s' in hub %s genome %s track %s", type,
 	    hub->url, genome->name, tdb->track);
 	}
 
     requiredSetting(hub, genome, tdb, "bigDataUrl");
     }
 }
 
 static void markContainers( struct trackHub *hub, 
     struct trackHubGenome *genome, struct trackDb *tdbList)
 /* Mark containers that are parents, or have them. */
 {