INNER CODE UNIT · Python

intervals

cbg-ethz/V-pipe · workflow/scripts/alignmentIntervals.py:160

        intervals = intervals_old + intervals_new
        intervals_sorted = sorted(intervals, key=lambda tup: tup[0])
        intervals_merged = []

        for interval in intervals_sorted:
            if not intervals_merged:
                intervals_merged.append(interval)
            else:
                last = intervals_merged[-1]
                # Test for overlap between current interval and the last one.
                # We know that last[0] <= interval[0]
                if interval[0] <= last[1]:
                    upper_bound = max(last[1], interval[1])
                    intervals_merged[-1] = (last[0], upper_bound)
                else:
                    intervals_merged.append(interval)

        return intervals_merged

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…