9020b599f0a4960ef55d43477f28fca83e6dc162
braney
  Thu Feb 7 13:09:41 2019 -0800
add score filtering to interact type

diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c
index 7b4691a..2efc300 100644
--- src/hg/hgTracks/interactTrack.c
+++ src/hg/hgTracks/interactTrack.c
@@ -72,33 +72,42 @@
     // TODO BRANEY: make this behavior generic for bigBeds
     // (bigBedSelectRange)
     tg->drawItems = bigDrawWarning;
     tg->networkErrMsg = "Too many items in display (zoom in)"; 
     tg->totalHeight = bigWarnTotalHeight;
     return;
     }
 
 // filters
 struct interact *inter, *next, *filteredItems = NULL;
 int count = slCount(tg->items);
 
 // exclude if missing endpoint(s) in window
 char *endsVisible = cartUsualStringClosestToHome(cart, tg->tdb, FALSE,
                             INTERACT_ENDS_VISIBLE, INTERACT_ENDS_VISIBLE_DEFAULT);
+char *scoreFilter = cartOrTdbString(cart, tg->tdb, "scoreFilter", NULL);
+int minScore = 0;
+if (scoreFilter)
+    minScore = atoi(scoreFilter);
+
 for (inter = tg->items; inter; inter = next)
     {
     next = inter->next;
+
+    if (inter->score < minScore)
+        continue;
+
     if (differentString(endsVisible, INTERACT_ENDS_VISIBLE_ANY))
         {
         boolean sOnScreen = interactSourceInWindow(inter);
         boolean tOnScreen = interactTargetInWindow(inter);
         if (sameString(endsVisible, INTERACT_ENDS_VISIBLE_TWO))
             {
             if (!(sOnScreen && tOnScreen))
                 continue;
             }
         if (sameString(endsVisible, INTERACT_ENDS_VISIBLE_ONE))
             {
             if (!(sOnScreen || tOnScreen))
                 continue;
             }
         }