ailist.LabeledIntervalArray.intersect#

LabeledIntervalArray.intersect(self, start, end, label, return_intervals=True, return_index=False)#

Find intervals overlapping given range

Parameters:
start : int | np.ndarray

Start position of query range

end : int | np.ndarray

End position of query range

label : str | np.ndarray

Label of quert range

Returns:

  • overlapsLabeledIntervalArray

    Overlapping intervals

  • .. warning:: – This requires construct() and will run it if not already run. This will re-sort intervals inplace is ail.track_index = False.

See also

LabeledIntervalArray.construct

Construct LabeledIntervalArray, required to call LabeledIntervalArray.intersect

LabeledIntervalArray.add

Add interval to LabeledIntervalArray

LabeledIntervalArray.intersect_index

Find interval indices overlapping given range

LabeledIntervalArray.intersect_from_array

Find interval indices overlapping given ranges

Examples

>>> from ailist import LabeledIntervalArray
>>> ail = LabeledIntervalArray()
>>> ail.add(1, 2, 'a')
>>> ail.add(3, 4, 'a')
>>> ail.add(3, 6, 'a')
>>> ail.add(3, 6, 'b')
>>> ail
LabeledIntervalArray
   (1-2, a)
   (3-4, a)
   (3-6, a)
   (3-6, b)
>>> q = ail.intersect(2, 10, 'a')
>>> q
LabeledIntervalArray
   (3-4, a)
   (3-6, a)