def make_range(clusters, extend=0): """ Convert to interval ends from a list of anchors extend modifies the xmax, ymax boundary of the box, which can be positive or negative very useful when we want to make the range as fuzzy as we specify """ eclusters = [] for cluster in clusters: xlist, ylist, scores = zip(*cluster) score = _score(cluster) xchr, xmin = min(xlist) xchr, xmax = max(xlist) ychr, ymin = min(ylist) ychr, ymax = max(ylist) # allow fuzziness to the boundary xmax += extend ymax += extend # because extend can be negative values, we don't want it to be less than min if xmax < xmin: xmin, xmax = xmax, xmin if ymax < ymin: ymin, ymax = ymax, ymin eclusters.append(((xchr, xmin, xmax), \ (ychr, ymin, ymax), score)) return eclusters
def make_range(clusters, extend=0): """ Convert to interval ends from a list of anchors extend modifies the xmax, ymax boundary of the box, which can be positive or negative very useful when we want to make the range as fuzzy as we specify """ eclusters = [] for cluster in clusters: xlist, ylist, scores = zip(*cluster) score = _score(cluster) xchr, xmin = min(xlist) xchr, xmax = max(xlist) ychr, ymin = min(ylist) ychr, ymax = max(ylist) # allow fuzziness to the boundary xmax += extend ymax += extend # because extend can be negative values, we don't want it to be less than min if xmax < xmin: xmin, xmax = xmax, xmin if ymax < ymin: ymin, ymax = ymax, ymin eclusters.append(((xchr, xmin, xmax), (ychr, ymin, ymax), score)) return eclusters