ailist.LabeledIntervalArray.has_hit#

LabeledIntervalArray.has_hit(self, start, end, label)#

Find interval indices overlapping given ranges

Parameters:
starts : int | numpy.ndarray {long}

Start positions of intervals

ends : int | numpy.ndarray {long}

End positions of intervals

labels : int | numpy.ndarray {str}

Labels of intervals

Returns:

  • has_hitnp.ndarray {bool}

    Bool array indicated overlap detected

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

See also

LabeledIntervalArray.construct

Construct LabeledIntervalArray, required to call LabeledIntervalArray.intersect

LabeledIntervalArray.add

Add interval to LabeledIntervalArray

LabeledIntervalArray.intersect

Find intervals overlapping given range

LabeledIntervalArray.intersect_index

Find interval indices overlapping given range

Examples

>>> from aiarray import LabeledIntervalArray
>>> ail1 = LabeledIntervalArray()
>>> ail1.add(1, 2, 'a')
>>> ail1.add(3, 4, 'a')
>>> ail1.add(2, 6, 'a')
>>> ail1
LabeledIntervalArray
  range: (1-6)
   (1-2, 'a')
   (3-4, 'a')
   (2-6, 'a')
>>> ail2 = LabeledIntervalArray()
>>> ail2.add(1, 2, 'a')
>>> ail2.add(3, 6, 'a')
>>> ail2
LabeledIntervalArray
  range: (1-6)
    (1-2, 'a')
    (3-6, 'a')
>>> q = ail1.intersect_from_array(ail2)
>>> q
(array([2, 1]), array([]))