Low-level operationsΒΆ

We can use the BedTool.as_intervalfile() method to return an IntervalFile instance. This class provides low-level support to the BEDTools C++ API.

The method IntervalFile.all_hits() takes a single Interval as the query and returns a list of all features in the IntervalFile that intersect:

>>> a = pybedtools.example_bedtool('a.bed')
>>> ivf = a.as_intervalfile()
>>> query = a[2]
>>> ivf.all_hits(query)
[Interval(chr1:100-200), Interval(chr1:150-500)]

Similarly, we can just return if there were any hits, a much faster operation:

>>> ivf.any_hits(query)
1

Or count how many hits:

>>> ivf.count_hits(query)
2

See the docstrings for IntervalFile.all_hits(), IntervalFile.any_hits(), and IntervalFile.count_hits() for more, including stranded hits and restricting hits to a specific overlap.

Note

These methods are now available as BedTool methods, BedTool.all_hits(), BedTool.any_hits(), and BedTool.count_hits()