ailist.LabeledIntervalArray.intersect_from_LabeledIntervalArray#

LabeledIntervalArray.intersect_from_LabeledIntervalArray(self, LabeledIntervalArray ail_query, return_intervals=True, return_index=False)#

Find interval indices overlapping given ranges

Parameters:
ail_query : LabeledIntervalArray

Intervals to query

Returns:

ref_indexnp.ndarray{int}

Overlapping interval indices from IntervalArray

query_indexnp.ndarray{int}

Overlapping interval indices from query IntervalArray

See also

LabeledIntervalArray.construct

Construct IntervalArray, required to call IntervalArray.intersect

LabeledIntervalArray.add

Add interval to IntervalArray

LabeledIntervalArray.intersect

Find intervals overlapping given range

LabeledIntervalArray.intersect_from_array

Find interval indices overlapping given range

Examples

>>> from ailist import LabeledIntervalArray
>>> ail1 = IntervalArray()
>>> ail1.add(1, 2)
>>> ail1.add(3, 4)
>>> ail1.add(2, 6)
>>> ail1
IntervalArray
  range: (1-6)
   (1-2, 0)
   (3-4, 1)
   (2-6, 2)
>>> ail2 = LabeledIntervalArray()
>>> ail2.add(1, 2, "a")
>>> ail2.add(3, 6, "b")
>>> ail2.add(3, 6, "a")
>>> ail2
IntervalArray
  range: (1-6)
    (1-2, 0)
    (3-6, 1)
>>> q = ail1.intersect_from_LabeledIntervalArray(ail2)
>>> q
(array([0, 1, 1]), array([0, 2, 1]))