0658fac8d5f0ec35d5212eec876c3a2d87bd25ac
braney
  Mon Feb 6 15:46:27 2017 -0800
add the ability to set default labels and the label separator for bigBed
labels

diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c
index 9653b4c..0b4441f 100644
--- src/hg/hgTracks/bigBedTrack.c
+++ src/hg/hgTracks/bigBedTrack.c
@@ -113,39 +113,42 @@
     return NULL;
 char *rest = cloneString(bb->rest);
 char *restFields[1024];
 int restCount = chopTabs(rest, restFields);
 char *field = NULL;
 if (fieldIdx < restCount)
     field = cloneString(restFields[fieldIdx]);
 freeMem(rest);
 return field;
 }
 
 
 char *makeLabel(struct track *track,  struct bigBedInterval *bb)
 // Build a label for a bigBedTrack from the requested label fields.
 {
+char *labelSeparator = trackDbSettingClosestToHome(track->tdb, "labelSeparator");
+if (labelSeparator == NULL)
+    labelSeparator = "/";
 char *restFields[256];
 chopTabs(cloneString(bb->rest), restFields);
 struct dyString *dy = newDyString(128);
 boolean firstTime = TRUE;
 struct slInt *labelInt = track->labelColumns;
 for(; labelInt; labelInt = labelInt->next)
     {
     if (!firstTime)
-        dyStringPrintf(dy, "/");
+        dyStringAppend(dy, labelSeparator);
 
     dyStringPrintf(dy, "%s", restFields[labelInt->val - 3]);
     firstTime = FALSE;
     }
 return dyStringCannibalize(&dy);
 }
 
 void bigBedAddLinkedFeaturesFromExt(struct track *track,
 	char *chrom, int start, int end, int scoreMin, int scoreMax, boolean useItemRgb,
 	int fieldCount, struct linkedFeatures **pLfList, int maxItems)
 /* Read in items in chrom:start-end from bigBed file named in track->bbiFileName, convert
  * them to linkedFeatures, and add to head of list. */
 {
 struct lm *lm = lmInit(0);
 struct trackDb *tdb = track->tdb;